Added fun: Darts (#20582)

* add textures

* fix cargo/cargo-fun.ftl

* fix cargo/cargo-fun.ftl again

* update icons and resize hitbox

* really fixed cargo.ftl

* fix soundSpecifier

* balance changes: solution transfer has been reduced from 2 to 1. Now the transfer does not work on targets wearing anything in the outerclothing slot

* add hypodart to uplink

* return of darts solution capacity to 2u

* Update uplink-catalog.ftl

* Update uplink_catalog.yml

* Update darts.yml

* remove hypodart sprite

* Update darts.yml

* Update fun.yml

* add random popups component, resprite dartboard

* localize darts

* fix

* Update darts.yml
This commit is contained in:
Ed
2023-10-19 06:55:30 +03:00
committed by GitHub
parent 8d070d4758
commit 9bb62181de
29 changed files with 389 additions and 4 deletions

View File

@@ -0,0 +1,176 @@
- type: entity
name: dart
description: light throwing dart for playing darts. Don't get in the eye!
parent: BaseItem
id: Dart
components:
- type: EmbeddableProjectile
minimumSpeed: 3
removalTime: 0.5
offset: 0.0,0.0
- type: ThrowingAngle
angle: 315
- type: Fixtures
fixtures:
fix1:
shape: !type:PolygonShape
vertices:
- -0.20,0.10
- -0.10,0.20
- 0.20,-0.10
- 0.10,-0.20
density: 20
mask:
- ItemMask
restitution: 0.3
friction: 0.2
- type: Sprite
sprite: Objects/Fun/Darts/dart_red.rsi
state: icon
- type: MeleeWeapon
damage:
types:
Piercing: 2
angle: 0
animation: WeaponArcThrust
soundHit:
path: /Audio/Weapons/pierce.ogg
- type: DamageOtherOnHit
damage:
types:
Piercing: 4
- type: Item
size: 2
sprite: Objects/Fun/Darts/dart_red.rsi
- type: ItemCooldown
- type: SolutionContainerManager
solutions:
melee:
maxVol: 2
- type: MeleeChemicalInjector
solution: melee
- type: RefillableSolution
solution: melee
- type: InjectableSolution
solution: melee
- type: SolutionInjectOnCollide
transferAmount: 2
blockSlots: OUTERCLOTHING
- type: SolutionTransfer
maxTransferAmount: 2
- type: Damageable
damageContainer: Inorganic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 30 #excess damage avoids cost of spawning entities.
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpawnEntitiesBehavior
spawn:
PartRodMetal1:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: Appearance
- type: SolutionContainerVisuals
maxFillLevels: 1
fillBaseName: dart
- type: entity
parent: Dart
id: DartBlue
components:
- type: Sprite
sprite: Objects/Fun/Darts/dart_blue.rsi
- type: Item
sprite: Objects/Fun/Darts/dart_blue.rsi
- type: entity
parent: Dart
id: DartPurple
components:
- type: Sprite
sprite: Objects/Fun/Darts/dart_purple.rsi
- type: Item
sprite: Objects/Fun/Darts/dart_purple.rsi
- type: entity
parent: Dart
id: DartYellow
components:
- type: Sprite
sprite: Objects/Fun/Darts/dart_yellow.rsi
- type: Item
sprite: Objects/Fun/Darts/dart_yellow.rsi
- type: entity
name: dartboard
id: TargetDarts
parent: BaseStructureDynamic
description: A target for playing darts.
components:
- type: Sprite
sprite: Objects/Fun/Darts/target.rsi
state: target_dart
noRot: true
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.35
density: 50
mask:
- FullTileMask
layer:
- WallLayer
- type: InteractionOutline
- type: Physics
- type: Damageable
- type: DamageRandomPopup
popups:
- darts-popup-bullseye
- darts-popup-25
- darts-popup-10
- darts-popup-10
- darts-popup-5
- darts-popup-5
- darts-popup-5
- darts-popup-1
- darts-popup-1
- darts-popup-1
- darts-popup-miss
- darts-popup-miss
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 500
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
behaviors:
- !type:SpawnEntitiesBehavior
spawn:
MaterialWoodPlank:
min: 5
max: 5
- !type:PlaySoundBehavior
sound:
path: /Audio/Effects/tree_fell.ogg
- !type:DoActsBehavior
acts: [ "Destruction" ]