Modul 01 Hotfix A2: AnvilRecipe.IsSplendorCosmic entfernt
Splendorous-Tool-Bonus is character-equipment state, not recipe state. The flag moved to the simulator's stats layer (CraftStats.HasSplendorousTool in module 02) per the 01-RecipeData Rev 6 spec polish (A2). - AnvilRecipe.cs: IsSplendorCosmic property removed. Cosmic doc-block trimmed to four flags (IsCosmic + two MissionHas* + IsIshgardExpert) and now points consumers at the stats-layer for the Splendor branch. - LuminaRecipeAdapter.cs: assignment in the recipe walk removed. ValidateCosmicInvariant drops the IsSplendorCosmic implication (MissionHas* checks unchanged). - ConditionMechanicsTable.cs: header comment rewritten to describe Splendor as a stats-layer override rather than a recipe-flag override. Sweep over Anvil/RecipeData/, Anvil/SelfTest/, Anvil/Hosting/, Plugin.cs, and PluginHostFactory.cs: zero remaining references to IsSplendorCosmic. Build clean (0/0), csharpier check clean.
This commit is contained in:
@@ -28,19 +28,20 @@ public sealed record AnvilRecipe
|
||||
// Cosmic Exploration (Patch 7.x). v0.1.0 ships with MissionHas* always
|
||||
// false (SH-15 option B) - the data schema stays in place so v0.2.0+ can
|
||||
// light up the surface by resolving the WKS mission sheet without
|
||||
// touching the type. IsCosmic / IsSplendorCosmic are still set by the
|
||||
// recipe-detection path so the catalog knows which recipes belong to the
|
||||
// Cosmic surface even while the action flags stay dormant.
|
||||
// touching the type. IsCosmic is still set by the recipe-detection path
|
||||
// so the catalog knows which recipes belong to the Cosmic surface even
|
||||
// while the mission flags stay dormant. The Splendorous-tool bonus is
|
||||
// character-equipment state rather than recipe state, so it lives in
|
||||
// the simulator's stats layer (CraftStats.HasSplendorousTool in module
|
||||
// 02) instead of carrying a flag on this record.
|
||||
//
|
||||
// Adapter invariant (validated when the catalog is built):
|
||||
// IsSplendorCosmic == true implies IsCosmic == true
|
||||
// MissionHasMaterialMiracle == true implies IsCosmic == true
|
||||
// MissionHasSteadyHand == true implies IsCosmic == true
|
||||
//
|
||||
// Inconsistent recipe states (sub-flag without master flag) throw at
|
||||
// catalog-build time instead of silently corrupting the simulator.
|
||||
public required bool IsCosmic { get; init; }
|
||||
public required bool IsSplendorCosmic { get; init; }
|
||||
public required bool MissionHasMaterialMiracle { get; init; }
|
||||
public required bool MissionHasSteadyHand { get; init; }
|
||||
public required bool IsIshgardExpert { get; init; }
|
||||
|
||||
Reference in New Issue
Block a user