# region Base
- type: entity
  parent: BaseBlueprint
  id: NFBaseBlueprint
  abstract: true
  components:
  - type: Sprite
    sprite: _NF/Objects/Tools/blueprints.rsi
    layers:
      - state: icon-base
        color: "#7da0ba"
      - state: icon-text
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_stamp-generic
        offset: 0.15,-0.1
        map: ["enum.PaperVisualLayers.Stamp"]
        visible: false
      - sprite: Objects/Misc/bureaucracy.rsi # Need for PaperVisuals otherwise it wont stop complaining
        state: paper_words
        map: ["enum.PaperVisualLayers.Writing"]
        visible: false
  - type: Item
    size: Normal
    sprite: _NF/Objects/Tools/blueprints.rsi
    inhandVisuals:
      left:
      - state: inhand-left-base
        color: "#7da0ba"
      - state: inhand-left-text
      right:
      - state: inhand-right-base
        color: "#7da0ba"
      - state: inhand-right-text
  - type: Tag # defaults to autolathe-insertable
    tags:
    - BlueprintAutolathe
    - Document
    - Paper
  - type: StaticPrice
    price: 5 # Should be sold to players, not market console
  - type: PhysicalComposition
    materialComposition:
      Paper: 100
  # Paper stuff
  - type: Paper
  - type: PaperVisuals
  - type: Flammable
    fireSpread: true
    canResistFire: false
    alwaysCombustible: true
    canExtinguish: true
    damage:
      types:
        Heat: 1
  - type: Appearance
  - type: FireVisuals
    sprite: Effects/fire.rsi
    normalState: fire
  - type: Damageable
    damageModifierSet: Wood
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 15
      behaviors:
      - !type:SpawnEntitiesBehavior
        spawn:
            Ash:
              min: 1
              max: 1
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: Edible
    solution: food
    delay: 7
    forceFeedDelay: 7
  - type: FlavorProfile
    flavors:
    - paper
  - type: BadFood
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 1
        reagents:
        - ReagentId: Fiber
          Quantity: 0.1
  - type: Blueprint
    providedRecipes: []

- type: entity
  parent: NFBaseBlueprint
  id: NFBaseBlueprintFaxable
  name: blueprint
  description: A blueprint with schematics on it. It can be inserted into a protolathe or techfab, or sent via fax.
  abstract: true
  components:
  - type: FaxableObject
  - type: Paper
    destroyOnFax: true
    destroyMessage: fax-delete-paper-intellectual-property
  - type: Sprite
    layers:
      - state: icon-base
        color: "#636363"
      - state: icon-text
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_stamp-generic
        offset: 0.15,-0.1
        map: ["enum.PaperVisualLayers.Stamp"]
        visible: false
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_words
        map: ["enum.PaperVisualLayers.Writing"]
        visible: false
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-base
        color: "#636363"
      - state: inhand-left-text
      right:
      - state: inhand-right-base
        color: "#636363"
      - state: inhand-right-text

# region General
- type: entity
  parent: NFBaseBlueprintFaxable
  id: NFBlueprintGeneral
  name: blueprint
  description: A blueprint with schematics on it. It can be inserted into a protolathe or techfab, or sent via fax.
  categories: [HideSpawnMenu, DoNotMap]
  components:
  - type: Sprite
    layers:
      - state: icon-base
        color: "#3355ff"
      - state: icon-text
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_stamp-generic
        offset: 0.15,-0.1
        map: ["enum.PaperVisualLayers.Stamp"]
        visible: false
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_words
        map: ["enum.PaperVisualLayers.Writing"]
        visible: false
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-base
        color: "#3355ff"
      - state: inhand-left-text
      right:
      - state: inhand-right-base
        color: "#3355ff"
      - state: inhand-right-text
  - type: Tag
    tags:
    - NFBlueprintAdvanced
    - Document
    - Paper

# region Engineering
- type: entity
  parent: NFBaseBlueprintFaxable
  id: NFBlueprintEngineering
  name: engineering blueprint
  description: A blueprint with engineering schematics on it. It can be inserted into a protolathe or techfab, or sent via fax.
  categories: [HideSpawnMenu, DoNotMap]
  components:
  - type: Sprite
    layers:
      - state: icon-base
        color: "#fff87c"
      - state: icon-text
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_stamp-generic
        offset: 0.15,-0.1
        map: ["enum.PaperVisualLayers.Stamp"]
        visible: false
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_words
        map: ["enum.PaperVisualLayers.Writing"]
        visible: false
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-base
        color: "#fff87c"
      - state: inhand-left-text
      right:
      - state: inhand-right-base
        color: "#fff87c"
      - state: inhand-right-text
  - type: Tag
    tags:
    - NFBlueprintEngineeringTechfab
    - NFBlueprintAdvanced
    - Document
    - Paper

# region Salvage
- type: entity
  parent: NFBaseBlueprintFaxable
  id: NFBlueprintSalvage
  name: salvage blueprint
  description: A blueprint with salvage schematics on it. It can be inserted into a protolathe or techfab, or sent via fax.
  categories: [HideSpawnMenu, DoNotMap]
  components:
  - type: Sprite
    layers:
      - state: icon-base
        color: "#e1ba8b"
      - state: icon-text
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_stamp-generic
        offset: 0.15,-0.1
        map: ["enum.PaperVisualLayers.Stamp"]
        visible: false
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_words
        map: ["enum.PaperVisualLayers.Writing"]
        visible: false
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-base
        color: "#e1ba8b"
      - state: inhand-left-text
      right:
      - state: inhand-right-base
        color: "#e1ba8b"
      - state: inhand-right-text
  - type: Tag
    tags:
    - NFBlueprintSalvageTechfab
    - NFBlueprintAdvanced
    - Document
    - Paper

# region Science
- type: entity
  parent: NFBaseBlueprintFaxable
  id: NFBlueprintScience
  name: science blueprint
  description: A blueprint with science schematics on it. It can be inserted into a protolathe or techfab, or sent via fax.
  categories: [HideSpawnMenu, DoNotMap]
  components:
  - type: Sprite
    layers:
      - state: icon-base
        color: "#e18bd5"
      - state: icon-text
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_stamp-generic
        offset: 0.15,-0.1
        map: ["enum.PaperVisualLayers.Stamp"]
        visible: false
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_words
        map: ["enum.PaperVisualLayers.Writing"]
        visible: false
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-base
        color: "#e18bd5"
      - state: inhand-left-text
      right:
      - state: inhand-right-base
        color: "#e18bd5"
      - state: inhand-right-text
  - type: Tag
    tags:
    - NFBlueprintProtolathe
    - NFBlueprintAdvanced
    - Document
    - Paper

# region Service
- type: entity
  parent: NFBaseBlueprintFaxable
  id: NFBlueprintService
  name: service blueprint
  description: A blueprint with service schematics on it. It can be inserted into a protolathe or techfab, or sent via fax.
  categories: [HideSpawnMenu, DoNotMap]
  components:
  - type: Sprite
    layers:
      - state: icon-base
        color: "#94e18b"
      - state: icon-text
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_stamp-generic
        offset: 0.15,-0.1
        map: ["enum.PaperVisualLayers.Stamp"]
        visible: false
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_words
        map: ["enum.PaperVisualLayers.Writing"]
        visible: false
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-base
        color: "#94e18b"
      - state: inhand-left-text
      right:
      - state: inhand-right-base
        color: "#94e18b"
      - state: inhand-right-text
  - type: Tag
    tags:
    - NFBlueprintServiceTechfab
    - NFBlueprintAdvanced
    - Document
    - Paper

# region Medical
- type: entity
  parent: NFBaseBlueprintFaxable
  id: NFBlueprintMedical
  name: medical blueprint
  description: A blueprint with medical schematics on it. It can be inserted into a protolathe or techfab, or sent via fax.
  categories: [HideSpawnMenu, DoNotMap]
  components:
  - type: Sprite
    layers:
      - state: icon-base
        color: "#97cae1"
      - state: icon-text
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_stamp-generic
        offset: 0.15,-0.1
        map: ["enum.PaperVisualLayers.Stamp"]
        visible: false
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_words
        map: ["enum.PaperVisualLayers.Writing"]
        visible: false
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-base
        color: "#97cae1"
      - state: inhand-left-text
      right:
      - state: inhand-right-base
        color: "#97cae1"
      - state: inhand-right-text
  - type: Tag
    tags:
    - NFBlueprintMedicalTechfab
    - NFBlueprintAdvanced
    - Document
    - Paper

# region Arsenal
- type: entity
  parent: NFBaseBlueprintFaxable
  id: NFBlueprintArsenalMercenary
  name: combat blueprint
  description: A blueprint with combat schematics on it. It can be inserted into a protolathe or techfab, or sent via fax.
  categories: [HideSpawnMenu, DoNotMap]
  components:
  - type: Sprite
    layers:
      - state: icon-base
        color: "#e18b8b"
      - state: icon-text
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_stamp-generic
        offset: 0.15,-0.1
        map: ["enum.PaperVisualLayers.Stamp"]
        visible: false
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_words
        map: ["enum.PaperVisualLayers.Writing"]
        visible: false
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-base
        color: "#e18b8b"
      - state: inhand-left-text
      right:
      - state: inhand-right-base
        color: "#e18b8b"
      - state: inhand-right-text
  - type: Tag
    tags:
    - NFBlueprintMercenaryTechfab
    - NFBlueprintAdvanced
    - Document
    - Paper

- type: entity
  parent: NFBaseBlueprintFaxable
  id: NFBlueprintArsenalNfsd
  name: restricted combat blueprint
  description: A blueprint with combat schematics on it. It can be inserted into a protolathe or techfab, or sent via fax.
  categories: [HideSpawnMenu, DoNotMap]
  components:
  - type: Sprite
    layers:
      - state: icon-base
        color: "#729769"
      - state: icon-text
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_stamp-generic
        offset: 0.15,-0.1
        map: ["enum.PaperVisualLayers.Stamp"]
        visible: false
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_words
        map: ["enum.PaperVisualLayers.Writing"]
        visible: false
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-base
        color: "#729769"
      - state: inhand-left-text
      right:
      - state: inhand-right-base
        color: "#729769"
      - state: inhand-right-text
  - type: Tag
    tags:
    - NFBlueprintNfsdTechfab
    - NFBlueprintAdvanced
    - Document
    - Paper

# region Expedition
- type: entity
  abstract: true
  parent: [ BaseC3Contraband, NFBlueprintGeneral ]
  id: NFBaseBlueprintExpedition
  components:
  - type: Paper
    stampState: paper_stamp-rd
    stampedBy:
    - reapply: false
      stampType: RubberStamp
      stampedColor: '#1F66A0FF'
      stampedName: stamp-component-stamped-name-confidential
  - type: StaticPrice
    price: 1000

- type: entity
  abstract: true
  parent: [ NFBaseBlueprintExpedition, NFBlueprintSalvage ]
  id: NFBaseBlueprintExpeditionSalvage

- type: entity
  abstract: true
  parent: [ NFBaseBlueprintExpedition, NFBlueprintArsenalMercenary ]
  id: NFBaseBlueprintExpeditionArmory

- type: entity
  abstract: true
  parent: NFBaseBlueprintExpedition
  id: NFBaseBlueprintExpeditionPunk
  components:
  - type: Sprite
    layers:
      - state: icon-base
        map: [ "blueprintIconBase" ]
      - state: icon-text
        shader: unshaded
        map: [ "blueprintIconText" ]
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_stamp-generic
        offset: 0.15,-0.1
        map: ["enum.PaperVisualLayers.Stamp"]
        visible: false
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_words
        map: ["enum.PaperVisualLayers.Writing"]
        visible: false
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-base
        map: [ "blueprintInHandLBase" ]
      - state: inhand-left-text
        shader: unshaded
        map: [ "blueprintInHandLText" ]
      right:
      - state: inhand-right-base
        map: [ "blueprintInHandRBase" ]
      - state: inhand-right-text
        shader: unshaded
        map: [ "blueprintInHandRText" ]
  - type: RandomSprite
    available:
      - blueprintIconBase:
          icon-base: Base
        blueprintIconText:
          icon-text: Text
        blueprintInHandLBase:
          inhand-left-base: Base
        blueprintInHandLText:
          inhand-left-text: Text
        blueprintInHandRBase:
          inhand-right-base: Base
        blueprintInHandRText:
          inhand-right-text: Text
    mappedColors:
      Base: CyberpunkDark
      Text: CyberpunkNeon
  - type: Tag
    tags:
    - NFBlueprintServiceTechfab
    - NFBlueprintMercenaryTechfab
    - NFBlueprintSalvageTechfab
    - NFBlueprintAdvanced
    - Document
    - Paper

- type: entity
  abstract: true
  parent: NFBaseBlueprintExpedition
  id: NFBaseBlueprintExpeditionMercenary
  components:
  - type: Sprite
    layers:
      - state: icon-base
        color: "#7b7b3f"
      - state: icon-text
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_stamp-generic
        offset: 0.15,-0.1
        map: ["enum.PaperVisualLayers.Stamp"]
        visible: false
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_words
        map: ["enum.PaperVisualLayers.Writing"]
        visible: false
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-base
        color: "#7b7b3f"
      - state: inhand-left-text
      right:
      - state: inhand-right-base
        color: "#7b7b3f"
      - state: inhand-right-text
  - type: Tag
    tags:
    - NFBlueprintSalvageTechfab
    - NFBlueprintAdvanced
    - Document
    - Paper

- type: entity
  abstract: true
  parent: [ NFBaseBlueprintExpedition, NFBlueprintEngineering ]
  id: NFBaseBlueprintExpeditionRogueSilicon

- type: entity
  abstract: true
  parent: [ BaseC3SyndicateContraband, NFBaseBlueprintExpedition ]
  id: NFBaseBlueprintExpeditionSyndicate
  components:
  - type: Sprite
    layers:
      - state: icon-base
        color: "#7f272b"
      - state: icon-text
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_stamp-generic
        color: "#00ff00"
        offset: 0.15,-0.1
        map: ["enum.PaperVisualLayers.Stamp"]
        visible: false
      - sprite: Objects/Misc/bureaucracy.rsi
        state: paper_words
        color: "#008040"
        map: ["enum.PaperVisualLayers.Writing"]
        visible: false
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left-base
        color: "#7f272b"
      - state: inhand-left-text
      right:
      - state: inhand-right-base
        color: "#7f272b"
      - state: inhand-right-text
  - type: Tag
    tags:
    - NFBlueprintSalvageTechfab
    - NFBlueprintAdvanced
    - Document
    - Paper
