From dfa4139408cbf8d240f34b5daef82315ac8cbebc Mon Sep 17 00:00:00 2001 From: supamiu Date: Thu, 31 Oct 2019 16:30:51 +0100 Subject: [PATCH] fix(final-appraisal): using final appraisal on first step doesn't count as step anymore --- src/model/actions/progression/muscle-memory.ts | 3 ++- src/model/actions/quality/reflect.ts | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/model/actions/progression/muscle-memory.ts b/src/model/actions/progression/muscle-memory.ts index 1e958644..dc06f8e9 100644 --- a/src/model/actions/progression/muscle-memory.ts +++ b/src/model/actions/progression/muscle-memory.ts @@ -4,6 +4,7 @@ import { CraftingJob } from '../../crafting-job.enum'; import { CraftingAction } from '../crafting-action'; import { ProgressAction } from '../progress-action'; import { Buff } from '../../buff.enum'; +import { FinalAppraisal } from '../buff/final-appraisal'; /** * MuMe is just piece by piece with a different condition, cost and success rate. @@ -28,7 +29,7 @@ export class MuscleMemory extends ProgressAction { } _canBeUsed(simulation: Simulation): boolean { - return simulation.steps.length === 0; + return simulation.steps.filter(step => !step.action.is(FinalAppraisal)).length === 0; } getBaseCPCost(simulation: Simulation): number { diff --git a/src/model/actions/quality/reflect.ts b/src/model/actions/quality/reflect.ts index 3bb381b1..41f3ceea 100644 --- a/src/model/actions/quality/reflect.ts +++ b/src/model/actions/quality/reflect.ts @@ -1,8 +1,8 @@ import { QualityAction } from '../quality-action'; import { Simulation } from '../../../simulation/simulation'; -import { Buff } from '../../buff.enum'; import { CraftingJob } from '../../crafting-job.enum'; import { InnerQuiet } from '../buff/inner-quiet'; +import { FinalAppraisal } from '../buff/final-appraisal'; export class Reflect extends QualityAction { getLevelRequirement(): { job: CraftingJob; level: number } { @@ -10,7 +10,7 @@ export class Reflect extends QualityAction { } _canBeUsed(simulation: Simulation): boolean { - return simulation.steps.length === 0; + return simulation.steps.filter(step => !step.action.is(FinalAppraisal)).length === 0; } execute(simulation: Simulation): void {