- type: entity
  parent: [BaseItem, BaseStash, ClothingMaskBase]
  id: TennisBall
  name: tennis ball
  description: Made for testing security's patience.
  components:
  - type: Sprite
    sprite: _Goobstation/Objects/Fun/tennis.rsi
    state: tennis_ball
  - type: Fixtures
    fixtures:
      fix1:
        shape: !type:PhysShapeCircle
          radius: 0.35
        density: 20
        restitution: 1 # very bouncy
        friction: 0.1
        mask:
        - ItemMask
        layer:
        - MobLayer # for tennis racket
  - type: Catchable
    catchChance: 1
    catchSuccessSound:
      path: /Audio/Effects/Footsteps/bounce.ogg
  - type: EmitSoundOnCollide
    sound:
      path: /Audio/Effects/Footsteps/bounce.ogg
  - type: Item
    size: Tiny
    sprite: _Goobstation/Objects/Fun/tennis.rsi
  - type: TileFrictionModifier
    modifier: 0.15
  - type: Physics
    bodyType: Dynamic
  - type: Damageable
    damageContainer: Inorganic
    damageModifierSet: Metallic
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 250
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          path: /Audio/Weapons/Guns/Gunshots/revolver.ogg
          params:
            volume: 2.25
      - !type:DoActsBehavior
        acts: [ "Destruction" ]


- type: entity
  name: tennis racket
  parent: BaseItem
  id: BaseTennisRacket
  description: A robust tennis racket.
  components:
  - type: Sprite
    sprite: _Goobstation/Objects/Fun/tennis_racket.rsi
    state: tennis_racket
  - type: MeleeWeapon
    animationRotation: -135
    wideAnimationRotation: -135
    damage:
      types:
        Blunt: 1
    soundHit:
      path: /Audio/Effects/egloves.ogg
  - type: MeleeThrowOnHit # diabolical numbers but needed to play tennis
    distance: 1
    speed: 20
  - type: Item
    size: Normal
    sprite: _Goobstation/Objects/Fun/tennis_racket.rsi
  - type: PhysicalComposition
    materialComposition:
      Steel: 250


- type: entity
  name: nanotrasen tennis racket
  parent: BaseTennisRacket
  id: NTTennisRacket
  description: Team Nanotrasen robust tennis racket!
  components:
  - type: Sprite
    sprite: _Goobstation/Objects/Fun/nt_tennis_racket.rsi
    state: nt_tennis_racket
  - type: Item
    sprite: _Goobstation/Objects/Fun/nt_tennis_racket.rsi


- type: entity
  name: syndicate tennis racket
  parent: BaseTennisRacket
  id: SyndicateTennisRacket
  description: Team Syndicate robust tennis racket!
  components:
  - type: Sprite
    sprite: _Goobstation/Objects/Fun/syndicate_tennis_racket.rsi
    state: syndicate_tennis_racket
  - type: Item
    sprite: _Goobstation/Objects/Fun/syndicate_tennis_racket.rsi
