- type: entity
  id: ImmovableRod
  name: immovable rod
  description: You can sense that it's hungry. That's usually a bad sign.
  components:
  - type: Clickable
  - type: InteractionOutline
  - type: MovementIgnoreGravity
    weightless: true
  - type: Sprite
    sprite: Objects/Fun/immovable_rod.rsi
    state: icon
    noRot: false
  - type: ImmovableRod
  - type: GravityAffected
  - type: Physics
    bodyType: Dynamic
    linearDamping: 0
  - type: TileFrictionModifier
    modifier: 0
  - type: PointLight
    radius: 3
    color: red
    energy: 2.0
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.5
        density: 1
        hard: false
        layer:
        - Impassable
        - Opaque
  - type: WarpPoint
    follow: true
    location: immovable rod
    blacklist:
      tags:
      - GhostOnlyWarp

- type: entity
  id: ImmovableRodDespawn
  suffix: Despawn
  parent: ImmovableRod
  components:
  - type: TimedDespawn
    lifetime: 30.0

- type: entity
  id: ImmovableRodSlow
  parent: ImmovableRodDespawn
  suffix: Slow
  components:
  - type: ImmovableRod
    minSpeed: 1
    maxSpeed: 5

- type: entity
  parent: ImmovableRodDespawn
  id: ImmovableRodKeepTiles
  suffix: Keep Tiles
  components:
  - type: ImmovableRod
    destroyTiles: false
    hitSoundProbability: 1.0

# For Wizard Polymorph
- type: entity
  parent: ImmovableRod
  id: ImmovableRodWizard
  suffix: Wizard
  components:
  - type: ImmovableRod
    maxSpeed: 25
    destroyTiles: false
    randomizeVelocity: false
    shouldGib: false
    damage:
      types:
        Blunt: 190
  - type: InputMover
  - type: MovementSpeedModifier
    baseWeightlessAcceleration: 5
    baseWeightlessModifier: 2
    baseWeightlessFriction: 0
    baseFriction: 0
    offGridFriction: 0
  - type: CanMoveInAir
  - type: MovementAlwaysTouching
  - type: NoSlip

- type: entity
  parent: ImmovableRodKeepTiles
  id: ImmovableRodKeepTilesStill
  suffix: Keep Tiles, Still
  components:
  - type: ImmovableRod
    randomizeVelocity: false
    maxSpeed: 0

- type: entity
  parent: ImmovableRodKeepTilesStill
  id: ImmovableRodMop
  name: immovable mop
  description: Hurled like a javelin, with the power of a thousand furious janitors.
  components:
  - type: Sprite
    sprite: Objects/Specific/Janitorial/mop.rsi
    state: mop
    rotation: 225
    noRot: false

- type: entity
  parent: ImmovableRodKeepTilesStill
  id: ImmovableRodShark
  name: immovable shark
  description: SHARK TORNADO!
  components:
  - type: Sprite
    sprite: Objects/Fun/Plushies/shark.rsi
    state: blue
    rotation: 90
    noRot: false

- type: entity
  parent: ImmovableRodKeepTilesStill
  id: ImmovableRodClown
  name: immovable clown
  description: Ejected from the neighbouring station one solar system over. HONK!
  components:
  - type: Sprite
    sprite: Markers/jobs.rsi
    state: clown
    rotation: 180
    noRot: false

- type: entity
  parent: ImmovableRodKeepTilesStill
  id: ImmovableRodBanana
  name: immovable banana
  description: At least you won't slip on it.
  components:
  - type: Sprite
    sprite: Objects/Specific/Hydroponics/banana.rsi
    state: produce
    noRot: false

- type: entity
  parent: ImmovableRodKeepTilesStill
  id: ImmovableRodHammer
  name: immovable hammer
  description: Bwoink.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Melee/sledgehammer.rsi
    state: icon
    rotation: 225
    noRot: false

- type: entity
  parent: ImmovableRodKeepTilesStill
  id: ImmovableRodThrongler
  name: immovable throngler
  description: If you catch it, you can keep it.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Melee/Throngler2.rsi
    state: icon
    rotation: 225
    noRot: false

- type: entity
  parent: ImmovableRodKeepTilesStill
  id: ImmovableRodGibstick
  name: immovable gibstick
  description: What did you expect?
  components:
  - type: Sprite
    sprite: Objects/Weapons/Melee/debug.rsi
    state: icon
    rotation: 225
    noRot: false

- type: entity
  parent: ImmovableRodKeepTilesStill
  id: ImmovableRodWeh
  name: immovable weh
  description: WEH!
  components:
  - type: Sprite
    sprite: Objects/Fun/Plushies/lizard.rsi
    state: icon
    noRot: false
