@ffxiv-teamcraft/simulator
Version:
A FINAL FANTASY XIV crafting simulator
26 lines (25 loc) • 1.2 kB
TypeScript
import { Simulation } from '../../simulation/simulation';
import { ActionType } from './action-type';
import { Buff } from '../buff.enum';
import { CraftingAction } from './crafting-action';
export declare abstract class BuffAction extends CraftingAction {
getType(): ActionType;
abstract getDuration(simulation: Simulation): number;
canBeClipped(): boolean;
execute(simulation: Simulation): void;
_canBeUsed(simulationState: Simulation): boolean;
getDurabilityCost(simulationState: Simulation): number;
_getSuccessRate(simulationState: Simulation): number;
skipOnFail(): boolean;
/**
* Override this method if the buff overrides other buffs (steady hands for instance).
* Don't forget to add super.getOverrides() to the array you'll return
* @returns {Buff | null}
*/
getOverrides(): Buff[];
abstract getBuff(): Buff;
abstract getInitialStacks(): number;
protected abstract getTick(): ((simulation: Simulation, linear?: boolean, action?: CraftingAction) => void) | undefined;
protected getOnExpire(): ((simulation: Simulation, linear?: boolean) => void) | undefined;
private getAppliedBuff;
}