- type: entity
  name: laser raptor
  id: MobLaserRaptor
  parent: SimpleMobBase
  description: From the Viking age.
  components:
    - type: NpcFactionMember
      factions:
        - SimpleHostile
    - type: HTN
      rootTask:
        task: SimpleRangedHostileCompound
    - type: Sprite
      drawdepth: Mobs
      sprite: Mobs/Aliens/laser_raptor.rsi
      layers:
        - map: [ "enum.DamageStateVisualLayers.Base" ]
          state: laser_raptor
    - type: Fixtures
      fixtures:
        fix1:
          shape:
            !type:PhysShapeCircle
            radius: 0.30
          density: 80
          mask:
            - MobMask
          layer:
            - MobLayer
    - type: DamageStateVisuals
      states:
        Alive:
          Base: laser_raptor
        Dead:
          Base: laser_raptor_dead
    - type: MobThresholds
      thresholds:
        0: Alive
        100: Dead
    - type: Butcherable
      spawned:
      - id: FoodMeatChicken
        amount: 2
    - type: MovementSpeedModifier
      baseWalkSpeed: 2
      baseSprintSpeed: 5
    - type: Tag
      tags:
        - FootstepSound
        - CreatureEmotes # starcup
    - type: BatteryAmmoProvider
      proto: RedLightLaser
      fireCost: 50
    - type: BatterySelfRecharger
      autoRechargeRate: 50
    - type: Battery
      maxCharge: 1000
      startingCharge: 1000
    - type: Gun
      fireRate: 1
      useKey: false
      selectedMode: SemiAuto
      availableModes:
        - SemiAuto
      soundGunshot: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg
    - type: CombatMode
    - type: InteractionPopup
      successChance: 0.3
      interactSuccessString: petting-success-reptile
      interactFailureString: petting-failure-generic
      interactSuccessSound:
        path: /Audio/Animals/lizard_happy.ogg
  # begin starcup
    - type: Deathgasp
    - type: Speech
      speechVerb: Reptilian
      speechSounds: RaptorSpeechSounds
      allowedEmotes: ['CreatureScream', 'CreatureChitter', 'CreatureHiss', 'TailWhip']
    - type: Vocal
      sounds:
        Unsexed: RaptorSpeechEmotes
      screamId: CreatureScream
      screamAction: ActionEmitSound
    - type: ReplacementAccent
      accent: RaptorAccent
    - type: TypingIndicator
      proto: lizard
    - type: AutoEmote
      emotes:
      - ChitterAutoEmote
  # end starcup

- type: entity
  id: MobTomatoKiller
  parent:
  - BaseSimpleMob
  - MobDamageable
  - MobPolymorphable
  - MobBloodstream
  - MobFlammable
  - MobCombat
  name: tomato killer
  description: Looks like it's not you eating tomatoes today, it's the tomatoes eating you.
  components:
  - type: GhostRole
    prob: 0.05
    makeSentient: true
    allowSpeech: true
    name: ghost-role-information-tomatokiller-name
    description: ghost-role-information-tomatokiller-description
    rules: ghost-role-information-familiar-rules
    raffle:
      settings: short
  - type: GhostTakeoverAvailable
  - type: CanEscapeInventory
    baseResistTime: 3
  - type: Reactive
    groups:
      Flammable: [ Touch ]
      Extinguish: [ Touch ]
    reactions:
    - reagents: [ Water ]
      methods: [ Touch ]
      effects:
      - !type:EvenHealthChange
        damage:
          Brute: -0.15
    - reagents: [ Blood ]
      methods: [ Touch ]
      effects:
      - !type:EvenHealthChange
        damage:
          Brute: -0.25
          Burn: -0.25
    - reagents: [ RobustHarvest ]
      methods: [ Touch ]
      effects:
      - !type:EvenHealthChange
        damage:
          Brute: -1
          Burn: -1
    - reagents: [ WeedKiller, PlantBGone ]
      methods: [ Touch ]
      effects:
      - !type:HealthChange
        damage:
          types:
            Heat: 1
  - type: ReplacementAccent
    accent: tomatoKiller
  - type: Item
    size: Large
    shape:
    - 0,0,2,2
  - type: MultiHandedItem
  - type: NpcFactionMember
    factions:
      - SimpleHostile
  - type: HTN
    rootTask:
      task: KillerTomatoCompound
  - type: NPCImprintingOnSpawnBehaviour
    whitelist:
      components:
      - HumanoidProfile
  - type: Sprite
    sprite: Mobs/Demons/tomatokiller.rsi
    noRot: true
    layers:
      - map: [ "enum.DamageStateVisualLayers.Base" ]
        state: alive
  - type: Bloodstream
    bloodReferenceSolution:
      reagents:
      - ReagentId: JuiceTomato
        Quantity: 50
  - type: DamageStateVisuals
    states:
      Alive:
        Base: alive
      Dead:
        Base: dead
  - type: Butcherable
    spawned:
    - id: FoodMeatTomato
      amount: 2
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTypeTrigger
        damageType: Blunt
        damage: 40
      behaviors:
      - !type:SpawnEntitiesBehavior
        spawn:
          FoodMeatTomato:
            min: 1
            max: 2
      - !type:DoActsBehavior
        acts: ["Destruction"]
      - !type:PlaySoundBehavior
        sound:
          collection: gib
  - type: MobThresholds
    thresholds:
      0: Alive
      35: Dead
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.30
        density: 80
        mask:
          - MobMask
        layer:
          - MobLayer
  - type: MeleeWeapon
    hidden: true
    damage:
      types:
        Blunt: 3
        Piercing: 3
        Slash: 3
    animation: WeaponArcBite
  - type: Climbing
  - type: NameIdentifier
    group: GenericNumber
  - type: FootstepModifier
    footstepSoundCollection:
      collection: FootstepSlime
  - type: Tag
    tags:
      - FootstepSound
      - Fruit
      - CreatureEmotes # starcup
  - type: Extractable
    grindableSolutionName: bloodstream
  - type: PotencyVisuals
  - type: Appearance
  - type: Produce
    seedId: killerTomato
  - type: PassiveDamage # Slight passive damage. 35 hp \ 5 min \ 60 sec = 0.08
    allowedStates:
    - Alive
    - Dead
    damage:
      types:
        Blunt: 0.11
  - type: StaticPrice
    price: 400
    # begin starcup
  - type: Speech
    speechVerb: Slime
    speechSounds: FeralSlimeSpeechSounds
    allowedEmotes: ['CreatureScream', 'Squish']
  - type: TypingIndicator
    proto: slime
  - type: Vocal
    sounds:
      Unsexed: FleshSpeechEmotes
    screamId: CreatureScream
    screamAction: ActionEmitSound
    # end starcup
