パッケージ mechanics.optimization
クラス RotationSearcher
java.lang.Object
mechanics.optimization.RotationSearcher
Finds the highest-damage rotation by exhaustively evaluating all combinations
of character order permutations and named action profiles.
The search space is:
- Order permutations – all N! orderings of the party members.
- Profile combinations – the Cartesian product of each character's
available
ProfileLoader.ActionProfiles.
All combinations are evaluated concurrently via a parallel stream.
findBestRotation(java.util.function.Supplier<simulation.CombatSimulator>) returns the RotationSearcher.RotationPlan with the highest
total damage within a 25-second window.
-
ネストされたクラスの概要
ネストされたクラス修飾子とタイプクラス説明static classThe result of a single rotation evaluation: the character cast order, the action profile chosen for each character, and the total damage dealt. -
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明findBestRotation(Supplier<CombatSimulator> simFactory) Searches all order permutations and profile combinations for the highest-damage rotation.
-
コンストラクタの詳細
-
RotationSearcher
public RotationSearcher()
-
-
メソッドの詳細
-
findBestRotation
Searches all order permutations and profile combinations for the highest-damage rotation.Steps:
- Instantiates a temporary simulator to discover party member names.
- Loads action profiles for every character via
ProfileLoader. - Generates all N! order permutations and the Cartesian product of profile choices.
- Evaluates all resulting
RotationSearcher.RunnableEvaluationtasks in parallel over a 25-second simulation window. - Returns the plan with the maximum
RotationSearcher.RotationPlan.totalDamage.
- パラメータ:
simFactory- supplier that creates a fresh, identically configuredCombatSimulatorfor each evaluation; called once per task plus once for discovery- 戻り値:
- the best-scoring
RotationSearcher.RotationPlanfound - 例外:
RuntimeException- if no rotation can be evaluated
-