AbstractProtectedconstructorOptionalsettings: ExternalCycleSettings<InternalSettingsType>ReadonlybuffManages party buff settings
ReadonlycycleManages generic cycle settings
AbstractdisplayThe user-facing display name of the sim. This needs to be writable, as users can change the display name of sims.
ReadonlyjobOptional ReadonlymanuallyParty buffs which would be activated automatically, but should be treated as manual due to being associated with the class being simulated.
ReadonlymanualIf true, do not automatically re-run the sim. Currently, this is only implemented for the configuration - changing settings will not cause the sim to auto-re-run. Eventually, it may also be implemented for changes to gear sets.
ReadonlyresultRepresents result settings, such as what std deviation to use as the main result
The internalized settings of the object.
AbstractshortA short name for the sim, used for internal naming. Should be usable as a CSS class name or other HTML-ish applications, i.e. start with a letter, then keep to alphanumeric and hyphen.
A good choice is to simply use the spec's stub name.
AbstractspecThe original sim spec.
Whether or not autoattacks should be enabled by default for ths sim.
The default implementation returns false for healers and casters, true for everyone else.
ProtectedcomputeProtectedcreateProtectedIf you are using a custom CycleProcessorType, you MUST override this method and have it return an instance of your custom type. It is only implemented on the base class for the convenience of simulations that are using the default CycleProcessor implementation.
The settings
The CycleProcessor instance.
Return the default settings for this sim. You can override this to provide your own custom settings. It should respect useAutosByDefault
The settings, flatted into a form that is fully JSON-ifiable.
AbstractgetThis is the main abstract method of this simulation type. You can specify one or more rotations to simulate. The sim's result will be whichever rotation sims the highest.
AbstractmakeNotify the sim that settings have changed
Run a simulation. As mentioned in the class-level docs, all mutable state should be scoped to this method.
Like simulate, but only needs to return a single number. This is used for meld solving and such, as the brute force sim does not need to display any additional data to the user. If the extra processing time and memory use from the normal simulation path is trivial for a particular sim implementation, then this can be implemented as simply "return (await this.simulate(set)).mainDpsResult".
Base class for a CycleProcessor based simulation. You should extend this class, and provide your own generic types.