materiaBiSSolverV3()
This is the third iteration of the materiaBisSolver function. This function optimizes the materias of a gear set givne certain parameters.
You can find more information about the algorithm on the official github repository.
Set : GearSet - GearSet to optimize
matGen : MateriaGenerator - Materia Generator to use. Will use this materia generator to append materias to the gear set.
matSpace : list[int] - list of Materias to consider when oversaturating and removing. The list contains the Stat.StatType values to consider.
gcdTimerTierFight - Dictionnary of different GCD timer and the given Fight object. Maps a gcdTimer to a fight object where the player has the given gcd timer (the fight has been prebaked).
hasteAmount : int - possible haste a player can received. Affects GCD timer.
JobMod : int - Value of the JobMod of the player the Gear Set is on.
IsTank : bool - True if the player is a tank
IsCaster : bool - True if the player is a caster
PlayerIndex : int - Index of the player in the Fight’s PlayerList
percentile : str - Percentile to optimize. “exp” is Expected.
randomIteration : int - Number of time to run random simulations. (NO LONGER WORKS. LEAVE AS DEFAULT OR 0)
mendSpellSpeed : bool - If true the algorithm will add SpS materias and not SkS
maxSPDValue : int - Maximum Speed value for the Gear Set with melds.
minSPDValue : int - Minimal Speed value for the Gear Set with melds.
oversaturationIterationsPostGear : int - Number of times the algorithm will oversaturate the gear set.
findOptMateriaGearBF : bool - If true means we are solving materias for every possible gear set/food. So this simply mutes the ProgressBar usually present.
swapDHDetBeforeSpeed : bool - If True, the solver will swap DH and Det before swapping melds with Speed materias. If False it swaps after.
minPiety : int - Minimum Piety value for the gear set. Default to 390
Returns
This function returns the found optimal gear set (with melds), 0 and an empty dict (GearSet, int, dict). The 0 and empty dict are for support of older code.
Usage
See code in BiSSolver for examples.