size: Small
sprite: Objects/Fun/Balls/football.rsi
+- type: entity
+ parent: BaseItem
+ id: TennisBall
+ name: tennis ball
+ description: A fuzzy orb of endless betrayal.
+ components:
+ - type: Sprite
+ sprite: Objects/Fun/Balls/tennisball.rsi
+ state: icon
+ - type: Fixtures
+ fixtures:
+ fix1:
+ shape: !type:PhysShapeCircle
+ radius: 0.25
+ density: 20
+ mask:
+ - ItemMask
+ restitution: 0.5 # a little bouncy
+ friction: 0.2
+ - type: Catchable
+ catchChance: 0.8
+ catchSuccessSound:
+ path: /Audio/Effects/Footsteps/bounce.ogg
+ - type: EmitSoundOnCollide
+ sound:
+ path: /Audio/Effects/Footsteps/bounce.ogg
+ - type: Item
+ size: Small
+ sprite: Objects/Fun/Balls/tennisball.rsi
+ - type: EmitSoundOnUse
+ sound:
+ collection: ToySqueak
+ params:
+ volume: -4
+ - type: UseDelay
+ - type: Clothing
+ slots: [mask]
+ - type: Tag
+ tags:
+ - PetWearable
+
- type: entity
parent: BaseItem
id: BeachBall
types:
Piercing: 0
+- type: entity
+ id: BulletTennis
+ name: tennis ball
+ description: A fuzzy orb of endless betrayal.
+ categories: [ HideSpawnMenu ]
+ components:
+ - type: Physics
+ bodyType: Dynamic
+ linearDamping: 0
+ angularDamping: 0
+ - type: Fixtures
+ fixtures:
+ projectile:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.1,-0.1,0.1,0.1"
+ hard: false
+ mask:
+ - Impassable
+ - BulletImpassable
+ - type: Sprite
+ sprite: Objects/Fun/Balls/tennisball.rsi
+ layers:
+ - state: icon
+ - type: Ammo
+ muzzleFlash: null
+ - type: Projectile
+ deleteOnCollide: true
+ damage:
+ types:
+ Piercing: 0
+ soundHit: null
+ - type: TimedDespawn
+ lifetime: 10
+
+
- type: entity
id: BulletAcid
name: acid spit
--- /dev/null
+{
+ "version": 1,
+ "license": "CC-BY-NC-SA-3.0",
+ "copyright": "Created by IproduceWidgets (github)",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "equipped-MASK",
+ "directions": 4
+ },
+ {
+ "name": "equipped-MASK-reptilian",
+ "directions": 4
+ },
+ {
+ "name": "equipped-MASK-vox",
+ "directions": 4
+ },
+ {
+ "name": "equipped-MASK-vulpkanin",
+ "directions": 4
+ },
+ {
+ "name": "equipped-MASK-dog",
+ "directions": 4
+ },
+ {
+ "name": "equipped-MASK-fox",
+ "directions": 4
+ },
+ {
+ "name": "equipped-MASK-puppy",
+ "directions": 4
+ }
+ ]
+}