ObjectTemplate.SubmarineData

From Pilot_51's Wiki
Jump to navigation Jump to search

MDT Description

The MDT does not have a description for this property.

Source and more details

Additional Description

The line before this property in default BF1942 really helps explain how it works.

rem *** <oxygenUsagerate> <oxygenFillrate> <oxygenDamageRate> <periscopeMinDepth> <periscopeMaxDepth> <maxDepth> <maxDepthDamageRate>


oxygenUsagerate defines how fast oxygen is used up (100%/sec) while air tube is underwater. A value of 0.1 means a full tank of oxygen will be used up after 10 seconds.
oxygenFillrate defines how fast oxygen is refilled (100%/sec) while air tube is above water. A value of 0.1 means an empty tank of oxygen will be refilled after 10 seconds.
oxygenDamageRate defines how fast soldier damage is taken (HP/sec) when oxygen runs out. By default, soldiers have 30HP and this setting is at 1, so it takes 30 seconds to die after running out of oxygen.
periscopeMinDepth has an unknown purpose. According to a forum post found by Google, it has been said to be very similar to periscopeMaxDepth, but my tests show it not to be the case and I have been unable to determine what it does.
periscopeMaxDepth defines at what depth in meters the oxygen intake is cut off, as well as the slightly higher depth that the view switches between the periscope and the underwater HUD.
maxDepth defines how deep the submarine can go in meters before it starts taking crush damage.
maxDepthDamageRate defines how fast vehicle damage is taken (HP/sec) when below maxDepth. By default, submarines have 200HP (100 of which are critical) and this setting is at 5, so it takes 20 seconds to become disabled and another 20 seconds to die (not considering the 1.5HP/sec lost for critical).

periscopeMaxDepth and likely periscopeMinDepth requires the following setting:

ObjectTemplate.SubPos 1

All other arguments will work without this setting, but their indicators won't be displayed on the HUD.
If this property is set on a child object, oxygen and depth arguments will not work properly or at all. maxDepth will only show on the depth indicators and the oxygen indicators always show full. Oxygen damage is equal to the main parent object, i.e. when the parent object runs out of oxygen both the soldier in the child object and the soldier in the parent object takes damage at the same rate. If the child object has its own damage it is not affected by crush damage, but if it doesn't have its own damage it essentially is the parent object in regard to damage.