cod5-sdk/deffiles/projectileweapon.gdf
2008-11-20 00:00:00 +00:00

5055 lines
95 KiB
Text

#name "projectileweapon"
#dll "all" "weapon"
#target_dir "weapons/sp/" // target location 1 (single-player)
#target_dir "weapons/mp/" // target location 2 (multi-player)
#target_dir "xmodel/"
#target_dir ""
#target_dir "xanim/"
#file_ext "*"
#version 54
// This tells the configstring converter what the file type identifier should be
enum { "WEAPONFILE" } configstringFileType
// This uses the config string convert's multi-target folder
// mechanism to make the weapon either a single-player weapon
// or a multi-player weapon.
// The first character is used to specify which target folder to go in
enum { "1: Single-Player", "2: Multi-Player" } targetFolder
enum { "projectile", "bomb" } weaponType
enum { "rocketlauncher", "grenade", "pistol" } weaponClass
enum { "rocket_explode", "none", "bullet_small", "bullet_large", "bullet_ap", "shotgun", "grenade_bounce", "grenade_explode", "rifle_grenade", "projectile_dud", "mortar_shell", "tank_shell" } impactType
enum { "None", "Sidewinder", "Hellfire", "Javelin", "Ballistic" } guidedMissileType
enum { "primary", "offhand", "item", "altmode" } inventoryType
float 3000 0 1000000 maxSteeringAccel
string displayName
string AIOverlayDescription
string modeName
enum { "rocketlauncher", "m203", "radio", "none" } playerAnimType
string gunModel
string gunModel2
string gunModel3
string gunModel4
string gunModel5
string gunModel6
string gunModel7
string gunModel8
string gunModel9
string gunModel10
string gunModel11
string gunModel12
string gunModel13
string gunModel14
string gunModel15
string gunModel16
string handModel
int 1 0 1 isHandModelOverridable
string idleAnim
string emptyIdleAnim
string fireAnim
string lastShotAnim
string meleeAnim
string meleeChargeAnim
string reloadAnim
string raiseAnim
string dropAnim
string firstRaiseAnim
string altRaiseAnim
string altDropAnim
string quickRaiseAnim
string quickDropAnim
string emptyRaiseAnim
string emptyDropAnim
string sprintInAnim
string sprintLoopAnim
string sprintOutAnim
string nightVisionWearAnim
string nightVisionRemoveAnim
string adsFireAnim
string adsLastShotAnim
string adsUpAnim
string adsDownAnim
float 1 0 5 moveSpeedScale
float 1 0 5 adsMoveSpeedScale
float 1 0 5 sprintDurationScale
float 0.33 0 1 lowAmmoWarningThreshold
int 0 0 1000 damage
int 0 0 1000 meleeDamage
float 0.1 0 10.0 fireDelay
float 0.25 0.05 10.0 meleeDelay
float 0.0 0.0 10.0 meleeChargeDelay
float 0.1 0.0 10.0 fireTime
float 0.7 0.0 10.0 meleeTime
float 0.0 0.0 10.0 meleeChargeTime
float 2.0 0.0 10.0 reloadTime
float 0.0 0.0 10.0 reloadShowRocketTime
float 0 0.0 10.0 reloadAddTime
float 0.5 0.0 10.0 dropTime
float 0.5 0.0 10.0 raiseTime
float 0.5 0.0 10.0 altDropTime
float 0.5 0.0 10.0 altRaiseTime
float 0.5 0.0 10.0 quickDropTime
float 0.5 0.0 10.0 quickRaiseTime
float 0.5 0.0 10.0 firstRaiseTime
float 0.5 0.0 10.0 emptyDropTime
float 0.5 0.0 10.0 emptyRaiseTime
float 0.5 0.0 10.0 sprintInTime
float 0.5 0.0 10.0 sprintLoopTime
float 0.5 0.0 10.0 sprintOutTime
float 0.5 0.0 10.0 nightVisionWearTime
float 0.0 0.0 10.0 nightVisionWearTimeFadeOutEnd
float 0.0 0.0 10.0 nightVisionWearTimePowerUp
float 0.5 0.0 10.0 nightVisionRemoveTime
float 0.0 0.0 10.0 nightVisionRemoveTimePowerDown
float 0.0 0.0 10.0 nightVisionRemoveTimeFadeInStart
int 0 0 1 clipOnly
float 0.3 0 10 adsTransInTime
float 0.6 0 10 adsTransOutTime
float 65 10 160 adsZoomFov
float 40 10 160 adsZoomGunFov
float 0.5 0 1 adsZoomInFrac
float 0.1 0 1 adsZoomOutFrac
string adsOverlayShader
enum { "none", "crosshair" } adsOverlayReticle
enum { "none", "Javelin" } adsOverlayInterface
int 320 1 640 adsOverlayWidth
int 240 1 480 adsOverlayHeight
float 1.0 0 10 adsBobFactor
float 0 0 100 adsViewBobMult
float 4 0 90 hipSpreadStandMin
float 3 0 90 hipSpreadDuckedMin
float 2 0 90 hipSpreadProneMin
float 10 0 90 hipSpreadMax
float 10 0 90 hipSpreadDuckedMax
float 10 0 90 hipSpreadProneMax
float 1.5 0 50 hipSpreadDecayRate
float 0.25 0 1 hipSpreadFireAdd
float 0 0 10 hipSpreadTurnAdd
float 0 0 10 hipSpreadMoveAdd
float 1.375 0 10 hipSpreadDuckedDecay
float 1.6 0 10 hipSpreadProneDecay
float 0 0 1 hipReticleSidePos
float 0 0 10 adsSpread
int 25 0 150 adsIdleAmount
int 80 0 150 hipIdleAmount
float 1.0 0 100 hipIdleSpeed
float 1.0 0 100 adsIdleSpeed
float 0.5 0 1 idleCrouchFactor
float 0.15 0 1 idleProneFactor
int 30 0 80 gunMaxPitch
int 30 0 80 gunMaxYaw
float 0 -30 30 adsAimPitch
float 1 0 1 adsCrosshairInFrac
float 0.2 0 1 adsCrosshairOutFrac
float 0.6 0 5 adsReloadTransTime
//float 0.1 0 5 adsTransBlendTime
float -30 -100 100 adsGunKickPitchMin
float -20 -100 100 adsGunKickPitchMax
float -17 -100 100 adsGunKickYawMin
float 17 -100 100 adsGunKickYawMax
float 250 0 1000 adsGunKickAccel
float 1000 0 10000 adsGunKickSpeedMax
float 10 0 100 adsGunKickSpeedDecay
float 1 0 100 adsGunKickStaticDecay
float 20 -200 200 adsViewKickPitchMin
float 95 -200 200 adsViewKickPitchMax
float -10 -200 200 adsViewKickYawMin
float 30 -200 200 adsViewKickYawMax
float 2000 10 10000 adsViewKickCenterSpeed
//float 0.25 0 45 adsViewScatterMin
//float 0.5 0 45 adsViewScatterMax
float -5 -100 100 hipGunKickPitchMin
float -3 -100 100 hipGunKickPitchMax
float -15 -100 100 hipGunKickYawMin
float 15 -100 100 hipGunKickYawMax
float 250 0 1000 hipGunKickAccel
float 500 0 10000 hipGunKickSpeedMax
float 15 0 100 hipGunKickSpeedDecay
float 1 0 100 hipGunKickStaticDecay
float 20 -200 200 hipViewKickPitchMin
float 40 -200 200 hipViewKickPitchMax
float -15 -200 200 hipViewKickYawMin
float 15 -200 200 hipViewKickYawMax
float 2000 10 10000 hipViewKickCenterSpeed
//float 0 0 45 hipViewScatterMin
//float 0 0 45 hipViewScatterMax
float 30 0 180 swayMaxAngle
float 6 1 50 swayLerpSpeed
float 0.1 -2 2 swayPitchScale
float 0.1 -2 2 swayYawScale
float 0.1 -2 2 swayHorizScale
float 0.1 -2 2 swayVertScale
float 5 0 20 swayShellShockScale
float 30 0 180 adsSwayMaxAngle
float 6 1 50 adsSwayLerpSpeed
float 0.1 -2 2 adsSwayPitchScale
float 0.1 -2 2 adsSwayYawScale
float 0.1 -2 2 adsSwayHorizScale
float 0.1 -2 2 adsSwayVertScale
string hudIcon
string killIcon
string dpadIcon
string ammoCounterIcon
enum { "4:1", "1:1", "2:1" } hudIconRatio
enum { "4:1", "1:1", "2:1" } killIconRatio
enum { "4:1", "1:1", "2:1" } dpadIconRatio
enum { "4:1", "1:1" } ammoCounterIconRatio
enum { "None", "Magazine", "ShortMagazine", "Shotgun", "Rocket", "Beltfed", "AltWeapon" } ammoCounterClip
int 1 0 1 flipKillIcon
string worldModel
string worldModel2
string worldModel3
string worldModel4
string worldModel5
string worldModel6
string worldModel7
string worldModel8
string worldModel9
string worldModel10
string worldModel11
string worldModel12
string worldModel13
string worldModel14
string worldModel15
string worldModel16
string worldClipModel
string rocketModel
string knifeModel
string worldKnifeModel
string ammoName
int 100 0 2147483647 maxAmmo
int 0 0 2147483647 startAmmo
string clipName
int 10 0 2147483647 clipSize
int 0 0 2147483647 dropAmmoMin
int 0 0 2147483647 dropAmmoMax
// client-side info
string viewFlashEffect
string worldFlashEffect
string shellEjectEffect
string lastShotEjectEffect
string worldClipDropEffect
string pickupSound
string pickupSoundPlayer
string ammoPickupSound
string ammoPickupSoundPlayer
string projectileSound
string fireSound
string fireSoundPlayer
string lastShotSound
string lastShotSoundPlayer
string emptyFireSound
string emptyFireSoundPlayer
string meleeSwipeSound
string meleeSwipeSoundPlayer
string rechamberSound
string rechamberSoundPlayer
string reloadSound
string reloadSoundPlayer
string reloadEmptySound
string reloadEmptySoundPlayer
string reloadStartSound
string reloadStartSoundPlayer
string reloadEndSound
string reloadEndSoundPlayer
string altSwitchSound
string altSwitchSoundPlayer
string raiseSound
string raiseSoundPlayer
string firstRaiseSound
string firstRaiseSoundPlayer
string putawaySound
string putawaySoundPlayer
string bounceSound
string nightVisionWearSound
string nightVisionWearSoundPlayer
string nightVisionRemoveSound
string nightVisionRemoveSoundPlayer
string reticleCenter
string reticleSide
int 32 1 480 reticleCenterSize
int 16 1 480 reticleSideSize
int 4 0 480 reticleMinOfs
float 0 0 10000 enemyCrosshairRange
int 1 0 1 crosshairColorChange
// additional weapon info
string altWeapon
int 0 0 1 boltAction
int 0 0 1 armorPiercing
int 0 0 1 aimDownSight
int 1 0 1 rechamberWhileAds
int 0 0 1 noADSAutoReload // SRS 3/27/08: exposing noAdsAutoReload to GDT
float 0 0 90 adsViewErrorMin
float 0 0 90 adsViewErrorMax
int 0 0 1 adsFire
int 0 0 1 noAdsWhenMagEmpty
int 0 0 1 avoidDropCleanup
int 0 0 1 cancelAutoHolsterWhenEmpty
int 0 0 1 suppressAmmoReserveDisplay
int 0 0 1 blocksProne
int 0 0 1 noPartialReload
int 0 0 999 reloadAmmoAdd
float 1600 0 8000 autoAimRange
float 3200 0 8000 aimAssistRange
float 3200 0 8000 aimAssistRangeAds
// AI ranges
float 720 1 100000 fightDist
float 1400 1 100000 maxDist
string aiVsAiAccuracyGraph
string aiVsPlayerAccuracyGraph
// settings for view model position movement
float 0 -300 300 sprintOfsF
float 0 -300 300 sprintOfsR
float 0 -300 300 sprintOfsU
float 0 -300 300 sprintRotP
float 0 -300 300 sprintRotY
float 0 -300 300 sprintRotR
float 1 0 10 sprintBobH
float 1 0 10 sprintBobV
float 1 0.01 10 sprintScale
float 0 -300 300 standMoveF
float 1 -300 300 standMoveR
float -1.5 -300 300 standMoveU
float 0 -300 300 standRotP
float 0 -300 300 standRotY
float 0 -300 300 standRotR
float 0 -300 300 duckedSprintOfsF
float 0 -300 300 duckedSprintOfsR
float 0 -300 300 duckedSprintOfsU
float 0 -300 300 duckedSprintRotP
float 0 -300 300 duckedSprintRotY
float 0 -300 300 duckedSprintRotR
float 1 0 10 duckedSprintBobH
float 1 0 10 duckedSprintBobV
float 1 0.01 10 duckedSprintScale
float -2 -300 300 duckedOfsF
float 2 -300 300 duckedOfsR
float -0.2 -300 300 duckedOfsU
float 0 -300 300 duckedMoveF
float 1 -300 300 duckedMoveR
float -1.5 -300 300 duckedMoveU
float 0 -300 300 duckedRotP
float 0 -300 300 duckedRotY
float 0 -300 300 duckedRotR
float -6 -300 300 proneOfsF
float 3.5 -300 300 proneOfsR
float 0.8 -300 300 proneOfsU
float 0 -300 300 proneMoveF
float 1 -300 300 proneMoveR
float -1.5 -300 300 proneMoveU
float 0 -300 300 proneRotP
float 0 -300 300 proneRotY
float 0 -300 300 proneRotR
float 4 0 300 posMoveRate
float 10 0 300 posProneMoveRate
float 110 0 3000 standMoveMinSpeed
float 60 0 3000 duckedMoveMinSpeed
float 0 0 3000 proneMoveMinSpeed
float 5 0 300 posRotRate
float 10 0 300 posProneRotRate
float 110 0 1000 standRotMinSpeed
float 60 0 1000 duckedRotMinSpeed
float 0 0 1000 proneRotMinSpeed
// additional grenade weapon info
int 300 0 10000 explosionRadius
int 10 0 10000 explosionInnerDamage
int 10 0 10000 explosionOuterDamage
float 180 0 180 damageConeAngle
int 600 0 50000 projectileSpeed
int 0 0 10000 projectileSpeedUp
int 0 0 10000 projectileActivateDist
float 30.0 0 10000.0 projectileLifetime
string projectileModel
enum { "grenade", "rocket", "molotov", "none" } projExplosionType
string projExplosionEffect
int 0 0 1 projExplosionEffectForceNormalUp
string projExplosionSound
string projDudEffect
string projDudSound
int 1 0 1 projImpactExplode
int 0 0 1 canUseInVehicle
// additional projectile weapon info
string projTrailEffect
int 200 0 1000 projectileDLight
float 0.75 0 1 projectileRed
float 0.3 0 1 projectileGreen
float 0.0 0 1 projectileBlue
int 0 0 10000 projIgnitionDelay
string projIgnitionEffect
string projIgnitionSound
float 0.0 0 10 destabilizationRateTime
float 10 0.0 10000000 destabilizationCurvatureMax
int 30000 0 32000 destabilizeDistance
float 0.5 0.0 1.0 parallelDefaultBounce
float 0.5 0.0 1.0 parallelBarkBounce
float 0.5 0.0 1.0 parallelBrickBounce
float 0.5 0.0 1.0 parallelCarpetBounce
float 0.5 0.0 1.0 parallelClothBounce
float 0.5 0.0 1.0 parallelConcreteBounce
float 0.5 0.0 1.0 parallelDirtBounce
float 0.5 0.0 1.0 parallelFleshBounce
float 0.5 0.0 1.0 parallelFoliageBounce
float 0.5 0.0 1.0 parallelGlassBounce
float 0.5 0.0 1.0 parallelGrassBounce
float 0.5 0.0 1.0 parallelGravelBounce
float 0.5 0.0 1.0 parallelIceBounce
float 0.5 0.0 1.0 parallelMetalBounce
float 0.5 0.0 1.0 parallelMudBounce
float 0.5 0.0 1.0 parallelPaperBounce
float 0.5 0.0 1.0 parallelPlasterBounce
float 0.5 0.0 1.0 parallelRockBounce
float 0.5 0.0 1.0 parallelSandBounce
float 0.5 0.0 1.0 parallelSnowBounce
float 0.5 0.0 1.0 parallelWaterBounce
float 0.5 0.0 1.0 parallelWoodBounce
float 0.5 0.0 1.0 parallelAsphaltBounce
float 0.5 0.0 1.0 parallelCeramicBounce
float 0.5 0.0 1.0 parallelPlasticBounce
float 0.5 0.0 1.0 parallelRubberBounce
float 0.5 0.0 1.0 parallelCushionBounce
float 0.5 0.0 1.0 parallelFruitBounce
float 0.5 0.0 1.0 parallelPaintedMetalBounce
float 0.5 0.0 1.0 perpendicularDefaultBounce
float 0.5 0.0 1.0 perpendicularBarkBounce
float 0.5 0.0 1.0 perpendicularBrickBounce
float 0.5 0.0 1.0 perpendicularCarpetBounce
float 0.5 0.0 1.0 perpendicularClothBounce
float 0.5 0.0 1.0 perpendicularConcreteBounce
float 0.5 0.0 1.0 perpendicularDirtBounce
float 0.5 0.0 1.0 perpendicularFleshBounce
float 0.5 0.0 1.0 perpendicularFoliageBounce
float 0.5 0.0 1.0 perpendicularGlassBounce
float 0.5 0.0 1.0 perpendicularGrassBounce
float 0.5 0.0 1.0 perpendicularGravelBounce
float 0.5 0.0 1.0 perpendicularIceBounce
float 0.5 0.0 1.0 perpendicularMetalBounce
float 0.5 0.0 1.0 perpendicularMudBounce
float 0.5 0.0 1.0 perpendicularPaperBounce
float 0.5 0.0 1.0 perpendicularPlasterBounce
float 0.5 0.0 1.0 perpendicularRockBounce
float 0.5 0.0 1.0 perpendicularSandBounce
float 0.5 0.0 1.0 perpendicularSnowBounce
float 0.5 0.0 1.0 perpendicularWaterBounce
float 0.5 0.0 1.0 perpendicularWoodBounce
float 0.5 0.0 1.0 perpendicularAsphaltBounce
float 0.5 0.0 1.0 perpendicularCeramicBounce
float 0.5 0.0 1.0 perpendicularPlasticBounce
float 0.5 0.0 1.0 perpendicularRubberBounce
float 0.5 0.0 1.0 perpendicularCushionBounce
float 0.5 0.0 1.0 perpendicularFruitBounce
float 0.5 0.0 1.0 perpendicularPaintedMetalBounce
keyenum("rumble.gdf") fireRumble
keyenum("rumble.gdf") meleeImpactRumble
float 0 0 100 adsDofStart
float 0 0 100 adsDofEnd
int 0 0 1 requireLockonToFire
string hideTags
string notetrackSoundMap
vcontainer
{
scrollbox(targetFolder)
[
exec
{
label("Target Folder")
tooltip("Select platform-gametype this weapon will be used in.")
width(270)
}
]
edit(displayName)
[
exec
{
label("Display Name")
tooltip("Localization alias for weapon name displayed on HUD in game.")
width(500)
}
]
edit(modeName)
[
exec
{
label("Mode Name")
tooltip("Localization alias for selective fire mode text displayed on HUD in game.")
width(500)
}
]
scrollbox(playerAnimType)
[
exec
{
label("Player Anim Type")
tooltip("Select an Player Anim Type - specifies \"playerAnimType\" in playeranim.script")
width(300)
}
]
edit(altWeapon)
[
exec
{
label("Alt Weapon Name")
tooltip("Weapon to switch to when this weapon's selective fire mode is switched in the game.")
width(500)
}
]
edit(AIOverlayDescription)
[
exec
{
label("AI Description")
tooltip("Localization alias for text shown when crosshair is placed over a friendly. Eg. Rifleman, Submachine Gunner, etc.")
width(500)
}
]
scrollbox(inventoryType)
[
exec
{
label("Inventory")
tooltip("Select what sort of inventory this weapon is.")
}
]
scrollbox(weaponType)
[
exec
{
label("Type")
tooltip("Select a weapon type.")
width(300)
}
]
scrollbox(weaponClass)
[
exec
{
label("Class")
tooltip("Select an appropriate class for this weapon.")
width(300)
}
]
scrollbox(impactType)
[
exec
{
width(300)
label("Impact type")
tooltip("The impact type, used to play impact effects based on surfacetype")
}
]
scrollbox(guidedMissileType)
[
exec
{
label("Missile guidance")
tooltip("Guided missile type")
}
]
floatedit(maxSteeringAccel, 1, 10 )
[
exec
{
visible( guidedMissileType != "None" )
label("Max steering accel")
tooltip("The maximum acceleration with which the guided missile can steer (inches / sec^2).")
}
]
hcontainer
{
checkbox(boltAction)
[
exec
{
label("Bolt Action")
tooltip("Turn this on for bolt-action weapons only. Animation control.")
righttext()
}
]
}
checkbox(armorPiercing)
[
exec
{
label("Armor Piercing")
tooltip("Does damage to armored targets if checked.")
righttext()
}
]
checkbox(canUseInVehicle)
[
exec
{
label("Usable In Vehicles")
tooltip("Allow Map and killstreaks to be used in vehicle (MP Only)")
righttext()
}
]
hcontainer
{
checkbox(aimDownSight)
[
exec
{
label("ADS")
tooltip("Must be turned on for proper viewmodel appearance of a weapon that can be Aimed Down the Sight (ADS).")
righttext()
}
]
checkbox(adsFire)
[
exec
{
label("ADS Fire Only")
tooltip("Can only be fired ADS. Firing from the hip brings up ADS.")
righttext()
}
]
checkbox(rechamberWhileAds)
[
exec
{
label("ADS Rechamber")
tooltip("Weapon can be rechambered while in ADS.")
righttext()
}
]
}
// SRS 3/27/08: exposing noAdsAutoReload to GDT
hcontainer
{
checkbox(noADSAutoReload)
[
exec
{
label("No ADS Auto-Reload")
tooltip("Disallow auto-reloading while the weapon is in ADS.")
width(350)
labelwidth(350)
righttext()
}
]
}
hcontainer
{
checkbox(noAdsWhenMagEmpty)
[
exec
{
label("No ADS With Empty Magazine")
tooltip("Disallow ADS when magazine is empty.")
width(350)
labelwidth(350)
righttext()
}
]
}
hcontainer
{
checkbox(avoidDropCleanup)
[
exec
{
label("No Auto-Cleanup of Dropped Weapon")
tooltip("Avoid having dropped weapons of this type deleted to make room for new ones.")
width(350)
labelwidth(350)
righttext()
}
]
}
hcontainer
{
checkbox(noPartialReload)
[
exec
{
label("No Partial Reload")
tooltip("When noPartialReload is set for a weapon, it can not be reloaded unless reloadAmmoAdd amount of ammo can be put into the gun. If reloadAmmoAdd is 0, it's treated as the weapon's clip size.")
righttext()
}
]
}
hcontainer
{
checkbox(blocksProne)
[
exec
{
label("Cannot Go Prone")
tooltip("The player cannot go prone when they have this weapon equiped.")
righttext()
}
]
}
hcontainer
{
checkbox(requireLockonToFire)
[
exec
{
label("Require Lockon")
tooltip("Player cannot fire the weapon until script has granted them a lock-on.")
righttext()
}
]
}
hcontainer
{
floatedit(enemyCrosshairRange, 1, 100)
[
exec
{
label("Enemy Crosshair Range")
tooltip("The range in at which friendly names appear and friendly or enemy changes your crosshair color.")
width(280)
labelwidth(180)
}
]
checkbox(crosshairColorChange)
[
exec
{
label("Crosshair Color Change")
tooltip("Change crosshair color if pointing at friendly or enemy")
width(200)
labelwidth(200)
righttext()
}
]
}
hcontainer
{
floatedit(moveSpeedScale, 0.1, 1)
[
exec
{
label("Move Speed Scale")
tooltip("When using this weapon, player movement speed is multiplied by this amount.")
width(280)
labelwidth(180)
}
]
floatedit(adsMoveSpeedScale, 0.1, 1)
[
exec
{
label("ADS Move Speed Scale")
tooltip("When using this weapon and in ADS, player movement speed is multiplied by this amount.")
labelwidth(180)
}
]
}
floatedit(sprintDurationScale, 0.1, 5)
[
exec
{
label("Sprint Duration Scale")
tooltip("When sprinting with this weapon, sprint duration is multiplied by this amount.")
width(280)
labelwidth(180)
}
]
hcontainer
{
floatedit(lowAmmoWarningThreshold, 0.1, 1)
[
exec
{
label("Clip-Ammo Low Warning %")
tooltip("The game optionally displays low-ammo warnings when remaining clip ammo goes below this percentage.")
labelwidth(180)
width(280)
}
]
}
hcontainer
{
spinedit(gunMaxPitch, 1, 10)
[
exec
{
label("Max Gun Pitch")
tooltip("Maximum allowed vertical ascent of the viewmodel due to recoil (degrees).")
width(280)
labelwidth(180)
}
]
spinedit(gunMaxYaw, 1, 10)
[
exec
{
label("Max Gun Yaw")
tooltip("Maximum allowed horizontal travel of the viewmodel due to recoil (degrees).")
width(280)
labelwidth(180)
}
]
}
////////////////////////////////////////
// Aim Assist
////////////////////////////////////////
vcontainer
{
floatedit(autoAimRange, 1, 100)
[
exec
{
label("Auto Aim Range")
tooltip("(Console only.) The range in world units up to which entering ADS will lock-on to enemies. (1 world unit = 1 inch)")
}
]
hcontainer
{
floatedit(aimAssistRange, 1, 100)
[
exec
{
label("Aim Assist Range")
tooltip("(Console only.) The range in world units up to which the crosshair will stick to targets. (1 world unit = 1 inch)")
}
]
floatedit(aimAssistRangeAds, 1, 100)
[
exec
{
label("Aim Assist Range ADS")
tooltip("(Console only.) The range in world units up to which the crosshair will stick to targets in ADS. (1 world unit = 1 inch)")
width(260)
labelwidth(160)
}
]
}
}
[
exec
{
groupBox("Aim Assist (Console only)")
}
]
////////////////////////////////////////
// Ammunition
////////////////////////////////////////
vcontainer
{
edit(ammoName)
[
exec
{
label("Ammo Name")
tooltip("Allows different weapons to share the same ammo pool.")
width(500)
}
]
edit(clipName)
[
exec
{
label("Clip Name")
tooltip("Allows different weapons to share clips. Used for weapons that have a selective fire option, and would therefore need to use the same type of clip.")
width(500)
}
]
hcontainer
{
spinedit(maxAmmo, 10, 20)
[
exec
{
label("Max Ammo")
tooltip("Max ammo the player can collect for this weapon. No effect on AI.")
}
]
spinedit(startAmmo, 1, 10)
[
exec
{
label("Start Ammo")
tooltip("How much ammo the player gets when starting with this weapon. One clip/magazine from this amount will be already in the weapon. No effect on AI.")
}
]
spinedit(clipSize, 1, 10)
[
exec
{
label("Clip Size")
tooltip("Specifies how many bullets per clip/magazine.")
}
]
}
hcontainer
{
spinedit(dropAmmoMin, 1, 10)
[
exec
{
label("Drop Min")
tooltip("When dropped by AI/player/hand-placed in editor, contains at least this much ammo. Not limited to real-life clip/magazine size.")
}
]
spinedit(dropAmmoMax, 1, 10)
[
exec
{
label("Drop Max")
tooltip("When dropped by AI/player/hand-placed in editor, contains no more than this much ammo. Not limited to real-life clip/magazine size.")
}
]
checkbox(clipOnly)
[
exec
{
label("Clip Only")
tooltip("Used for weapons that use clips only")
righttext()
}
]
}
hcontainer
{
spinedit(reloadAmmoAdd, 1, 10)
[
exec
{
label("Reload Ammo Add")
tooltip("For weapons with Segmented Reload turned on. Amount to add when reloading with some amount of bullets still remaining in the weapon.")
}
]
}
checkbox(cancelAutoHolsterWhenEmpty)
[
exec
{
label("Do Not Auto-Holster When Empty")
tooltip("When weapons are empty, they are normally auto-swapped to the next usable weapon in the player's inventory. This disables that.")
width(300)
labelwidth(280)
righttext()
}
]
hcontainer
{
checkbox(suppressAmmoReserveDisplay)
[
exec
{
label("Hide Display of Reserve Ammo")
tooltip("")
width(300)
labelwidth(280)
righttext()
}
]
}
}
[
exec
{
groupBox("Ammunition")
}
]
////////////////////////////////////////
// Damage
////////////////////////////////////////
vcontainer
{
hcontainer
{
spinedit(damage, 1, 10)
[
exec
{
label("Damage")
tooltip("Damage per projectile")
}
]
spinedit(meleeDamage, 1, 10)
[
exec
{
label("Melee")
tooltip("Damage per melee hit.")
}
]
}
hcontainer
{
spinedit(explosionInnerDamage, 1, 10)
[
exec
{
label("Inner Damage")
tooltip("Damage at center of explosion")
}
]
spinedit(explosionOuterDamage, 1, 10)
[
exec
{
label("Outer Damage")
tooltip("Damage at outside edge of explosion")
}
]
}
hcontainer
{
checkbox(projImpactExplode)
[
exec
{
label("Impact Explode")
tooltip("Projectile explodes on impact")
}
]
spinedit(explosionRadius, 10, 50)
[
exec
{
label("Explosion Radius")
tooltip("Damage radius (1 world unit = 1 inch)")
}
]
}
}
[
exec
{
groupBox("Damage")
}
]
////////////////////////////////////////
// Projectile
////////////////////////////////////////
vcontainer
{
hcontainer
{
spinedit(projectileSpeed, 10, 100)
[
exec
{
label("Projectile Speed")
tooltip("The speed the projectile travels (inches/sec)")
width(262)
labelwidth(187)
}
]
spinedit(projectileSpeedUp, 10, 100)
[
exec
{
label("Extra Verticle Speed")
tooltip("Vertical speed added to grenades")
width(262)
labelwidth(187)
}
]
}
hcontainer
{
spinedit(projectileActivateDist, 10, 100)
[
exec
{
label("Activate Distance")
tooltip("Distance the projectile must travel before it will explode.")
width(262)
labelwidth(187)
}
]
floatedit( projectileLifetime, 0.1, 1 )
[
exec
{
label("Lifetime")
tooltip("The time (in seconds) after which the projectile will explode in the air, if it hasn't hit anything yet")
width(262)
labelwidth(187)
}
]
}
hcontainer
{
spinedit(destabilizeDistance, 10, 100)
[
exec
{
label("Destabilize Distance")
tooltip("The distance the projectile goes before becoming unstable")
width(262)
labelwidth(187)
}
]
floatedit(destabilizationRateTime, 0.01, 0.1)
[
exec
{
label("Destabilize Rate (time)")
tooltip("The time between 'instability' course changes")
width(262)
labelwidth(187)
}
]
}
hcontainer
{
floatedit(destabilizationCurvatureMax, 0.01, 1)
[
exec
{
label("Destabilize Angle Max")
tooltip("The maximum curvature in degrees per second")
width(262)
labelwidth(187)
}
]
}
fileedit(projectileModel)
[
exec
{
label("Projectile Model")
tooltip("Define the model to be used for the projectile")
reldir("pc/main/xmodel/")
}
]
hcontainer
{
scrollbox(projExplosionType)
[
exec
{
label("Explosion Type")
tooltip("Defines the type of effect that will be played. Effects are defined in fx/iw_impacts.csv")
reldir("share/raw/")
}
]
checkbox(projExplosionEffectForceNormalUp)
[
exec
{
label("Force straight-up normal vector")
labelwidth(350)
width(400)
righttext()
}
]
}
fileedit(projExplosionEffect)
[
exec
{
label("Explosion Effect")
tooltip("Defines the effect that will be played when the projectile explodes. It will also play the effects that are defined in fx/iw_impacts.csv")
reldir("share/raw/")
}
]
edit(projExplosionSound)
[
exec
{
label("Explosion Sound")
tooltip("The sound the projectile will play when it impacts")
}
]
fileedit(projDudEffect)
[
exec
{
label("Dud Effect")
tooltip("The effect that will play if the projectile collides with an object before the Activate Distance is reached")
reldir("share/raw/")
}
]
edit(projDudSound)
[
exec
{
label("Dud Sound")
tooltip("The sound the projectile will play when it impacts before the Activate Distance is reached")
}
]
edit(bounceSound)
[
exec
{
label("Dud Bounce Sound Base")
tooltip("Base alias for the bounce sound. For instance, if the value is \"grenade_bounce\", sounds like \"grenade_bounce_concrete\" will be looked for. \"grenade_bounce_default\" will be used for any materials that aren't specified.")
width(500)
}
]
fileedit(projTrailEffect)
[
exec
{
label("Trail Effect")
tooltip("This effect is attached to and trailed behind the projectile model.")
reldir("share/raw/")
width(400)
}
]
hcontainer
{
spinedit(projIgnitionDelay, 1, 10)
[
exec
{
label("Ignition Delay")
tooltip("How long after launch to wait for rocket to ignite.")
width(262)
labelwidth(128)
}
]
}
fileedit(projIgnitionEffect)
[
exec
{
label("Ignition Effect")
tooltip("This effect is played when a projectile's rocket first ignites.")
reldir("share/raw/")
width(400)
}
]
hcontainer
{
spinedit(projectileDLight, 10, 100)
[
exec
{
label("Dynamic Light Radius")
tooltip("Set the radius (in inches) of the light to follow the projectile.")
reldir("share/raw/")
width(250)
labelwidth(150)
}
]
floatedit(projectileRed, 0.1, 0.1)
[
exec
{
label("Red")
tooltip("Sets the red value of the dynamic light (0-255).")
reldir("share/raw/")
width(100)
labelwidth(50)
}
]
floatedit(projectileGreen, 0.1, 0.1)
[
exec
{
label("Green")
tooltip("Sets the Green value of the dynamic light (0-255).")
reldir("share/raw/")
width(100)
labelwidth(50)
}
]
floatedit(projectileBlue, 0.1, 0.1)
[
exec
{
label("Blue")
tooltip("Sets the Blue value of the dynamic light (0-255).")
reldir("share/raw/")
width(100)
labelwidth(50)
}
]
}
}
[
exec
{
groupBox("Projectile")
}
]
////////////////////////////////////////
// State Timers
////////////////////////////////////////
vcontainer
{
hcontainer
{
floatedit(fireTime, 0.05, 0.2)
[
exec
{
label("Fire")
tooltip("Rate of fire in seconds per round. Maximum possible rate is 0.05 seconds per round, or 1200 rounds per minute.")
}
]
floatedit(fireDelay, 0.05, 0.2)
[
exec
{
label("Fire Delay")
tooltip("Delay in seconds between pressing the fire button and the weapon actually firing.")
}
]
}
hcontainer
{
floatedit(meleeTime, 0.05, 0.2)
[
exec
{
label("Melee")
tooltip("Rate of fire in seconds per melee attack.")
}
]
floatedit(meleeDelay, 0.05, 0.2)
[
exec
{
label("Melee Delay")
tooltip("Delay in seconds between pressing the fire button and the melee attack actually happening.")
}
]
}
hcontainer
{
floatedit(meleeChargeTime, 0.05, 0.2)
[
exec
{
label("Melee Charge")
tooltip("Rate of fire in seconds per melee charge attack.")
}
]
floatedit(meleeChargeDelay, 0.05, 0.2)
[
exec
{
label("Melee Charge Delay")
tooltip("Delay in seconds between pressing the fire button and the melee charge attack actually happening.")
}
]
}
hcontainer
{
floatedit(reloadTime, 0.05, 0.2)
[
exec
{
label("Reload")
tooltip("How long this weapon state will last. The viewmodel animations will get scaled to match the times set.")
}
]
floatedit(reloadShowRocketTime, 0.05, 0.2)
[
exec
{
label("...show rocket")
tooltip("At this point and onward in the Reload anim, the attached rocket xmodel will be shown.")
}
]
}
hcontainer
{
floatedit(reloadAddTime, 0.05, 0.2)
[
exec
{
label("Reload Add")
tooltip("How long this weapon state will last. The viewmodel animations will get scaled to match the times set.")
}
]
}
hcontainer
{
floatedit(dropTime, 0.05, 0.2)
[
exec
{
label("Drop")
tooltip("How long this weapon state will last. The viewmodel animations will get scaled to match the times set.")
}
]
floatedit(raiseTime, 0.05, 0.2)
[
exec
{
label("Raise")
tooltip("How long this weapon state will last. The viewmodel animations will get scaled to match the times set.")
}
]
floatedit(firstRaiseTime, 0.05, 0.2)
[
exec
{
label("First Raise")
tooltip("How long this weapon state will last. The viewmodel animations will get scaled to match the times set.")
}
]
}
hcontainer
{
floatedit(altDropTime, 0.05, 0.2)
[
exec
{
label("Alt Drop")
tooltip("How long this weapon state will last. The viewmodel animations will get scaled to match the times set.")
}
]
floatedit(altRaiseTime, 0.05, 0.2)
[
exec
{
label("Alt Raise")
tooltip("How long this weapon state will last. The viewmodel animations will get scaled to match the times set.")
}
]
}
hcontainer
{
floatedit(quickDropTime, 0.05, 0.2)
[
exec
{
label("Quick Drop")
tooltip("How long this weapon state will last. The viewmodel animations will get scaled to match the times set.")
}
]
floatedit(quickRaiseTime, 0.05, 0.2)
[
exec
{
label("Quick Raise")
tooltip("How long this weapon state will last. The viewmodel animations will get scaled to match the times set.")
}
]
}
hcontainer
{
floatedit(emptyDropTime, 0.05, 0.2)
[
exec
{
label("Empty Drop")
tooltip("How long this weapon state will last. The viewmodel animations will get scaled to match the times set.")
}
]
floatedit(emptyRaiseTime, 0.05, 0.2)
[
exec
{
label("Empty Raise")
tooltip("How long this weapon state will last. The viewmodel animations will get scaled to match the times set.")
}
]
}
hcontainer
{
floatedit(sprintInTime, 0.05, 0.2)
[
exec
{
label("Sprint In")
tooltip("How long this weapon state will last. The viewmodel animations will get scaled to match the times set.")
}
]
floatedit(sprintLoopTime, 0.05, 0.2)
[
exec
{
label("Sprint Loop")
tooltip("How long this weapon state will last. The viewmodel animations will get scaled to match the times set.")
}
]
floatedit(sprintOutTime, 0.05, 0.2)
[
exec
{
label("Sprint Out")
tooltip("How long this weapon state will last. The viewmodel animations will get scaled to match the times set.")
}
]
}
hcontainer
{
floatedit(nightVisionWearTime, 0.05, 0.2)
[
exec
{
label("Nightvision Wear")
tooltip("How long this weapon state will last. The viewmodel animations will get scaled to match the times set.")
}
]
floatedit(nightVisionWearTimeFadeOutEnd, 0.05, 0.2)
[
exec
{
label("...end of fade-out")
tooltip("At this point in 'Nightvision Wear', player's vision has faded to black as they bring their goggles down.")
}
]
floatedit(nightVisionWearTimePowerUp, 0.05, 0.2)
[
exec
{
label("...power up")
tooltip("At this point in 'Nightvision Wear', the player's goggles start their power up.")
}
]
}
hcontainer
{
floatedit(nightVisionRemoveTime, 0.05, 0.2)
[
exec
{
label("Nightvision Remove")
tooltip("How long this weapon state will last. The viewmodel animations will get scaled to match the times set.")
}
]
floatedit(nightVisionRemoveTimePowerDown, 0.05, 0.2)
[
exec
{
label("...power down")
tooltip("At this point in 'Nightvision Remove', the player's goggles cut to black.")
}
]
floatedit(nightVisionRemoveTimeFadeInStart, 0.05, 0.2)
[
exec
{
label("...start fade-in")
tooltip("At this point in 'Nightvision Remove', the player's vision fades from black to normal as they remove their goggles.")
}
]
}
}
[
exec
{
groupBox("State Timers")
}
]
////////////////////////////////////////
// Sprint Movement Settings
////////////////////////////////////////
vcontainer
{
hcontainer
{
floatedit(sprintOfsF, 0.1, 1)
[
exec
{
label("Offset Forward")
tooltip("When the player changes to this stance, the viewmodel will slide forward by this amount. (-ive for backward)")
}
]
floatedit(sprintOfsR, 0.1, 1)
[
exec
{
label("Offset Right")
tooltip("When the player changes to this stance, the viewmodel will translate horizontally by this amount. (+/- for left/right respectively)")
}
]
floatedit(sprintOfsU, 0.1, 1)
[
exec
{
label("Offset Up")
tooltip("When the player changes to this stance, the viewmodel will translate vertically by this amount. (+/- for up/down respectively)")
}
]
}
hcontainer
{
floatedit(sprintRotP, 0.1, 1)
[
exec
{
label("Rot Pitch")
tooltip("Viewmodel will pitch by this amount if the player is moving in this stance. (+/- for down/up respectively)")
}
]
floatedit(sprintRotY, 0.1, 1)
[
exec
{
label("Rot Yaw")
tooltip("Viewmodel will yaw by this amount if the player is moving in this stance. (+/- for left/right respectively)")
}
]
floatedit(sprintRotR, 0.1, 1)
[
exec
{
label("Rot Roll")
tooltip("Viewmodel will roll by this amount if the player is moving in this stance. (+/- for left/right respectively)")
}
]
}
hcontainer
{
floatedit(sprintBobH, 0.1, 1)
[
exec
{
label("Horiz Bob")
tooltip("A multiplier applied to the standard horizontal bob for weapons when sprinting domain 0-10")
}
]
floatedit(sprintBobV, 0.1, 1)
[
exec
{
label("Vert Bob")
tooltip("A multiplier applied to the standard vertical bob for weapons when sprinting domain 0-10")
}
]
floatedit(sprintScale, 0.01, 1)
[
exec
{
label("MoveSpeed Scale")
tooltip("A multiplier applied to xy movement of the viewmodel during sprint higher is faster")
}
]
}
}
[
exec
{
groupBox("Sprint Movement Settings")
}
]
////////////////////////////////////////
// Stand Movement Settings
////////////////////////////////////////
vcontainer
{
hcontainer
{
floatedit(standMoveF, 0.1, 1)
[
exec
{
label("Move Forward")
tooltip("Viewmodel will translate forward/backward by this amount if the player is moving in this stance. (+/- for forward/backward respectively)")
}
]
floatedit(standMoveR, 0.1, 1)
[
exec
{
label("Move Right")
tooltip("Viewmodel will translate horizontally by this amount if the player is moving in this stance. (+/- for left/right respectively)")
}
]
floatedit(standMoveU, 0.1, 1)
[
exec
{
label("Move Up")
tooltip("Viewmodel will translate vertically by this amount if the player is moving in this stance. (+/- for up/down respectively)")
}
]
}
hcontainer
{
floatedit(standRotP, 0.1, 1)
[
exec
{
label("Rot Pitch")
tooltip("Viewmodel will pitch by this amount if the player is moving in this stance. (+/- for down/up respectively)")
}
]
floatedit(standRotY, 0.1, 1)
[
exec
{
label("Rot Yaw")
tooltip("Viewmodel will yaw by this amount if the player is moving in this stance. (+/- for left/right respectively)")
}
]
floatedit(standRotR, 0.1, 1)
[
exec
{
label("Rot Roll")
tooltip("Viewmodel will roll by this amount if the player is moving in this stance. (+/- for left/right respectively)")
}
]
}
hcontainer
{
floatedit(standMoveMinSpeed, 1, 10)
[
exec
{
label("Move Min Speed")
tooltip("Not used.")
}
]
floatedit(posMoveRate, 0.1, 1)
[
exec
{
label("Pos Move Rate")
tooltip("Controls speed of viewmodel translation while moving in stand and crouch, transitions between stand and crouch, and crouch into prone.")
}
]
}
hcontainer
{
floatedit(standRotMinSpeed, 1, 10)
[
exec
{
label("Rot Min Speed")
tooltip("Not used.")
}
]
floatedit(posRotRate, 0.1, 1)
[
exec
{
label("Pos Rot Rate")
tooltip("Rotational speed of viewmodel in standing and crouching. If this is set in the prone section, a value should be entered here so that the viewmodel is able to rotate back to normal in crouch and stand.")
}
]
}
}
[
exec
{
groupBox("Stand Movement Settings")
}
]
////////////////////////////////////////
// Crouch Sprinting Movement Settings
////////////////////////////////////////
vcontainer
{
hcontainer
{
floatedit(duckedSprintOfsF, 0.1, 1)
[
exec
{
label("Offset Forward")
tooltip("Viewmodel will translate forward/backward by this amount if the player is moving in this stance. (+/- for forward/backward respectively)")
}
]
floatedit(duckedSprintOfsR, 0.1, 1)
[
exec
{
label("Offset Right")
tooltip("Viewmodel will translate horizontally by this amount if the player is moving in this stance. (+/- for left/right respectively)")
}
]
floatedit(duckedSprintOfsU, 0.1, 1)
[
exec
{
label("Offset Up")
tooltip("Viewmodel will translate vertically by this amount if the player is moving in this stance. (+/- for up/down respectively)")
}
]
}
hcontainer
{
floatedit(duckedSprintRotP, 0.1, 1)
[
exec
{
label("Rot Pitch")
tooltip("Viewmodel will pitch by this amount if the player is moving in this stance. (+/- for down/up respectively)")
}
]
floatedit(duckedSprintRotY, 0.1, 1)
[
exec
{
label("Rot Yaw")
tooltip("Viewmodel will yaw by this amount if the player is moving in this stance. (+/- for left/right respectively)")
}
]
floatedit(duckedSprintRotR, 0.1, 1)
[
exec
{
label("Rot Roll")
tooltip("Viewmodel will roll by this amount if the player is moving in this stance. (+/- for left/right respectively)")
}
]
}
hcontainer
{
floatedit(duckedSprintBobH, 0.1, 1)
[
exec
{
label("Horiz Bob")
tooltip("A multiplier applied to the standard horizontal bob for weapons when crouch sprinting domain 0-10")
}
]
floatedit(duckedSprintBobV, 0.1, 1)
[
exec
{
label("Vert Bob")
tooltip("A multiplier applied to the standard vertical bob for weapons when crouch sprinting domain 0-10")
}
]
floatedit(duckedSprintScale, 0.01, 1)
[
exec
{
label("MoveSpeed Scale")
tooltip("A multiplier applied to xy movement of the viewmodel during crouched sprint higher is faster")
}
]
}
}
[
exec
{
groupBox("Crouch Sprinting Movement Settings")
}
]
////////////////////////////////////////
// Crouch Movement Settings
////////////////////////////////////////
vcontainer
{
hcontainer
{
floatedit(duckedMoveF, 0.1, 1)
[
exec
{
label("Move Forward")
tooltip("Viewmodel will translate forward/backward by this amount if the player is moving in this stance. (+/- for forward/backward respectively)")
}
]
floatedit(duckedMoveR, 0.1, 1)
[
exec
{
label("Move Right")
tooltip("Viewmodel will translate horizontally by this amount if the player is moving in this stance. (+/- for left/right respectively)")
}
]
floatedit(duckedMoveU, 0.1, 1)
[
exec
{
label("Move Up")
tooltip("Viewmodel will translate vertically by this amount if the player is moving in this stance. (+/- for up/down respectively)")
}
]
}
hcontainer
{
floatedit(duckedRotP, 0.1, 1)
[
exec
{
label("Rot Pitch")
tooltip("Viewmodel will pitch by this amount if the player is moving in this stance. (+/- for down/up respectively)")
}
]
floatedit(duckedRotY, 0.1, 1)
[
exec
{
label("Rot Yaw")
tooltip("Viewmodel will yaw by this amount if the player is moving in this stance. (+/- for left/right respectively)")
}
]
floatedit(duckedRotR, 0.1, 1)
[
exec
{
label("Rot Roll")
tooltip("Viewmodel will roll by this amount if the player is moving in this stance. (+/- for left/right respectively)")
}
]
}
hcontainer
{
floatedit(duckedOfsF, 0.1, 1)
[
exec
{
label("Offset Forward")
tooltip("When the player changes to this stance, the viewmodel will slide forward by this amount. (-ive for backward)")
}
]
floatedit(duckedOfsR, 0.1, 1)
[
exec
{
label("Offset Right")
tooltip("When the player changes to this stance, the viewmodel will translate horizontally by this amount. (+/- for left/right respectively)")
}
]
floatedit(duckedOfsU, 0.1, 1)
[
exec
{
label("Offset Up")
tooltip("When the player changes to this stance, the viewmodel will translate vertically by this amount. (+/- for up/down respectively)")
}
]
}
floatedit(duckedMoveMinSpeed, 1, 10)
[
exec
{
label("Move Min Speed")
tooltip("Not used.")
}
]
floatedit(duckedRotMinSpeed, 1, 10)
[
exec
{
label("Rot Min Speed")
tooltip("Not used.")
}
]
}
[
exec
{
groupBox("Crouch Movement Settings")
}
]
////////////////////////////////////////
// Prone Movement Settings
////////////////////////////////////////
vcontainer
{
hcontainer
{
floatedit(proneMoveF, 0.1, 1)
[
exec
{
label("Move Forward")
tooltip("Viewmodel will translate forward/backward by this amount if the player is moving in this stance. (+/- for forward/backward respectively)")
}
]
floatedit(proneMoveR, 0.1, 1)
[
exec
{
label("Move Right")
tooltip("Viewmodel will translate horizontally by this amount if the player is moving in this stance. (+/- for left/right respectively)")
}
]
floatedit(proneMoveU, 0.1, 1)
[
exec
{
label("Move Up")
tooltip("Viewmodel will translate vertically by this amount if the player is moving in this stance. (+/- for up/down respectively)")
}
]
}
hcontainer
{
floatedit(proneRotP, 0.1, 1)
[
exec
{
label("Rot Pitch")
tooltip("Viewmodel will pitch by this amount if the player is moving in this stance. (+/- for down/up respectively)")
}
]
floatedit(proneRotY, 0.1, 1)
[
exec
{
label("Rot Yaw")
tooltip("Viewmodel will yaw by this amount if the player is moving in this stance. (+/- for left/right respectively)")
}
]
floatedit(proneRotR, 0.1, 1)
[
exec
{
label("Rot Roll")
tooltip("Viewmodel will roll by this amount if the player is moving in this stance. (+/- for left/right respectively)")
}
]
}
hcontainer
{
floatedit(proneOfsF, 0.1, 1)
[
exec
{
label("Offset Forward")
tooltip("When the player changes to this stance, the viewmodel will slide forward by this amount. (-ive for backward)")
}
]
floatedit(proneOfsR, 0.1, 1)
[
exec
{
label("Offset Right")
tooltip("When the player changes to this stance, the viewmodel will translate horizontally by this amount. (+/- for left/right respectively)")
}
]
floatedit(proneOfsU, 0.1, 1)
[
exec
{
label("Offset Up")
tooltip("When the player changes to this stance, the viewmodel will translate vertically by this amount. (+/- for up/down respectively)")
}
]
}
hcontainer
{
floatedit(proneMoveMinSpeed, 1, 10)
[
exec
{
label("Move Min Speed")
tooltip("Not used.")
}
]
floatedit(posProneMoveRate, 0.1, 1)
[
exec
{
label("Pos Move Rate")
tooltip("Controls the speed of viewmodel translation while moving in this stance and changing to crouched.")
}
]
}
hcontainer
{
floatedit(proneRotMinSpeed, 1, 10)
[
exec
{
label("Rot Min Speed")
tooltip("Not used.")
}
]
floatedit(posProneRotRate, 0.1, 1)
[
exec
{
label("Pos Rot Rate")
tooltip("Controls the speed of viewmodel rotation while moving in this stance.")
}
]
}
}
[
exec
{
groupBox("Prone Movement Settings")
}
]
////////////////////////////////////////
// Idle Settings
////////////////////////////////////////
vcontainer
{
hcontainer
{
spinedit(hipIdleAmount, 1, 10)
[
exec
{
label("Hip Amount")
tooltip("Strength of viewmodel wavering motion when in hipfire position.")
}
]
spinedit(adsIdleAmount, 1, 10)
[
exec
{
label("ADS Amount")
tooltip("Strength of range of viewmodel (or sniper rifle overlay) wavering motion when in ADS.")
}
]
}
hcontainer
{
floatedit(hipIdleSpeed, 0.1, 1.0)
[
exec
{
label("Hip Speed")
tooltip("How fast the viewmodel wavers in hipfire position within Hip Amount.")
}
]
floatedit(adsIdleSpeed, 0.1, 1.0)
[
exec
{
label("ADS Speed")
tooltip("How fast the viewmodel wavers in ADS within ADS Amount.")
}
]
}
hcontainer
{
floatedit(idleCrouchFactor, 0.01, 0.1)
[
exec
{
label("Crouch Factor")
tooltip("Hip/ADS Amount multiplier for reducing viewmodel wavering when in this stance.")
}
]
floatedit(idleProneFactor, 0.01, 0.1)
[
exec
{
label("Prone Factor")
tooltip("Hip/ADS Amount multiplier for reducing viewmodel wavering when in this stance.")
}
]
}
}
[
exec
{
groupBox("Idle Settings")
}
]
////////////////////////////////////////
// ADS Settings
////////////////////////////////////////
vcontainer
{
hcontainer
{
floatedit(adsSpread, 0.1, 1)
[
exec
{
label("Spread")
tooltip("Size of bullet spread cone when firing in ADS mode. Bullets will project randomly within the confines of the cone.")
}
]
floatedit(adsAimPitch, 0.1, 1)
[
exec
{
label("Aim Pitch")
tooltip("Adjusts the pitch of the viewmodel in ADS. Defaults to 0, -6 is perfectly centered.")
}
]
}
hcontainer
{
floatedit(adsTransInTime, 0.05, 0.1)
[
exec
{
label("Trans In Time")
tooltip("Time it will take to switch from hipfire to ADS.")
}
]
floatedit(adsTransOutTime, 0.05, 0.1)
[
exec
{
label("Trans Out Time")
tooltip("Time it will take to switch from ADS to hipfire.")
}
]
}
hcontainer
{
floatedit(adsReloadTransTime, 0.01, 0.1)
[
exec
{
label("Reload Trans Time")
tooltip("Time it takes once you start the reload to re-enter ADS. (ie: It allows you to finish up reloading while you enter ADS.")
}
]
}
hcontainer
{
floatedit(adsCrosshairInFrac, 0.05, 0.1)
[
exec
{
label("Crosshair In Frac")
tooltip("Fraction of the hipfire-to-ADS transition time over which the crosshair disappears.")
}
]
floatedit(adsCrosshairOutFrac, 0.05, 0.1)
[
exec
{
label("Crosshair Out Frac")
tooltip("Fraction of the ADS-to-hipfire transition time over which the crosshair appears.")
}
]
}
hcontainer
{
floatedit(adsZoomFov, 1, 5)
[
exec
{
label("Zoom FOV")
tooltip("Field of view when in ADS.")
}
]
floatedit(adsZoomInFrac, 0.05, 0.1)
[
exec
{
label("Zoom In Frac")
tooltip("Fraction of the hipfire-to-ADS transition time over which the FOV zoom-in effect happens.")
}
]
floatedit(adsZoomOutFrac, 0.05, 0.1)
[
exec
{
label("Zoom Out Frac")
tooltip("Fraction of the ADS-to-hipfire transition time over which the FOV zoom-out effect happens.")
}
]
}
hcontainer
{
floatedit(adsZoomGunFov, 1, 5)
[
exec
{
label("Zoom Gun FOV")
tooltip("I have no clue...ask Frank.")
}
]
}
hcontainer
{
floatedit(adsBobFactor, 0.05, 0.1)
[
exec
{
label("Bob Factor")
tooltip("Strength of viewmodel bobbing due to player movement when using this weapon.")
}
]
floatedit(adsViewBobMult, 0.1, 1)
[
exec
{
label("View Bob Mult")
tooltip("Bob Factor multiplier for view bobbing due to player movement when using this weapon in ADS.")
}
]
}
hcontainer
{
floatedit(adsViewErrorMin, 0.1, 1)
[
exec
{
label("Min View Error")
tooltip("Min View Error.")
}
]
floatedit(adsViewErrorMax, 0.1, 1)
[
exec
{
label("Max View Error")
tooltip("Max View Error.")
}
]
}
}
[
exec
{
groupBox("ADS Settings")
}
]
////////////////////////////////////////
// Hip Spread
////////////////////////////////////////
vcontainer
{
hcontainer
{
floatedit(hipSpreadStandMin, 0.1, 1)
[
exec
{
label("Stand Min")
tooltip("Smallest diameter the crosshairs can contract to.")
}
]
floatedit(hipSpreadMax, 0.1, 1)
[
exec
{
label("Stand Max")
tooltip("Largest diameter the crosshairs can expand to while standing.")
}
]
floatedit(hipSpreadDecayRate, 0.05, 0.1)
[
exec
{
label("Decay Rate")
tooltip("Rate at which the crosshairs try to return to the Min hip spread size.")
}
]
}
hcontainer
{
floatedit(hipSpreadDuckedMin, 0.1, 1)
[
exec
{
label("Crouch Min")
tooltip("Size of the crosshairs at rest when crouched.")
}
]
floatedit(hipSpreadDuckedMax, 0.1, 1)
[
exec
{
label("Crouch Max")
tooltip("Largest diameter the crosshairs can expand to while crouched.")
}
]
floatedit(hipSpreadDuckedDecay, 0.1, 1)
[
exec
{
label("Crouch Decay")
tooltip("Multiplier of Decay Rate for crouched stance, controlling how fast the crosshairs return to Crouch Min.")
}
]
}
hcontainer
{
floatedit(hipSpreadProneMin, 0.1, 1)
[
exec
{
label("Prone Min")
tooltip("Size of the crosshairs at rest when prone.")
}
]
floatedit(hipSpreadProneMax, 0.1, 1)
[
exec
{
label("Prone Max")
tooltip("Largest diameter the crosshairs can expand to while prone.")
}
]
floatedit(hipSpreadProneDecay, 0.1, 1)
[
exec
{
label("Prone Decay")
tooltip("Multiplier of Decay Rate for prone stance, controlling how fast the crosshairs return to Prone Min.")
}
]
}
hcontainer
{
floatedit(hipSpreadFireAdd, 0.01, 0.1)
[
exec
{
label("Fire Add")
tooltip("Amount by which the crosshairs expand per bullet fired.")
}
]
floatedit(hipSpreadMoveAdd, 0.1, 1)
[
exec
{
label("Move Add")
tooltip("Rate of crosshair expansion due to player movement.")
}
]
floatedit(hipSpreadTurnAdd, 0.1, 1)
[
exec
{
label("Turn Add")
tooltip("Rate of crosshair expansion due to player panning the view in any direction.")
}
]
}
}
[
exec
{
groupBox("Hip Spread Settings")
}
]
////////////////////////////////////////
// Gun Kick
////////////////////////////////////////
vcontainer
{
hcontainer
{
floatedit(hipGunKickPitchMin, 1, 5)
[
exec
{
label("Hip Pitch Min")
tooltip("Hipfire viewmodel control. +/- sign means 'kick down/up'. Larger absolute numbers increase viewmodel climb/descent. From -100 to 100. Actual viewmodel angle will not exceed Max Gun Pitch.")
}
]
floatedit(adsGunKickPitchMin, 1, 5)
[
exec
{
label("ADS Pitch Min")
tooltip("ADS viewmodel control. +/- sign means 'kick down/up'. Larger absolute numbers increase viewmodel climb/descent. From -100 to 100.")
}
]
}
hcontainer
{
floatedit(hipGunKickPitchMax, 1, 5)
[
exec
{
label("Hip Pitch Max")
tooltip("Hipfire viewmodel control. +/- sign means 'kick down/up'. Larger absolute numbers increase viewmodel climb/descent. From -100 to 100. Actual viewmodel angle will not exceed Max Gun Pitch.")
}
]
floatedit(adsGunKickPitchMax, 1, 5)
[
exec
{
label("ADS Pitch Max")
tooltip("ADS viewmodel control. +/- sign means 'kick down/up'. Larger absolute numbers increase viewmodel climb/descent. From -100 to 100.")
}
]
}
hcontainer
{
floatedit(hipGunKickYawMin, 1, 5)
[
exec
{
label("Hip Yaw Min")
tooltip("Hipfire viewmodel control. +/- sign means 'kick left/right'. Larger absolute numbers increase viewmodel yawing. From -100 to 100. Actual viewmodel angle will not exceed Max Gun Yaw.")
}
]
floatedit(adsGunKickYawMin, 1, 5)
[
exec
{
label("ADS Yaw Min")
tooltip("ADS viewmodel control. +/- sign means 'kick left/right'. Larger absolute numbers increase viewmodel yawing. From -100 to 100.")
}
]
}
hcontainer
{
floatedit(hipGunKickYawMax, 1, 5)
[
exec
{
label("Hip Yaw Max")
tooltip("Hipfire viewmodel control. +/- sign means 'kick left/right'. Larger absolute numbers increase viewmodel yawing. From -100 to 100. Actual viewmodel angle will not exceed Max Gun Yaw.")
}
]
floatedit(adsGunKickYawMax, 1, 5)
[
exec
{
label("ADS Yaw Max")
tooltip("ADS viewmodel control. +/- sign means 'kick left/right'. Larger absolute numbers increase viewmodel yawing. From -100 to 100.")
}
]
}
hcontainer
{
floatedit(hipGunKickAccel, 1, 10)
[
exec
{
label("Hip Accel")
tooltip("Rate at which viewmodel attempts to recenter in hipfire. Directly opposes yaws and pitch accumulation.")
}
]
floatedit(adsGunKickAccel, 1, 10)
[
exec
{
label("ADS Accel")
tooltip("Rate at which viewmodel attempts to recenter in ADS. Directly opposes yaws and pitch accumulation.")
}
]
}
hcontainer
{
floatedit(hipGunKickSpeedMax, 1, 10)
[
exec
{
label("Hip Speed Max")
tooltip("Maximum deflection speed reached by the viewmodel in hipfire.")
}
]
floatedit(adsGunKickSpeedMax, 1, 10)
[
exec
{
label("ADS Speed Max")
tooltip("Maximum deflection speed reached by the viewmodel in ADS.")
}
]
}
hcontainer
{
floatedit(hipGunKickSpeedDecay, 0.1, 1)
[
exec
{
label("Hip Speed Decay")
tooltip("Strength of decay on viewmodel deflection speed in hipfire.")
}
]
floatedit(adsGunKickSpeedDecay, 0.1, 1)
[
exec
{
label("ADS Speed Decay")
tooltip("Strength of decay on viewmodel deflection speed in ADS.")
}
]
}
hcontainer
{
floatedit(hipGunKickStaticDecay, 0.1, 1)
[
exec
{
label("Hip Static Decay")
tooltip("Strength of decay on viewmodel recentering once it has stopped deflecting.")
}
]
floatedit(adsGunKickStaticDecay, 0.1, 1)
[
exec
{
label("ADS Static Decay")
tooltip("Strength of decay on viewmodel recentering once it has stopped deflecting.")
}
]
}
}
[
exec
{
groupBox("Gun Kick Settings")
}
]
////////////////////////////////////////
// View Kick
////////////////////////////////////////
vcontainer
{
hcontainer
{
floatedit(hipViewKickPitchMin, 1, 10)
[
exec
{
label("Hip Pitch Min")
tooltip("Hipfire view kick control. -/+ sign means 'kick down/up'. Larger absolute numbers increase view kick climb/descent. From -100 to 100.")
}
]
floatedit(adsViewKickPitchMin, 1, 10)
[
exec
{
label("ADS Pitch Min")
tooltip("ADS view kick control. -/+ sign means 'kick down/up'. Larger absolute numbers increase view kick climb/descent. From -100 to 100.")
}
]
}
hcontainer
{
floatedit(hipViewKickPitchMax, 1, 10)
[
exec
{
label("Hip Pitch Max")
tooltip("Hipfire view kick control. -/+ sign means 'kick down/up'. Larger absolute numbers increase view kick climb/descent. From -100 to 100.")
}
]
floatedit(adsViewKickPitchMax, 1, 10)
[
exec
{
label("ADS Pitch Max")
tooltip("ADS view kick control. -/+ sign means 'kick down/up'. Larger absolute numbers increase view kick climb/descent. From -100 to 100.")
}
]
}
hcontainer
{
floatedit(hipViewKickYawMin, 1, 10)
[
exec
{
label("Hip Yaw Min")
tooltip("Hipfire view kick control. -/+ sign means 'kick right/left'. Larger absolute numbers increase view kick yaw. From -100 to 100.")
}
]
floatedit(adsViewKickYawMin, 1, 10)
[
exec
{
label("ADS Yaw Min")
tooltip("ADS view kick control. -/+ sign means 'kick right/left'. Larger absolute numbers increase view kick yaw. From -100 to 100.")
}
]
}
hcontainer
{
floatedit(hipViewKickYawMax, 1, 10)
[
exec
{
label("Hip Yaw Max")
tooltip("Hipfire view kick control. -/+ sign means 'kick right/left'. Larger absolute numbers increase view kick yaw. From -100 to 100.")
}
]
floatedit(adsViewKickYawMax, 1, 10)
[
exec
{
label("ADS Yaw Max")
tooltip("ADS view kick control. -/+ sign means 'kick right/left'. Larger absolute numbers increase view kick yaw. From -100 to 100.")
}
]
}
hcontainer
{
floatedit(hipViewKickCenterSpeed, 10, 100)
[
exec
{
label("Hip Center Speed")
tooltip("Speed with which the view continuously attempts to recenter in hipfire.")
}
]
floatedit(adsViewKickCenterSpeed, 10, 100)
[
exec
{
label("ADS Center Speed")
tooltip("Speed with which the view continuously attempts to recenter in ADS.")
}
]
}
}
[
exec
{
groupBox("View Kick Settings")
}
]
////////////////////////////////////////
// Sway settings
////////////////////////////////////////
vcontainer
{
hcontainer
{
floatedit(swayMaxAngle, 0.05, 0.1)
[
exec
{
label("Max Angle")
tooltip("Max angle change that will be applied to the hipfire viewmodel sway.")
}
]
floatedit(adsSwayMaxAngle, 0.05, 0.1)
[
exec
{
label("ADS Max Angle")
tooltip("Max angle change that will be applied to the ADS viewmodel sway.")
}
]
}
hcontainer
{
floatedit(swayLerpSpeed, 0.05, 0.1)
[
exec
{
label("Lerp Speed")
tooltip("Speed at which the sway will lerp in hipfire.")
}
]
floatedit(adsSwayLerpSpeed, 0.05, 0.1)
[
exec
{
label("ADS Lerp Speed")
tooltip("Speed at which the sway will lerp in ADS.")
}
]
}
hcontainer
{
floatedit(swayPitchScale, 0.05, 0.1)
[
exec
{
label("Pitch Scale")
tooltip("Amount of pitch change in the viewmodel to apply to the sway pitch in hipfire.")
}
]
floatedit(adsSwayPitchScale, 0.05, 0.1)
[
exec
{
label("ADS Pitch Scale")
tooltip("Amount of pitch change in the viewmodel to apply to the sway pitch in ADS.")
}
]
}
hcontainer
{
floatedit(swayYawScale, 0.05, 0.1)
[
exec
{
label("Yaw Scale")
tooltip("Amount of yaw change in the viewmodel to apply to the sway yaw in hipfire.")
}
]
floatedit(adsSwayYawScale, 0.05, 0.1)
[
exec
{
label("ADS Yaw Scale")
tooltip("Amount of yaw change in the viewmodel to apply to the sway yaw in ADS.")
}
]
}
hcontainer
{
floatedit(swayHorizScale, 0.05, 0.1)
[
exec
{
label("Horiz Scale")
tooltip("Amount of yaw change in the viewmodel to apply to the sway horizontal offset in hipfire.")
}
]
floatedit(adsSwayHorizScale, 0.05, 0.1)
[
exec
{
label("ADS Horiz Scale")
tooltip("Amount of yaw change in the viewmodel to apply to the sway horizontal offset in ADS.")
}
]
}
hcontainer
{
floatedit(swayVertScale, 0.05, 0.1)
[
exec
{
label("Vert Scale")
tooltip("Amount of pitch change in the view model to apply to the sway vertical offset in hipfire.")
}
]
floatedit(adsSwayVertScale, 0.05, 0.1)
[
exec
{
label("ADS Vert Scale")
tooltip("Amount of pitch change in the view model to apply to the sway vertical offset in ADS.")
}
]
}
floatedit(swayShellShockScale, 0.05, 0.1)
[
exec
{
label("Shell Shock Scale")
tooltip("This scale gets applied to the weapon sway while you're in shell shock.")
}
]
}
[
exec
{
groupBox("Sway Settings")
}
]
////////////////////////////////////////
// AI Settings
////////////////////////////////////////
vcontainer
{
hcontainer
{
floatedit(fightDist, 1, 100)
[
exec
{
label("Fight Distance")
tooltip("Aggro radius. AI using this weapon try to fight enemies detected in this radius. Center of this circle constantly traces along AI's path up to maxdist.")
}
]
floatedit(maxDist, 1, 100)
[
exec
{
label("Max Distance")
tooltip("Effective range radius. AI must get to this distance before opening fire on their target with this weapon.")
}
]
}
fileedit(aiVsAiAccuracyGraph)
[
exec
{
label("AI Vs. AI Accuracy")
tooltip("Graph file for in-game editing of the non-linear accuracy curve used by the AI for this weapon against another AI.")
reldir("share/raw/accuracy/aivsai/")
width(500)
}
]
fileedit(aiVsPlayerAccuracyGraph)
[
exec
{
label("AI Vs. Player Accuracy")
tooltip("Graph file for in-game editing of the non-linear accuracy curve used by the AI for this weapon against the player.")
reldir("share/raw/accuracy/aivsplayer/")
width(500)
}
]
}
[
exec
{
groupBox("AI Settings")
}
]
////////////////////////////////////////
// Reticle Settings
////////////////////////////////////////
vcontainer
{
fileedit(reticleCenter)
[
exec
{
label("Center Reticle")
tooltip("Center Reticle.")
reldir("pc/main/")
width(500)
}
]
fileedit(reticleSide)
[
exec
{
label("Side Reticle")
tooltip("Side Reticle.")
reldir("pc/main/")
width(500)
}
]
hcontainer
{
spinedit(reticleCenterSize, 1, 2)
[
exec
{
label("Center Size")
tooltip("Center Size.")
}
]
spinedit(reticleSideSize, 1, 2)
[
exec
{
label("Side Size")
tooltip("Side Size.")
}
]
}
hcontainer
{
floatedit(hipReticleSidePos, 0.1, 0.2)
[
exec
{
label("Side Position")
tooltip("Side Position.")
}
]
spinedit(reticleMinOfs, 1, 2)
[
exec
{
label("Min Offset")
tooltip("Min Offset.")
}
]
}
}
[
exec
{
groupBox("Reticle Settings")
}
]
////////////////////////////////////////
// ADS Overlay Settings
////////////////////////////////////////
vcontainer
{
edit(adsOverlayShader)
[
exec
{
label("Shader")
tooltip("Overlay for sniper rifles in ADS. Uses a quarter circle image to construct a full scope view.")
width(500)
}
]
scrollbox(adsOverlayReticle)
[
exec
{
label("Reticle")
tooltip("Selects a preset image?")
}
]
scrollbox(adsOverlayInterface)
[
exec
{
label("Interface")
tooltip("Interactive Interface for Overlay")
}
]
hcontainer
{
spinedit(adsOverlayWidth, 1, 10)
[
exec
{
label("Width")
}
]
spinedit(adsOverlayHeight, 1, 10)
[
exec
{
label("Height")
}
]
}
}
[
exec
{
groupBox("ADS Overlay Settings")
}
]
////////////////////////////////////////
// XModels
////////////////////////////////////////
vcontainer
{
fileedit(gunModel)
[
exec
{
label("View Gun 1")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(worldModel)
[
exec
{
label("World Gun 1")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(handModel)
[
exec
{
label("Default view Hand")
reldir("share/main/xmodel/")
width(500)
}
]
checkbox(isHandModelOverridable)
[
exec
{
label("Update Hand Model From Script")
tooltip("If checked then the hand model can be updated from script")
}
]
fileedit(worldClipModel)
[
exec
{
label("World Clip Model")
reldir("pc/main/xmodel/")
width(500)
}
]
fileedit(rocketModel)
[
exec
{
label("Attached Rocket")
reldir("pc/main/xmodel/")
width(500)
tooltip("When the weapon has ammo in its clip, this model will be attached to the xmodel.")
}
]
fileedit(knifeModel)
[
exec
{
label("Knife Model")
reldir("pc/main/xmodel/")
width(500)
}
]
fileedit(worldKnifeModel)
[
exec
{
label("World Knife Model")
reldir("share/main/xmodel/")
width(500)
}
]
multiedit(hideTags)
[
exec
{
label("Hide Tags")
tooltip("name of tags to hide on this model. one per line")
width(500)
height(80)
}
]
}
[
exec
{
groupBox("XModels")
}
]
vcontainer
{
hcontainer
{
fileedit(gunModel2)
[
exec
{
label("View Gun 2")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(worldModel2)
[
exec
{
label("World Gun 2")
reldir("share/main/xmodel/")
width(500)
}
]
}
hcontainer
{
fileedit(gunModel3)
[
exec
{
label("View Gun 3")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(worldModel3)
[
exec
{
label("World Gun 3")
reldir("share/main/xmodel/")
width(500)
}
]
}
hcontainer
{
fileedit(gunModel4)
[
exec
{
label("View Gun 4")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(worldModel4)
[
exec
{
label("World Gun 4")
reldir("share/main/xmodel/")
width(500)
}
]
}
hcontainer
{
fileedit(gunModel5)
[
exec
{
label("View Gun 5")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(worldModel5)
[
exec
{
label("World Gun 5")
reldir("share/main/xmodel/")
width(500)
}
]
}
hcontainer
{
fileedit(gunModel6)
[
exec
{
label("View Gun 6")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(worldModel6)
[
exec
{
label("World Gun 6")
reldir("share/main/xmodel/")
width(500)
}
]
}
hcontainer
{
fileedit(gunModel7)
[
exec
{
label("View Gun 7")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(worldModel7)
[
exec
{
label("World Gun 7")
reldir("share/main/xmodel/")
width(500)
}
]
}
hcontainer
{
fileedit(gunModel8)
[
exec
{
label("View Gun 8")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(worldModel8)
[
exec
{
label("World Gun 8")
reldir("share/main/xmodel/")
width(500)
}
]
}
hcontainer
{
fileedit(gunModel9)
[
exec
{
label("View Gun 9")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(worldModel9)
[
exec
{
label("World Gun 9")
reldir("share/main/xmodel/")
width(500)
}
]
}
hcontainer
{
fileedit(gunModel10)
[
exec
{
label("View Gun 10")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(worldModel10)
[
exec
{
label("World Gun 10")
reldir("share/main/xmodel/")
width(500)
}
]
}
hcontainer
{
fileedit(gunModel11)
[
exec
{
label("View Gun 11")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(worldModel11)
[
exec
{
label("World Gun 11")
reldir("share/main/xmodel/")
width(500)
}
]
}
hcontainer
{
fileedit(gunModel12)
[
exec
{
label("View Gun 12")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(worldModel12)
[
exec
{
label("World Gun 12")
reldir("share/main/xmodel/")
width(500)
}
]
}
hcontainer
{
fileedit(gunModel13)
[
exec
{
label("View Gun 13")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(worldModel13)
[
exec
{
label("World Gun 13")
reldir("share/main/xmodel/")
width(500)
}
]
}
hcontainer
{
fileedit(gunModel14)
[
exec
{
label("View Gun 14")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(worldModel14)
[
exec
{
label("World Gun 14")
reldir("share/main/xmodel/")
width(500)
}
]
}
hcontainer
{
fileedit(gunModel15)
[
exec
{
label("View Gun 15")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(worldModel15)
[
exec
{
label("World Gun 15")
reldir("share/main/xmodel/")
width(500)
}
]
}
hcontainer
{
fileedit(gunModel16)
[
exec
{
label("View Gun 16")
reldir("share/main/xmodel/")
width(500)
}
]
fileedit(worldModel16)
[
exec
{
label("World Gun 16")
reldir("share/main/xmodel/")
width(500)
}
]
}
}
[
exec
{
groupBox("Alternate Models", 0)
}
]
////////////////////////////////////////
// XAnims
////////////////////////////////////////
vcontainer
{
fileedit(idleAnim)
[
exec
{
label("Idle")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(emptyIdleAnim)
[
exec
{
label("Empty Idle")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(fireAnim)
[
exec
{
label("Fire")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(lastShotAnim)
[
exec
{
label("Last Shot")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(meleeAnim)
[
exec
{
label("Melee")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(meleeChargeAnim)
[
exec
{
label("Melee Charge")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(reloadAnim)
[
exec
{
label("Reload")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(raiseAnim)
[
exec
{
label("Raise")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(dropAnim)
[
exec
{
label("Drop")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(firstRaiseAnim)
[
exec
{
label("First Raise")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(altRaiseAnim)
[
exec
{
label("Alt Raise")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(altDropAnim)
[
exec
{
label("Alt Drop")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(quickRaiseAnim)
[
exec
{
label("Quick Raise")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(quickDropAnim)
[
exec
{
label("Quick Drop")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(emptyRaiseAnim)
[
exec
{
label("Empty Raise")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(emptyDropAnim)
[
exec
{
label("Empty Drop")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(sprintInAnim)
[
exec
{
label("Sprint In")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(sprintLoopAnim)
[
exec
{
label("Sprint Loop")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(sprintOutAnim)
[
exec
{
label("Sprint Out")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(nightVisionWearAnim)
[
exec
{
label("Nightvision Wear")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(nightVisionRemoveAnim)
[
exec
{
label("Nightvision Remove")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(adsFireAnim)
[
exec
{
label("ADS Fire")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(adsLastShotAnim)
[
exec
{
label("ADS Last Shot")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(adsUpAnim)
[
exec
{
label("ADS Up")
reldir("share/main/xanim/")
width(500)
}
]
fileedit(adsDownAnim)
[
exec
{
label("ADS Down")
reldir("share/main/xanim/")
width(500)
}
]
}
[
exec
{
groupBox("XAnims")
}
]
////////////////////////////////////////
// Particle Effects
////////////////////////////////////////
vcontainer
{
fileedit(viewFlashEffect)
[
exec
{
label("View Flash")
reldir("share/raw/")
width(500)
}
]
fileedit(worldFlashEffect)
[
exec
{
label("World Flash")
reldir("share/raw/")
width(500)
}
]
fileedit(shellEjectEffect)
[
exec
{
label("Shell Eject")
reldir("share/raw/")
width(500)
}
]
fileedit(lastShotEjectEffect)
[
exec
{
label("Last Shot Eject")
reldir("share/raw/")
width(500)
}
]
fileedit(worldClipDropEffect)
[
exec
{
label("World Clip Drop Effect")
reldir("share/raw/")
width(500)
}
]
}
[
exec
{
groupBox("Effects")
}
]
////////////////////////////////////////
// Sounds
////////////////////////////////////////
vcontainer
{
hcontainer
{
edit(pickupSound)
[
exec
{
label("Pickup")
width(400)
}
]
edit(pickupSoundPlayer)
[
exec
{
label("Pickup (Player)")
width(400)
}
]
}
hcontainer
{
edit(ammoPickupSound)
[
exec
{
label("Ammo Pickup")
width(400)
}
]
edit(ammoPickupSoundPlayer)
[
exec
{
label("Ammo Pickup (Player)")
width(400)
}
]
}
edit(projectileSound)
[
exec
{
label("Projectile")
width(500)
}
]
hcontainer
{
edit(fireSound)
[
exec
{
label("Fire")
width(400)
}
]
edit(fireSoundPlayer)
[
exec
{
label("Fire (Player)")
tooltip("Fire sound used by player. If not defined, player will play normal 'Fire' that is used by the AI.")
width(400)
}
]
}
hcontainer
{
edit(lastShotSound)
[
exec
{
label("Last Shot")
width(400)
}
]
edit(lastShotSoundPlayer)
[
exec
{
label("Last Shot (Player)")
tooltip("Last Shot sound used by player. If not defined, player will play normal 'Last Shot' that is used by the AI.")
width(400)
}
]
}
hcontainer
{
edit(emptyFireSound)
[
exec
{
label("Empty Fire")
width(400)
}
]
edit(emptyFireSoundPlayer)
[
exec
{
label("Empty Fire (Player)")
tooltip("Empty Fire sound used by player. If not defined, player will play normal 'Empty Fire' that is used by the AI.")
width(400)
}
]
}
hcontainer
{
edit(meleeSwipeSound)
[
exec
{
label("Melee Swipe")
width(400)
}
]
edit(meleeSwipeSoundPlayer)
[
exec
{
label("Melee Swipe (Player)")
width(400)
}
]
}
hcontainer
{
edit(rechamberSound)
[
exec
{
label("Rechamber")
width(400)
}
]
edit(rechamberSoundPlayer)
[
exec
{
label("Rechamber (Player)")
tooltip("Rechamber sound used by player. If not defined, player will play normal 'Rechamber' that is used by the AI.")
width(400)
}
]
}
hcontainer
{
edit(reloadSound)
[
exec
{
label("Reload")
width(400)
}
]
edit(reloadSoundPlayer)
[
exec
{
label("Reload (Player)")
tooltip("Reload sound used by player. If not defined, player will play normal 'Reload' that is used by the AI.")
width(400)
}
]
}
hcontainer
{
edit(reloadEmptySound)
[
exec
{
label("Reload Empty")
width(400)
}
]
edit(reloadEmptySoundPlayer)
[
exec
{
label("Reload Empty (Player)")
tooltip("Reload Empty sound used by player. If not defined, player will play normal 'Reload Empty' that is used by the AI.")
width(400)
}
]
}
hcontainer
{
edit(reloadStartSound)
[
exec
{
label("Reload Start")
width(400)
}
]
edit(reloadStartSoundPlayer)
[
exec
{
label("Reload Start (Player)")
tooltip("Reload Start sound used by player. If not defined, player will play normal 'Reload Start' that is used by the AI.")
width(400)
}
]
}
hcontainer
{
edit(reloadEndSound)
[
exec
{
label("Reload End")
width(400)
}
]
edit(reloadEndSoundPlayer)
[
exec
{
label("Reload End (Player)")
tooltip("Reload End sound used by player. If not defined, player will play normal 'Reload End' that is used by the AI.")
width(400)
}
]
}
hcontainer
{
edit(altSwitchSound)
[
exec
{
label("Alt Switch")
width(400)
}
]
edit(altSwitchSoundPlayer)
[
exec
{
label("Alt Switch (Player)")
width(400)
}
]
}
hcontainer
{
edit(raiseSound)
[
exec
{
label("Raise")
width(400)
}
]
edit(raiseSoundPlayer)
[
exec
{
label("Raise (Player)")
width(400)
}
]
}
hcontainer
{
edit(firstRaiseSound)
[
exec
{
label("First Raise")
width(400)
}
]
edit(firstRaiseSoundPlayer)
[
exec
{
label("First Raise (Player)")
width(400)
}
]
}
hcontainer
{
edit(putawaySound)
[
exec
{
label("Put Away")
width(400)
}
]
edit(putawaySoundPlayer)
[
exec
{
label("Put Away (Player)")
width(400)
}
]
}
hcontainer
{
edit(nightVisionWearSound)
[
exec
{
label("NightVis Wear")
width(400)
}
]
edit(nightVisionWearSoundPlayer)
[
exec
{
label("NightVis Wear (Player)")
width(400)
}
]
}
hcontainer
{
edit(nightVisionRemoveSound)
[
exec
{
label("NightVis Remove")
width(400)
}
]
edit(nightVisionRemoveSoundPlayer)
[
exec
{
label("NightVis Remove (Player)")
width(400)
}
]
}
edit(projIgnitionSound)
[
exec
{
label("Projectile Ignition")
width(500)
}
]
}
[
exec
{
groupBox("Sound")
}
]
vcontainer
{
multiedit(notetrackSoundMap)
[
exec
{
label("")
labelwidth(0)
tooltip("Sounds to play when viewmodel hits different notetrack events. One per line, format is: NOTETRACKNAME,soundalias")
width(500)
height(120)
}
]
}
[
exec
{
groupBox("Viewmodel Notetrack-to-Sound Mappings")
}
]
////////////////////////////////////////
// Rumbles
////////////////////////////////////////
vcontainer
{
scrollbox(fireRumble)
[
exec
{
width(500)
}
]
scrollbox(meleeImpactRumble)
[
exec
{
width(500)
}
]
}
[
exec
{
groupBox("Rumbles")
}
]
////////////////////////////////////////
// UI
////////////////////////////////////////
vcontainer
{
hcontainer
{
fileedit(hudIcon)
[
exec
{
label("Hud Icon")
reldir("pc/main/")
width(500)
labelwidth(180)
}
]
scrollbox(hudIconRatio)
[
exec
{
label(" Aspect:")
width(110)
labelwidth(60)
}
]
}
hcontainer
{
fileedit(killIcon)
[
exec
{
label("Kill Icon")
reldir("pc/main/")
width(500)
labelwidth(180)
}
]
scrollbox(killIconRatio)
[
exec
{
label(" Aspect:")
width(110)
labelwidth(60)
}
]
checkbox(flipKillIcon)
[
exec
{
label(" Flip:")
tooltip("Used for weapons that need to have their kill icon horizontally flipped before displaying. (For MP obituaries).")
lefttext()
width(65)
labelwidth(40)
}
]
}
hcontainer
{
fileedit(dpadIcon)
[
exec
{
label("DPad Icon")
reldir("pc/main/")
width(500)
labelwidth(180)
}
]
scrollbox(dpadIconRatio)
[
exec
{
label(" Aspect:")
width(110)
labelwidth(60)
}
]
}
hcontainer
{
fileedit(ammoCounterIcon)
[
exec
{
label("Ammo Counter Icon")
reldir("pc/main/")
width(500)
labelwidth(180)
}
]
scrollbox(ammoCounterIconRatio)
[
exec
{
label(" Aspect:")
width(110)
labelwidth(60)
}
]
}
scrollbox(ammoCounterClip)
[
exec
{
label("Ammo Counter Clip Style")
width(300)
labelwidth(180)
}
]
}
[
exec
{
groupBox("User Interface")
}
]
////////////////////////////////////////
// Bounce factors
////////////////////////////////////////
hcontainer
{
vcontainer
{
floatedit(parallelDefaultBounce, 0.01, 0.1)
[
exec
{
label("default")
}
]
floatedit(parallelBarkBounce, 0.01, 0.1)
[
exec
{
label("bark")
}
]
floatedit(parallelBrickBounce, 0.01, 0.1)
[
exec
{
label("brick")
}
]
floatedit(parallelCarpetBounce, 0.01, 0.1)
[
exec
{
label("carpet")
}
]
floatedit(parallelClothBounce, 0.01, 0.1)
[
exec
{
label("cloth")
}
]
floatedit(parallelConcreteBounce, 0.01, 0.1)
[
exec
{
label("concrete")
}
]
floatedit(parallelDirtBounce, 0.01, 0.1)
[
exec
{
label("dirt")
}
]
floatedit(parallelFleshBounce, 0.01, 0.1)
[
exec
{
label("flesh")
}
]
floatedit(parallelFoliageBounce, 0.01, 0.1)
[
exec
{
label("foliage")
}
]
floatedit(parallelGlassBounce, 0.01, 0.1)
[
exec
{
label("glass")
}
]
floatedit(parallelGrassBounce, 0.01, 0.1)
[
exec
{
label("grass")
}
]
floatedit(parallelGravelBounce, 0.01, 0.1)
[
exec
{
label("gravel")
}
]
floatedit(parallelIceBounce, 0.01, 0.1)
[
exec
{
label("ice")
}
]
floatedit(parallelMetalBounce, 0.01, 0.1)
[
exec
{
label("metal")
}
]
floatedit(parallelMudBounce, 0.01, 0.1)
[
exec
{
label("mud")
}
]
floatedit(parallelPaperBounce, 0.01, 0.1)
[
exec
{
label("paper")
}
]
floatedit(parallelPlasterBounce, 0.01, 0.1)
[
exec
{
label("plaster")
}
]
floatedit(parallelRockBounce, 0.01, 0.1)
[
exec
{
label("rock")
}
]
floatedit(parallelSandBounce, 0.01, 0.1)
[
exec
{
label("sand")
}
]
floatedit(parallelSnowBounce, 0.01, 0.1)
[
exec
{
label("snow")
}
]
floatedit(parallelWaterBounce, 0.01, 0.1)
[
exec
{
label("water")
}
]
floatedit(parallelWoodBounce, 0.01, 0.1)
[
exec
{
label("wood")
}
]
floatedit(parallelAsphaltBounce, 0.01, 0.1)
[
exec
{
label("asphalt")
}
]
floatedit(parallelCeramicBounce, 0.01, 0.1)
[
exec
{
label("ceramic")
}
]
floatedit(parallelPlasticBounce, 0.01, 0.1)
[
exec
{
label("plastic")
}
]
floatedit(parallelRubberBounce, 0.01, 0.1)
[
exec
{
label("rubber")
}
]
floatedit(parallelCushionBounce, 0.01, 0.1)
[
exec
{
label("cushion")
}
]
floatedit(parallelFruitBounce, 0.01, 0.1)
[
exec
{
label("fruit")
}
]
floatedit(parallelPaintedMetalBounce, 0.01, 0.1)
[
exec
{
label("painted metal")
}
]
}
[
exec
{
groupBox("Parallel Bounce Factors")
}
]
vcontainer
{
floatedit(perpendicularDefaultBounce, 0.01, 0.1)
[
exec
{
label("default")
}
]
floatedit(perpendicularBarkBounce, 0.01, 0.1)
[
exec
{
label("bark")
}
]
floatedit(perpendicularBrickBounce, 0.01, 0.1)
[
exec
{
label("brick")
}
]
floatedit(perpendicularCarpetBounce, 0.01, 0.1)
[
exec
{
label("carpet")
}
]
floatedit(perpendicularClothBounce, 0.01, 0.1)
[
exec
{
label("cloth")
}
]
floatedit(perpendicularConcreteBounce, 0.01, 0.1)
[
exec
{
label("concrete")
}
]
floatedit(perpendicularDirtBounce, 0.01, 0.1)
[
exec
{
label("dirt")
}
]
floatedit(perpendicularFleshBounce, 0.01, 0.1)
[
exec
{
label("flesh")
}
]
floatedit(perpendicularFoliageBounce, 0.01, 0.1)
[
exec
{
label("foliage")
}
]
floatedit(perpendicularGlassBounce, 0.01, 0.1)
[
exec
{
label("glass")
}
]
floatedit(perpendicularGrassBounce, 0.01, 0.1)
[
exec
{
label("grass")
}
]
floatedit(perpendicularGravelBounce, 0.01, 0.1)
[
exec
{
label("gravel")
}
]
floatedit(perpendicularIceBounce, 0.01, 0.1)
[
exec
{
label("ice")
}
]
floatedit(perpendicularMetalBounce, 0.01, 0.1)
[
exec
{
label("metal")
}
]
floatedit(perpendicularMudBounce, 0.01, 0.1)
[
exec
{
label("mud")
}
]
floatedit(perpendicularPaperBounce, 0.01, 0.1)
[
exec
{
label("paper")
}
]
floatedit(perpendicularPlasterBounce, 0.01, 0.1)
[
exec
{
label("plaster")
}
]
floatedit(perpendicularRockBounce, 0.01, 0.1)
[
exec
{
label("rock")
}
]
floatedit(perpendicularSandBounce, 0.01, 0.1)
[
exec
{
label("sand")
}
]
floatedit(perpendicularSnowBounce, 0.01, 0.1)
[
exec
{
label("snow")
}
]
floatedit(perpendicularWaterBounce, 0.01, 0.1)
[
exec
{
label("water")
}
]
floatedit(perpendicularWoodBounce, 0.01, 0.1)
[
exec
{
label("wood")
}
]
floatedit(perpendicularAsphaltBounce, 0.01, 0.1)
[
exec
{
label("asphalt")
}
]
floatedit(perpendicularCeramicBounce, 0.01, 0.1)
[
exec
{
label("ceramic")
}
]
floatedit(perpendicularPlasticBounce, 0.01, 0.1)
[
exec
{
label("plastic")
}
]
floatedit(perpendicularRubberBounce, 0.01, 0.1)
[
exec
{
label("rubber")
}
]
floatedit(perpendicularCushionBounce, 0.01, 0.1)
[
exec
{
label("cushion")
}
]
floatedit(perpendicularFruitBounce, 0.01, 0.1)
[
exec
{
label("fruit")
}
]
floatedit(perpendicularPaintedMetalBounce, 0.01, 0.1)
[
exec
{
label("painted metal")
}
]
}
[
exec
{
groupBox("Perpendicular Bounce Factors")
}
]
}
////////////////////////////////////////
// Depth of Field Settings
////////////////////////////////////////
vcontainer
{
hcontainer
{
floatedit(adsDofStart, 0.1, 0.5)
[
exec
{
label("ADS Start")
}
]
floatedit(adsDofEnd, 0.1, 0.5)
[
exec
{
label("ADS End")
}
]
}
}
[
exec
{
groupBox("Depth of Field Settings")
}
]
}