cod4-sdk/deffiles/turretweapon.gdf
2008-01-19 00:00:00 +00:00

571 lines
10 KiB
Text

#name "turretweapon"
#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 24
// This tells the configstring converter what the file type identifier should be
string "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
string "none" projectileTrail
enum { "turret" } weaponClass
enum { "bullet", "projectile" } weaponType
enum { "stand", "prone", "duck" } stance
enum { "none", "bullet_small", "bullet_large", "bullet_ap", "shotgun", "grenade_bounce", "grenade_explode", "rocket_explode", "projectile_dud" } impactType
enum { "none", "small", "medium", "large" } penetrateType
enum { "primary" } inventoryType
enum { "Full Auto", "Single Shot" } fireType
string adsOverlayShader
int 320 1 640 adsOverlayWidth
int 240 1 480 adsOverlayHeight
enum { "none", "Turret Scope" } adsOverlayInterface
int 1 0 1 projImpactExplode
int 600 0 10000 projectileSpeed
int 300 0 10000 explosionRadius
int 10 0 10000 explosionInnerDamage
int 10 0 10000 explosionOuterDamage
float 180 0 180 damageConeAngle
string script
int 30 0 1000 damage
int 30 0 1000 playerDamage
int 30 0 1000 minDamage
int 30 0 1000 minPlayerDamage
float 15000 1 15000 maxDamageRange
float 16000 1 16000 minDamageRange
float 1600 0 10000 enemyCrosshairRange
float 1600 0 8000 autoAimRange
float 3200 0 8000 aimAssistRange
float 3200 0 8000 aimAssistRangeAds
int 115 0 360 leftArc
int 115 0 360 rightArc
int 90 0 360 topArc
int 90 0 360 bottomArc
int 0 0 360 grabarc
float 1 0 1 accuracy
float 2 0 180 aiSpread
float 1 0 180 playerSpread
float 0.05 0.0 10.0 fireTime
int 20 0 180 animHorRotateInc
int 5 1 720 minHorTurnSpeed
int 5 1 720 minVertTurnSpeed
int 360 1 720 maxHorTurnSpeed
int 360 1 720 maxVertTurnSpeed
int 100 1 720 horTurnSpeed
int 100 1 720 vertTurnSpeed
float 0.3 0 60 pitchConvergenceTime
float 2 0 60 yawConvergenceTime
float 2 0 60 suppressionTime
float 0 0 1000000 maxRange
float 0.5 0 5 horizViewJitter
float 0.5 0 5 vertViewJitter
int 0 0 1 rifleBullet
int 0 0 1 armorPiercing
string fireSound
string fireSoundPlayer
string loopFireSound
string loopFireSoundPlayer
string stopFireSound
string stopFireSoundPlayer
string viewFlashEffect
string worldFlashEffect
string reticleCenter
int 32 1 480 reticleCenterSize
string idleAnim
string fireAnim
float 46 1 128 playerPositionDist
string hudIcon
string killIcon
enum { "4:1", "1:1", "2:1" } hudIconRatio
enum { "4:1", "1:1", "2:1" } killIconRatio
int 1 0 1 flipKillIcon
string useHintString
string dropHintString
keyenum("rumble.gdf") fireRumble
float 0 0 100 adsDofStart
float 0 0 100 adsDofEnd
vcontainer
{
scrollbox(targetFolder)
[
exec
{
width(300)
}
]
scrollbox(stance)
[
exec
{
width(300)
}
]
scrollbox(weaponType)
[
exec
{
width(300)
}
]
scrollbox(impactType)
[
exec
{
width(300)
label("Impact type")
tooltip("The impact type, used to play impact effects based on surfacetype")
}
]
scrollbox(penetrateType)
[
exec
{
label("Penetration")
tooltip("Type of bullet penetration.")
}
]
scrollbox(fireType)
[
exec
{
width(300)
label("Fire Type")
tooltip("Behavior of the weapon when the trigger is held down.")
}
]
////////////////////////////////////////
// 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)")
}
]
spinedit(damage, 1, 10)
[
exec
{
tooltip("The maximum amount of per-bullet damage done to anything other than the player at maxDamageRange.")
}
]
spinedit(playerDamage, 1, 10)
[
exec
{
tooltip("The maximum amount of per-bullet damage done only to the player at maxDamageRange.")
}
]
spinedit(minDamage, 1, 10)
[
exec
{
tooltip("The minimum amount of per-bullet damage done to anything other than the player at minDamageRange.")
}
]
spinedit(minPlayerDamage, 1, 10)
[
exec
{
tooltip("The minimum amount of per-bullet damage done only to the player at minDamageRange.")
}
]
floatedit(maxDamageRange, 120, 8000)
[
exec
{
tooltip("Distance specified in world units. 1 world unit = 1 inch.")
}
]
floatedit(minDamageRange, 120, 8000)
[
exec
{
tooltip("Distance specified in world units. 1 world unit = 1 inch.")
}
]
floatedit(enemyCrosshairRange, 1, 100)
[
exec
{
label("Enemy Crosshair Range")
tooltip("The range in world units at which an enemy will change your crosshair color. (1 world unit = 1 inch)")
width(280)
labelwidth(180)
}
]
spinedit(projectileSpeed, 10, 100)
spinedit(explosionRadius, 10, 50)
spinedit(explosionInnerDamage, 1, 10)
[
exec
{
width(300)
labelwidth(160)
}
]
spinedit(explosionOuterDamage, 1, 10)
[
exec
{
width(300)
labelwidth(160)
}
]
spinedit(leftArc, 1, 10)
spinedit(rightArc, 1, 10)
spinedit(topArc, 1, 10)
spinedit(bottomArc, 1, 10)
floatedit(accuracy, 0.1, 0.2)
[
exec
{
tooltip("The probability between 0 and 1 that for any bullet the AI will aim at the player")
}
]
floatedit(aiSpread, 0.1, 0.2)
[
exec
{
label("ai spread")
width(270)
tooltip("The bullet spread in degrees when the gun is used by AI")
}
]
floatedit(playerSpread, 0.1, 0.2)
[
exec
{
label("player spread")
width(270)
tooltip("The bullet spread in degrees when the gun is used by the player")
}
]
floatedit(fireTime, 0.05, 0.2)
spinedit(animHorRotateInc, 1, 10)
spinedit(minHorTurnSpeed, 1, 10)
spinedit(minVertTurnSpeed, 1, 10)
spinedit(maxHorTurnSpeed, 1, 10)
spinedit(maxVertTurnSpeed, 1, 10)
floatedit(pitchConvergenceTime, 0.1, 1)
floatedit(yawConvergenceTime, 0.1, 1)
floatedit(suppressionTime, 0.1, 1)
floatedit(maxRange, 1, 10)
floatedit(horizViewJitter, 0.1, 1)
floatedit(vertViewJitter, 0.1, 1)
edit(script)
checkbox(rifleBullet)
checkbox(armorPiercing)
checkbox(projImpactExplode)
edit(fireSound)
edit(fireSoundPlayer)
[
exec
{
label("fire (Player)")
}
]
edit(loopFireSound)
edit(loopFireSoundPlayer)
[
exec
{
label("loopFire (Player)")
}
]
edit(stopFireSound)
edit(stopFireSoundPlayer)
[
exec
{
label("stopFire (Player)")
}
]
fileedit(viewFlashEffect)
[
exec
{
reldir("raw/")
}
]
fileedit(worldFlashEffect)
[
exec
{
reldir("raw/")
}
]
fileedit(reticleCenter)
[
exec
{
reldir("raw/")
}
]
spinedit(reticleCenterSize, 1, 2)
fileedit(idleAnim)
[
exec
{
reldir("raw/xanim/")
width(500)
}
]
fileedit(fireAnim)
[
exec
{
reldir("raw/xanim/")
width(500)
}
]
floatedit(playerPositionDist, 1, 10)
////////////////////////////////////////
// UI
////////////////////////////////////////
vcontainer
{
hcontainer
{
fileedit(hudIcon)
[
exec
{
label("Hud Icon")
reldir("raw/")
width(450)
labelwidth(130)
}
]
scrollbox(hudIconRatio)
[
exec
{
label(" Aspect:")
width(110)
labelwidth(60)
}
]
}
hcontainer
{
fileedit(killIcon)
[
exec
{
label("Kill Icon")
reldir("raw/")
width(450)
labelwidth(130)
}
]
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)
}
]
}
edit(useHintString)
edit(dropHintString)
}
[
exec
{
groupBox("User Interface")
}
]
scrollbox(fireRumble)
[
exec
{
width(500)
}
]
////////////////////////////////////////
// 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")
}
]
////////////////////////////////////////
// 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(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")
}
]
}