# region base
- type: entity
  abstract: true
  id: NFBaseStructureWallTrophy
  suffix: Frontier
  description: "A wall-mounted frame for showcasing the achievements of your parents' favorite child."
  placement:
    mode: SnapgridCenter
    snap:
    - Wallmount
  components:
  - type: Sprite
    sprite: _NF/Structures/Wallmounts/trophies.rsi
    drawdepth: WallTops
    snapCardinals: false
  - type: WallMount
    arc: 200
  - type: Rotatable
  - type: Clickable
  - type: InteractionOutline
  - type: Transform
    anchored: true
  - type: Physics
    bodyType: Static
    canCollide: false
  - type: Fixtures
    fixtures: {}
  - type: ItemSlots
    slots:
      trophy:
        insertVerbText: trophy-frame-verb-insert-trophy
        ejectVerbText: trophy-frame-verb-eject-trophy
        name: trophy-frame-name-trophy-slot
        startingItem: null
        whitelist:
          tags:
          - NFTreasureTrophyArgocyteSwiper
          - NFTreasureTrophyArgocyteGlider
          - NFTreasureTrophyArgocyteCrawler
          - NFTreasureTrophyArgocyteFounder
          - NFTreasureTrophyArgocyteMolder
          - NFTreasureTrophyArgocytePouncer
          - NFTreasureTrophyArgocyteHarvester
          - NFTreasureTrophyArgocyteEnforcer
          - NFTreasureTrophyArgocyteLeviathing
          - NFTreasureTrophyDinosaurAnki
          - NFTreasureTrophyDinosaurCompy
          - NFTreasureTrophyDinosaurDilo
          - NFTreasureTrophyDinosaurKentro
          - NFTreasureTrophyDinosaurPara
          - NFTreasureTrophyDinosaurRaptor
          - NFTreasureTrophyDinosaurSpino
          - NFTreasureTrophyDinosaurStego
          - NFTreasureTrophyDinosaurTrex
          - NFTreasureTrophyDinosaurTrike
          - NFTreasureTrophyFleshHorror
          - NFTreasureTrophyXenoBurrower
          - NFTreasureTrophyXenoDrone
          - NFTreasureTrophyXenoPraetorian
          - NFTreasureTrophyXenoQueen
          - NFTreasureTrophyXenoRavager
          - NFTreasureTrophyXenoSpitter
  - type: ContainerContainer
    containers:
      trophy: !type:ContainerSlot
  # I'll do anything to avoid fiddling with construction graphs
  - type: Appearance
  - type: ItemMapper
    mapLayers:
      trophy-argo-swiper:
        whitelist:
          tags: [ NFTreasureTrophyArgocyteSwiper ]
      trophy-argo-glider:
        whitelist:
          tags: [ NFTreasureTrophyArgocyteGlider ]
      trophy-argo-crawler:
        whitelist:
          tags: [ NFTreasureTrophyArgocyteCrawler ]
      trophy-argo-founder:
        whitelist:
          tags: [ NFTreasureTrophyArgocyteFounder ]
      trophy-argo-molder:
        whitelist:
          tags: [ NFTreasureTrophyArgocyteMolder ]
      trophy-argo-pouncer:
        whitelist:
          tags: [ NFTreasureTrophyArgocytePouncer ]
      trophy-argo-harvester:
        whitelist:
          tags: [ NFTreasureTrophyArgocyteHarvester ]
      trophy-argo-enforcer:
        whitelist:
          tags: [ NFTreasureTrophyArgocyteEnforcer ]
      trophy-argo-leviathing:
        whitelist:
          tags: [ NFTreasureTrophyArgocyteLeviathing ]
      trophy-dino-anki:
        whitelist:
          tags: [ NFTreasureTrophyDinosaurAnki ]
      trophy-dino-compy:
        whitelist:
          tags: [ NFTreasureTrophyDinosaurCompy ]
      trophy-dino-dilo:
        whitelist:
          tags: [ NFTreasureTrophyDinosaurDilo ]
      trophy-dino-kentro:
        whitelist:
          tags: [ NFTreasureTrophyDinosaurKentro ]
      trophy-dino-para:
        whitelist:
          tags: [ NFTreasureTrophyDinosaurPara ]
      trophy-dino-raptor:
        whitelist:
          tags: [ NFTreasureTrophyDinosaurRaptor ]
      trophy-dino-spino:
        whitelist:
          tags: [ NFTreasureTrophyDinosaurSpino ]
      trophy-dino-stego:
        whitelist:
          tags: [ NFTreasureTrophyDinosaurStego ]
      trophy-dino-trex:
        whitelist:
          tags: [ NFTreasureTrophyDinosaurTrex ]
      trophy-dino-trike:
        whitelist:
          tags: [ NFTreasureTrophyDinosaurTrike ]
      trophy-flesh-horror:
        whitelist:
          tags: [ NFTreasureTrophyFleshHorror ]
      trophy-xeno-burrower:
        whitelist:
          tags: [ NFTreasureTrophyXenoBurrower ]
      trophy-xeno-drone:
        whitelist:
          tags: [ NFTreasureTrophyXenoDrone ]
      trophy-xeno-praetorian:
        whitelist:
          tags: [ NFTreasureTrophyXenoPraetorian ]
      trophy-xeno-queen:
        whitelist:
          tags: [ NFTreasureTrophyXenoQueen ]
      trophy-xeno-ravager:
        whitelist:
          tags: [ NFTreasureTrophyXenoRavager ]
      trophy-xeno-spitter:
        whitelist:
          tags: [ NFTreasureTrophyXenoSpitter ]
    sprite: _NF/Structures/Wallmounts/trophies.rsi

# region frames
- type: entity
  parent: NFBaseStructureWallTrophy
  id: NFStructureWallTrophyFrameWood
  name: wooden trophy mount
  components:
  - type: Sprite
    layers:
    - state: shield-frame
      color: "#844b27" # "wood"
    - state: shield-velvet
      color: "#2d4877" # "fancy blue table"
  - type: Damageable
    damageContainer: Inorganic
    damageModifierSet: Wood
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 100
      behaviors:
      - !type:EmptyAllContainersBehaviour
      - !type:DoActsBehavior
        acts: ["Destruction"]
      - !type:PlaySoundBehavior
        sound:
          collection: WoodDestroy
      - !type:SpawnEntitiesBehavior
        spawn:
          MaterialWoodPlank1:
            min: 1
            max: 2
          MaterialCloth1:
            min: 0
            max: 1
  - type: Construction
    graph: NFStructureWallTrophyFrame
    node: NFStructureWallTrophyFrameWood
  - type: StaticPrice
    price: 25

- type: entity
  parent: NFBaseStructureWallTrophy
  id: NFStructureWallTrophyFrameBrass
  name: brass trophy mount
  components:
  - type: Sprite
    layers:
    - state: shield-frame
      color: "#b18b25" # "Brass"
    - state: shield-velvet
      color: "#1f5f41" # "fancy green table"
  - type: Damageable
    damageContainer: Inorganic
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 150
      behaviors:
      - !type:EmptyAllContainersBehaviour
      - !type:DoActsBehavior
        acts: ["Destruction"]
      - !type:PlaySoundBehavior
        sound:
          collection: WoodDestroy
      - !type:SpawnEntitiesBehavior
        spawn:
          SheetBrass1:
            min: 0
            max: 1
          MaterialCloth1:
            min: 0
            max: 1
  - type: Construction
    graph: NFStructureWallTrophyFrame
    node: NFStructureWallTrophyFrameBrass
  - type: StaticPrice
    price: 15

- type: entity
  parent: NFBaseStructureWallTrophy
  id: NFStructureWallTrophyFrameSilver
  name: silver trophy mount
  components:
  - type: Sprite
    layers:
    - state: shield-frame
      color: "#dcdcdc" # "Silver"
    - state: shield-velvet
      color: "#9b3170" # "fancy pink table"
  - type: Damageable
    damageContainer: Inorganic
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 100
      behaviors:
      - !type:EmptyAllContainersBehaviour
      - !type:DoActsBehavior
        acts: ["Destruction"]
      - !type:PlaySoundBehavior
        sound:
          collection: WoodDestroy
      - !type:SpawnEntitiesBehavior
        spawn:
          IngotSilver1:
            min: 0
            max: 1
          MaterialCloth1:
            min: 0
            max: 1
  - type: Construction
    graph: NFStructureWallTrophyFrame
    node: NFStructureWallTrophyFrameSilver
  - type: StaticPrice
    price: 20

- type: entity
  parent: NFBaseStructureWallTrophy
  id: NFStructureWallTrophyFrameGold
  name: golden trophy mount
  components:
  - type: Sprite
    layers:
    - state: shield-frame
      color: "#ffc20e" # "Gold"
    - state: shield-velvet
      color: "#5a2355" # "fancy purple table"
  - type: Damageable
    damageContainer: Inorganic
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 100
      behaviors:
      - !type:EmptyAllContainersBehaviour
      - !type:DoActsBehavior
        acts: ["Destruction"]
      - !type:PlaySoundBehavior
        sound:
          collection: WoodDestroy
      - !type:SpawnEntitiesBehavior
        spawn:
          IngotGold1:
            min: 0
            max: 1
          MaterialCloth1:
            min: 0
            max: 1
  - type: Construction
    graph: NFStructureWallTrophyFrame
    node: NFStructureWallTrophyFrameGold
  - type: StaticPrice
    price: 25
