DistToStartLoseDamage Property

Usage:
   ObjectTemplate.DistToStartLoseDamage number

Argument values:

argument 1:    range is 20 to 50; most commonly 50

Description: A number of hand weapons, namely the medics' submachineguns, the Breda and Bren, the shotgun, and the pistols, have their damage drop off with range. Call this drop-off factor the DistanceMod. For all other weapons this term is always 1.0, i.e. the range does not affect the result. The important factors here are in the objects/handweapons/Common/Weapons.con file. Here is a typical entry, for the shotgun:

  ObjectTemplate.MinDamage 0.5
  ObjectTemplate.DistToStartLoseDamage 40
  ObjectTemplate.DistToMinDamage 80

The DistToStartLoseDamage specifies the distance (in meters) at which the damage of the projectile will start to decrease. The MinDamage value is the lowest ratio possible for damage. The DistToMinDamage is the distance beyond which the projectile does its minimum amount of damage. In other words, if a shotgun pellet hits at closer than 40 meters, the DistanceMod is 1.0, beyond 80 meters the DistanceMod is 0.5, between these two the DistanceMod drops linearly from 1.0 to 0.5. Submachineguns start to lose damage at 50 meters and drop to 0.5 at 100 meters. The pistols start to drop at 20 meters and drop to 0.5 at 40 meters. When the distance is between DistToStartLoseDamage and DistToMinDamage, the equation is this:

  DistanceMod = MinDamage + (1-MinDamage) * (DistToMinDamage - distance) / (DistToMinDamage - DistToStartLoseDamage) 

So for a shotgun pellet hitting at, say, 50 meters, the value would be:

  DistanceMod = 0.5 + (1-0.5) * (80 - 50) / (80 - 40) = 0.875 

Related properties: DistToMinDamage

Used in object types (and how often in each type): HandFireArms (9%), Projectile (4%)

Used in a total of 12 .con files: Objects.con, Projectile.con, Weapons.con

Parent directory of these .con files: objects/HandWeapons

Example: (from objects/HandWeapons/BrenLMG/Objects.con)
   ObjectTemplate.Create HandFireArms BrenLMG
   ObjectTemplate.ItemIndex 3
   ObjectTemplate.NetworkableInfo HandFireArmsInfo
   ObjectTemplate.ProjectileTemplate barProjectile
   rem ObjectTemplate.setTracerTemplate Tracer_Projectile CRD_UNIFORM/2/4/0
   ObjectTemplate.ProjectilePosition 0/0/0
   ObjectTemplate.HasDynamicShadow 1
   ObjectTemplate.MagSize 30
   ObjectTemplate.NumOfMag 5
   ObjectTemplate.MagType 0
   ObjectTemplate.Reloadtime 4.3
   ObjectTemplate.RoundOfFire 9
   ObjectTemplate.GUIIndex 7
   ObjectTemplate.SetHudAmmoType ATAmmoBar
   ObjectTemplate.SetAmmoBar "Ingame/Magbar_Sg44_empty_32x64.tga"
   ObjectTemplate.SetAmmoBarFill "Ingame/Magbar_Sg44_full_32x64.tga"
   ObjectTemplate.SetAmmoBarSize 64
   ObjectTemplate.SetAmmoBarPosX 3
   ObjectTemplate.SetAmmoBarPosY -11
   ObjectTemplate.SetAmmoBarTextPosX 8
   ObjectTemplate.SetAmmoBarTextPosY 4
   ObjectTemplate.SetCrossHairType CHTCrossHair
   ObjectTemplate.AiTemplate BrenLMGAI
   ObjectTemplate.ZoomFov 0.6
   ObjectTemplate.AltFireOnce 1
   ObjectTemplate.SoldierZoomFov 0.6
   ObjectTemplate.SoldierZoomPosition 0.05/-0.05/0.15
   ObjectTemplate.SoldierCameraPosition 0.02/-0.04/0.09
   ObjectTemplate.AddRootSpeed 0
   ObjectTemplate.AmmoType 1
   rem ObjectTemplate.allowReloadOnEmptyClipOnly 1
   ObjectTemplate.MinDamage 0.5
   ObjectTemplate.DistToStartLoseDamage 50
   ObjectTemplate.DistToMinDamage 100
   rem ObjectTemplate.autoReload 1
   Rem *** Deviation Begin *****
   ObjectTemplate.Velocity 1000
   ObjectTemplate.SetRecoilForceUp CRD_UNIFORM/0.28/0.32/0
   ObjectTemplate.SetRecoilForceLeftRight CRD_UNIFORM/-0.2/0.2/0
   ObjectTemplate.SetHasRecoilForce 1
   ObjectTemplate.SetGoBackOnRecoil 1
   rem ** FireDev harge large a reticule/how quickly it expands/how quickly it returns
   rem ** setDevMod(float devModStand, float devModCrouch, float devModLie)
   rem ** Mindev sets the size of the reticule/deviation of bullets
   rem ** Turndev setTurnDev(float max, float addPitch, float addYaw, float sub)
   rem ** SpeedDev setSpeedDev(float max, float addForward, float addStrafe, float sub)
   rem ** MiscDev setMiscDev(float max, float addJump, float sub)
   ObjectTemplate.SetFireDev 3.6 0.3 0.05
   ObjectTemplate.SetDevMod 1.1 0.85 0.1
   ObjectTemplate.SetMinDev 0.7
   ObjectTemplate.SetTurnDev 0 0 0 0
   ObjectTemplate.SetSpeedDev 2.3 0.2 0.2 0.1
   ObjectTemplate.SetMiscDev 2.5 2.5 0.1
   Rem *** Deviation End *****
   ObjectTemplate.FireInCameraDof 1
   ObjectTemplate.LoadSoundScript Sounds/brenLMG.ssc
   ObjectTemplate.CreateSkeleton animations/BrenLMG.ske
   ObjectTemplate.UseSkeletonPartAsMain Base
   ObjectTemplate.AddTemplate BrenLMGLod
   ObjectTemplate.AddTemplate e_MuzzThomp
   ObjectTemplate.SetPosition 0/0.03/0.6
   ObjectTemplate.SetRotation 0/0/0
   ObjectTemplate.AddTemplate e_Shell9mm
   ObjectTemplate.SetPosition 0/0.02/0.13
   ObjectTemplate.SetRotation 0/0/0


Go to the ObjectTemplate properties list page, ObjectTemplate page, All Properties list, or Main scripting page.