Refactor of draygon logic to account for missile farming. This ... almost certainly needs some extra tuning, but it should at least now be a simple matter of just adjusting a few numbers.
I assumed the original energy farm rate of 3E/s was based on "full ammo", so the player was getting only energy drops.
I used this to reverse-calculate the expected collection of drops "in general" according to the goop drop table, and from this figured an E/s and M/s rate when both energy and missiles have to fight for drop space.
I made some rough guesses as to how use of beams should affect farming rates at sub-Expert proficiency. I the "Expert" level at its original rate (see first point), but the lower end increases a bit with more beams.
I assumed the missile firing rates assumed no farming required (or could keep up).
Things not covered:
Possibility of using Super Missiles. The previous logic didn't use Super Missiles either.
Possibility of using Crystal Flashes to recover energy in high-ammo (or Charge Beam) + low-energy fights.
Possibility of using Grapple Beam for partial kills (using early ammo to reduce the number of electricity frames taken, making tankless Grapple Kill possible without full suit)
Possibility of no-damage fight needing less time because of increased missile drop rate (due to not fighting with energy).
Things I definitely think could use a second pair of eyes:
The energy farming rate, in general. If my assumption was wrong, it will probably need to be increased.
The missile farming rate. I tried to calculate it based on Draygon goop drop rates (and how they change when full/not-full on ammo). But it could perhaps benefit from being simply fixed at some number.
Similarly, the reduced energy farming rate, or whether or not it even needs to be different from the "no missiles" energy rate.
Missile firing rate. The possibility of high-ammo fights being faster due to not needing to farm was considered.
Effects of beams. These are definitely rough guesses on my part, based mainly on the properties of beams. I used the original formula for Power Beam.
The main impact here is that when missiles are being used, the assumed energy farm rate drops (because energy must now fight with missiles for drops), and that the prior logic energy farm rate was based on not using missiles. Additionally, calculated fight times at low ammo will be higher because it assumes you run out of ammo and must slow down shooting until you can farm back up (with Charge Beam being able to mitigate some of that loss).
Using this PR as a starting point, I made another pass at the Draygon logic. Main things I changed:
Take Gravity into account in the both the farming rate and damage rate taken by Samus, since it has a big impact on the fight.
Break down the assumptions about damage & farming rates based on simpler-to-understand quantities like the frequency of Draygon's cycles, number of goops farms per cycle, hits taken per cycle, etc.
Simplify the farming logic based on beams. After some testing, it seemed like we could boil it down to three cases: Plasma+Wave, Plasma, and any other beam. Without Plasma, the wider beams don't seem to make much difference since you can't get more than one goop kill per shot anyway.
Avoid assuming that we could get the higher energy farm rate with a charge-shot-only strategy by maintaining full Missile ammo. This seemed too optimistic since it's likely you enter the fight without full ammo and may never reach full ammo. It could be possible to add this back later; we'd just need a way to encode the full-ammo requirement, and it could also probably be a separate strat in the logic since there's a knowledge check involved.
Refactor of draygon logic to account for missile farming. This ... almost certainly needs some extra tuning, but it should at least now be a simple matter of just adjusting a few numbers.
Things not covered:
Things I definitely think could use a second pair of eyes:
The main impact here is that when missiles are being used, the assumed energy farm rate drops (because energy must now fight with missiles for drops), and that the prior logic energy farm rate was based on not using missiles. Additionally, calculated fight times at low ammo will be higher because it assumes you run out of ammo and must slow down shooting until you can farm back up (with Charge Beam being able to mitigate some of that loss).