project reality header
Go Back   Project Reality Forums > PR:BF2 Mod Forums > PR:BF2 Community Modding > Modding Tutorials
08 Sep 2024, 00:00:00 (PRT)
Register Developer Blogs Members List Search Quick Links
Modding Tutorials Information and tutorials related to modding BF2.

Reply
 
Thread Tools Display Modes
Old 2024-06-26, 12:05   #1
[R-DEV]​Arab
PR:BF2 Developer
Supporting Member

Arab's Avatar
Default Formula for calculating armor hp loss and water delay

In PR, we have a formula that is different from vBF2 that allows vehicles to be exited before they explode.
As of the next planned hotfix of v1.8.0.3/v1.8.1 - this will fix all inconsistent vehicle settings which will address some vehicles blowing up too quickly in water, or too quickly after critical damage.

Here is the vBF2 Formula:
Code:
ObjectTemplate.armor.hpLostWhileUpSideDown - Divide maxHitPoints by 10
ObjectTemplate.armor.hpLostWhileInDeepWater - Divide maxHitPoints by 3 and round to nearest number - so 333 becomes 335
ObjectTemplate.armor.hpLostWhileCriticalDamage - Divide MaxHitPoints by 55
And here is our PR Formula:
Code:
ObjectTemplate.armor.hpLostWhileUpSideDown - Divide maxHitPoints by 200
ObjectTemplate.armor.hpLostWhileInWater - Divide maxHitPoints by 20
ObjectTemplate.armor.hpLostWhileInDeepWater - Divide maxHitPoints by 5
ObjectTemplate.armor.hpLostWhileCriticalDamage - Divide maxHitpoints by 400
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1
Results:
41 seconds from 10 HP until vehicle gets destroyed.
21 seconds from 5 HP until vehicle gets destroyed.
26 seconds in water until vehicle gets destroyed.
5.5 seconds in deep water until vehicle gets destroyed.

And of course, vehicles which are amphibious (drive in water, like the mec_apc_btr80) will not have the water damage delay code which means by default, there won't be any damage applied to the vehicle since it uses ObjectTemplate.floaterMod to keep the vehicle floating combined with Floating Bundle(s), Wing(s) and an Engine set with c_ETShip to help propel it in water.

Calculations for all would look like this:
Code:
ObjectTemplate.armor.maxHitPoints 1000
ObjectTemplate.armor.hpLostWhileUpSideDown 5
ObjectTemplate.armor.hpLostWhileInWater 50
ObjectTemplate.armor.hpLostWhileInDeepWater 200
ObjectTemplate.armor.hpLostWhileCriticalDamage 2.5
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1100
ObjectTemplate.armor.hpLostWhileUpSideDown 5.5
ObjectTemplate.armor.hpLostWhileInWater 55
ObjectTemplate.armor.hpLostWhileInDeepWater 220
ObjectTemplate.armor.hpLostWhileCriticalDamage 2.75
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1110
ObjectTemplate.armor.hpLostWhileUpSideDown 5.55
ObjectTemplate.armor.hpLostWhileInWater 55.5
ObjectTemplate.armor.hpLostWhileInDeepWater 222
ObjectTemplate.armor.hpLostWhileCriticalDamage 2.775
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1200
ObjectTemplate.armor.hpLostWhileUpSideDown 6
ObjectTemplate.armor.hpLostWhileInWater 60
ObjectTemplate.armor.hpLostWhileInDeepWater 240
ObjectTemplate.armor.hpLostWhileCriticalDamage 3
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1250
ObjectTemplate.armor.hpLostWhileUpSideDown 6.25
ObjectTemplate.armor.hpLostWhileInWater 62.5
ObjectTemplate.armor.hpLostWhileInDeepWater 250
ObjectTemplate.armor.hpLostWhileCriticalDamage 3.125
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1270
ObjectTemplate.armor.hpLostWhileUpSideDown 6.35
ObjectTemplate.armor.hpLostWhileInWater 63.5
ObjectTemplate.armor.hpLostWhileInDeepWater 254
ObjectTemplate.armor.hpLostWhileCriticalDamage 3.175
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1275
ObjectTemplate.armor.hpLostWhileUpSideDown 6.375
ObjectTemplate.armor.hpLostWhileInWater 63.75
ObjectTemplate.armor.hpLostWhileInDeepWater 255
ObjectTemplate.armor.hpLostWhileCriticalDamage 3.1875
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1300
ObjectTemplate.armor.hpLostWhileUpSideDown 6.5
ObjectTemplate.armor.hpLostWhileInWater 65
ObjectTemplate.armor.hpLostWhileInDeepWater 260
ObjectTemplate.armor.hpLostWhileCriticalDamage 3.25
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1325
ObjectTemplate.armor.hpLostWhileUpSideDown 6.625
ObjectTemplate.armor.hpLostWhileInWater 66.25
ObjectTemplate.armor.hpLostWhileInDeepWater 265
ObjectTemplate.armor.hpLostWhileCriticalDamage 3.3125
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1350
ObjectTemplate.armor.hpLostWhileUpSideDown 6.75
ObjectTemplate.armor.hpLostWhileInWater 67.5
ObjectTemplate.armor.hpLostWhileInDeepWater 270
ObjectTemplate.armor.hpLostWhileCriticalDamage 3.375
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1370
ObjectTemplate.armor.hpLostWhileUpSideDown 6.85
ObjectTemplate.armor.hpLostWhileInWater 68.5
ObjectTemplate.armor.hpLostWhileInDeepWater 274
ObjectTemplate.armor.hpLostWhileCriticalDamage 3.425
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1380
ObjectTemplate.armor.hpLostWhileUpSideDown 6.9
ObjectTemplate.armor.hpLostWhileInWater 69
ObjectTemplate.armor.hpLostWhileInDeepWater 276
ObjectTemplate.armor.hpLostWhileCriticalDamage 3.45
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1430
ObjectTemplate.armor.hpLostWhileUpSideDown 7.15
ObjectTemplate.armor.hpLostWhileInWater 71.5
ObjectTemplate.armor.hpLostWhileInDeepWater 286
ObjectTemplate.armor.hpLostWhileCriticalDamage 3.575
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1500
ObjectTemplate.armor.hpLostWhileUpSideDown 7.5
ObjectTemplate.armor.hpLostWhileInWater 75
ObjectTemplate.armor.hpLostWhileInDeepWater 300
ObjectTemplate.armor.hpLostWhileCriticalDamage 3.75
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1550
ObjectTemplate.armor.hpLostWhileUpSideDown 7.75
ObjectTemplate.armor.hpLostWhileInWater 77.5
ObjectTemplate.armor.hpLostWhileInDeepWater 310
ObjectTemplate.armor.hpLostWhileCriticalDamage 3.875
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1575
ObjectTemplate.armor.hpLostWhileUpSideDown 7.875
ObjectTemplate.armor.hpLostWhileInWater 78.75
ObjectTemplate.armor.hpLostWhileInDeepWater 315
ObjectTemplate.armor.hpLostWhileCriticalDamage 3.9375
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1600
ObjectTemplate.armor.hpLostWhileUpSideDown 8
ObjectTemplate.armor.hpLostWhileInWater 80
ObjectTemplate.armor.hpLostWhileInDeepWater 320
ObjectTemplate.armor.hpLostWhileCriticalDamage 4
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1700
ObjectTemplate.armor.hpLostWhileUpSideDown 8.5
ObjectTemplate.armor.hpLostWhileInWater 85
ObjectTemplate.armor.hpLostWhileInDeepWater 340
ObjectTemplate.armor.hpLostWhileCriticalDamage 4.25
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 1750
ObjectTemplate.armor.hpLostWhileUpSideDown 8.75
ObjectTemplate.armor.hpLostWhileInWater 87.5
ObjectTemplate.armor.hpLostWhileInDeepWater 350
ObjectTemplate.armor.hpLostWhileCriticalDamage 4.375
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 3000
ObjectTemplate.armor.hpLostWhileUpSideDown 15
ObjectTemplate.armor.hpLostWhileInWater 150
ObjectTemplate.armor.hpLostWhileInDeepWater 600
ObjectTemplate.armor.hpLostWhileCriticalDamage 7.5
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 440
ObjectTemplate.armor.hpLostWhileUpSideDown 2.2
ObjectTemplate.armor.hpLostWhileInWater 22
ObjectTemplate.armor.hpLostWhileInDeepWater 88
ObjectTemplate.armor.hpLostWhileCriticalDamage 1.1
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 500
ObjectTemplate.armor.hpLostWhileUpSideDown 2.5
ObjectTemplate.armor.hpLostWhileInWater 25
ObjectTemplate.armor.hpLostWhileInDeepWater 100
ObjectTemplate.armor.hpLostWhileCriticalDamage 1.25
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 750
ObjectTemplate.armor.hpLostWhileUpSideDown 3.75
ObjectTemplate.armor.hpLostWhileInWater 37.5
ObjectTemplate.armor.hpLostWhileInDeepWater 150
ObjectTemplate.armor.hpLostWhileCriticalDamage 1.875
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 775
ObjectTemplate.armor.hpLostWhileUpSideDown 3.875
ObjectTemplate.armor.hpLostWhileInWater 38.75
ObjectTemplate.armor.hpLostWhileInDeepWater 155
ObjectTemplate.armor.hpLostWhileCriticalDamage 1.9375
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 800
ObjectTemplate.armor.hpLostWhileUpSideDown 4
ObjectTemplate.armor.hpLostWhileInWater 40
ObjectTemplate.armor.hpLostWhileInDeepWater 160
ObjectTemplate.armor.hpLostWhileCriticalDamage 2
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 850
ObjectTemplate.armor.hpLostWhileUpSideDown 4.25
ObjectTemplate.armor.hpLostWhileInWater 42.5
ObjectTemplate.armor.hpLostWhileInDeepWater 170
ObjectTemplate.armor.hpLostWhileCriticalDamage 2.125
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

ObjectTemplate.armor.maxHitPoints 900
ObjectTemplate.armor.hpLostWhileUpSideDown 4.5
ObjectTemplate.armor.hpLostWhileInWater 45
ObjectTemplate.armor.hpLostWhileInDeepWater 180
ObjectTemplate.armor.hpLostWhileCriticalDamage 2.25
ObjectTemplate.armor.waterDamageDelay 5
ObjectTemplate.armor.deepWaterDamageDelay 1

Arab is offline
Last edited by Arab; 2024-06-26 at 12:25..
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 02:05.