Advertisement
sumguytwitches

dv info

Oct 5th, 2023 (edited)
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1.  
  2.  
  3.  
  4. function info {
  5. parameter message.
  6.  
  7. print message.
  8. }
  9. function displayDV {
  10. set liquidmatched to min(ship:oxidizer * 9 / 11, ship:liquidfuel).
  11. set nukeLiquid to max(0, ship:liquidfuel-liquidmatched).
  12. set oxidizermatched to min(ship:oxidizer, ship:liquidfuel * 11 / 9).
  13.  
  14. set nukesfirstdv to Round(800 * 9.81 * ln(ship:mass / (ship:mass - (nukeLiquid * 0.005))), 5).
  15. set vectorsfirstdv to Round(315 * 9.81 * ln(ship:mass / (ship:mass - (liquidmatched * 0.005) - (oxidizermatched * 0.005))), 5).
  16.  
  17. set nukeslastdv to Round(800 * 9.81 * ln((ship:mass - (oxidizermatched * 0.005 + liquidmatched * 0.005)) / (ship:mass - (oxidizermatched * 0.005 + liquidmatched * 0.005) - (nukeLiquid * 0.005))), 5).
  18. set vectorlastdv to Round(315 * 9.81 * ln((ship:mass - (nukeLiquid * 0.005)) / (ship:mass - (liquidmatched * 0.005) - (oxidizermatched * 0.005) - (nukeLiquid * 0.005))), 5).
  19.  
  20.  
  21. for res in ship:resources {
  22. if res:name = "liquidfuel"
  23. set lqcap to res:capacity.
  24. if res:name = "oxidizer"
  25. set oxcap to res:capacity.
  26. }
  27. set oxmass to oxcap * 0.005.
  28. set lqmatchmass to oxcap * 9 / 11 * 0.005.
  29.  
  30. set nukesmaxdv to Round(800 * 9.81 * ln((ship:drymass + (lqcap * 0.005) ) / ship:drymass), 5).
  31. set vectormaxdv to Round(315 * 9.81 * ln((ship:drymass + lqmatchmass + oxmass ) / ship:drymass), 5).
  32.  
  33. set justnukesdv to Round(800 * 9.81 * ln(ship:mass / (ship:mass - (ship:liquidfuel * 0.005))), 5).
  34.  
  35.  
  36.  
  37. info(" nukes only: " + justnukesdv).
  38. info("").
  39. info(" vectors first: " + vectorsfirstdv).
  40. info(" nukes last: " + nukeslastdv).
  41. info("").
  42. info(" nukes first: " + nukesfirstdv).
  43. info(" vectors last: " + vectorlastdv).
  44. info("").
  45. info("nukes then vectors: " + (nukesfirstdv + vectorlastdv)).
  46. info("").
  47. info(" nukes max: " + nukesmaxdv).
  48. info(" vectors max: " + vectormaxdv).
  49.  
  50. }
  51.  
  52.  
  53.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement