Jump to content

Formulas For Loadout Analysis


6 replies to this topic

#1 The Caterpillar

    Member

  • PipPip
  • Ace Of Spades
  • Ace Of Spades
  • 32 posts

Posted 23 December 2020 - 05:02 AM

Coming back to MWO after a year or so, I've decided to share some of the formulas I use when evaluating loadouts. Any corrections are appreciated.

numHeatSinks - number of external double heat sinks equipped
dHSDis - dissipation rate of double heat sinks (.22)
engineHeatSinks=MIN(10;FLOOR(engRating/25))

disPerc - mech's dissipation bonus percentage as shown in the quirks and skills list
dis - the mech's final dissipation rate (1+disPerc/100*(dHSDis*engineHeatSinks+dHSDis*numHeatSinks))

Sustained DPS (“Cold DPS”):

coldNum - the number of a weapon that can be fired within the mech's remaining dissipation rate
coldNum(remainingDis,weapon){
hps - heat per second of the weapon
quantity - quantity of the weapon
coldNum=hps==0?quantity:MIN(quantity,remainingDis/hps)
}
lowest - weapon with the lowest heat per damage
coldNumLowest=coldNum(dis,lowest)

coldDps=dpsOfLowest*coldNumLowest+dpsOfSecondLowest*coldNum(dis-coldNumLowest*hpsOfLowest,secondLowest)+...

Heat Capped Fire Duration:

eDHSCap - heat capacity provided by external double heat sinks (.5)
iDHSCap - heat capacity provided by internal double heat sinks (2)
baseCap – the base heat capacity of the mech (engineHeatSinks*iDHSCap+30)
capPerc - mech's heat capacity bonus percentage as shown in the quirks and skills list
sumHps - total heat per second of all weapons or select weapons

fireDuration=baseCap+numHeatSinks*eDHSCap*(1+capPerc/100)/(sumHps-dis)

Heat Capped Damage:

sumDps - total damage per second of all weapons included in the fireDuration

damageCap=fireDuration*sumDps

UAC Average Cooldown:

jamDur - duration the weapon remains jammed
jamChance - chance of jamming
cooldown - weapon's cooldown, distinct from cycle time which includes the weapon's volley duration and is applied after adjusting cooldown

adjustedCooldown=jamDur*jamChance+cooldown

Jam chance and jam duration values are from observation, may not be 100% accurate!








wpn cd jamChc jamDur adjCD
UAC/2 .72 .15 3.25 1.21
UAC/5 1.66 .15 5.75 2.52
UAC/10 2.25 .15 7.50 3.38
UAC/20 4.00 .14 7.50 5.13
C-UAC/2 .72 .17 3.50 1.25
C-UAC/5 1.66 .17 6.50 2.64
C-UAC/10 2.50 .17 7.75 3.66
C-UAC/20 4.00 .16 7.75 5.16


Adjusted Weapon Tonnage:

X-factors of a weapon including ammo, weapon size, and heat can be roughly evaluated by considering the cost in tons to account for them. Adjusted weapon tonnage drastically inflates the weight of a weapon, so consider it more of a 'magic number' than an actual weight value.

tons – weapon tonnage

ammo – amount of ammo in one ton of weapon ammo
salvo – number subtracted from ammo when the weapon is fired once
mReq - estimated ammo required based on a fire duration of 100 seconds, adjust this number for your usual ammo consumption for a given weapon (100/(ammo/salvo*cooldown))

slotWeight – a rough average of the weight of a slot based on the potential for using ferro fibrous and endo-steel, estimated to be (.23)

adjTons=tons+mReq+slotWeight*(size+mReq+hps/dHSdis*(clan?2:3))+hps/dHSdis

Weapon Efficiency:

=damage/cycle/adjTons

Edited by The Caterpillar, 05 January 2021 - 04:42 AM.


#2 Horseman

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Mercenary
  • The Mercenary
  • 4,737 posts
  • LocationPoland

Posted 23 December 2020 - 07:33 AM

  • The cap and dissipation of external and internal heat sinks has been changed a year or two ago. If you're still using the old values, your math is off.

Quote

adjustedFireRate=jamDur*jamChance+cooldown
  • That's not ROF, that's adjusted cooldown. ROF is (2-jamChance) / adjCooldown
  • For UACs, you should consider two values: Peak DPS and Average DPS. They're not the same!

Quote

chance of jamming (.15)
That's not entirely true. Base value for IS UACs is .15, for Clan UACs is .17, 20s have it .01 lower in both cases.

You'll probably want to consult this: https://mwomercs.com.../list/full.json

Here is this info plugged into a calculator: https://docs.google....df2I/edit#gid=0
The ghost heat calculations may be off, as the sliding scale PGI published dates back to the beta.

Edited by Horseman, 23 December 2020 - 07:37 AM.


#3 The Caterpillar

    Member

  • PipPip
  • Ace Of Spades
  • Ace Of Spades
  • 32 posts

Posted 23 December 2020 - 12:23 PM

View PostHorseman, on 23 December 2020 - 07:33 AM, said:

That's not ROF, that's adjusted cooldown. ROF is (2-jamChance) / adjCooldown
That's not entirely true. Base value for IS UACs is .15, for Clan UACs is .17, 20s have it .01 lower in both cases.





Whoops you're right, I meant cooldown not fire rate. Thanks for the data correction as well.

#4 Horseman

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Mercenary
  • The Mercenary
  • 4,737 posts
  • LocationPoland

Posted 23 December 2020 - 12:35 PM

Another thing I forgot... you need to account for volley duration in your cooldown and ROF calculations, else you'll be off by 0.11 to 0.33s in the cycle rate (my calculator has that and factors it in) EDIT: for UACs and C-ACs, specifically

Edited by Horseman, 24 December 2020 - 05:56 AM.


#5 Gagis

    Member

  • PipPipPipPipPipPipPipPip
  • FP Veteran - Beta 1
  • FP Veteran - Beta 1
  • 1,731 posts

Posted 23 December 2020 - 02:08 PM

http://emilybjoerk.github.io/lsml/

#6 Aidan Crenshaw

    Member

  • PipPipPipPipPipPipPipPipPip
  • The Mercenary
  • The Mercenary
  • 3,641 posts

Posted 05 January 2021 - 01:06 AM

your formula does not use the latest heat dissipation and capacity values. You may want to review these or else your evaluations are just crap.

#7 The Caterpillar

    Member

  • PipPip
  • Ace Of Spades
  • Ace Of Spades
  • 32 posts

Posted 05 January 2021 - 04:43 AM

View PostAidan Crenshaw, on 05 January 2021 - 01:06 AM, said:

your formula does not use the latest heat dissipation and capacity values. You may want to review these or else your evaluations are just crap.


Should be good now, thanks





4 user(s) are reading this topic

0 members, 4 guests, 0 anonymous users