Syringe gun! (#32112)

* Init testing

* copyright

* oops

* Tracking the embed entity uid

* testing stuff for gradual injection

* work

* weh

* god save me

* bleh

* Yippee!

* Again

* Mini syringe ammo

* cleaning up

* mini syringes have a texture for fill amount

* -3 cool points :(

* hitboxes

* init cleanup

* much needed fixes

* Fixes
This commit is contained in:
ScarKy0
2024-10-22 15:03:42 +02:00
committed by GitHub
parent 94bbf7262c
commit 62f5a31c4a
20 changed files with 257 additions and 7 deletions

View File

@@ -386,6 +386,66 @@
- Syringe
- Trash
- type: entity
name: mini syringe
parent: Syringe
description: A regular syringe, reshaped to fit inside of a gun.
id: MiniSyringe
components:
- type: Sprite
sprite: Objects/Specific/Chemistry/syringe.rsi
layers:
- state: minisyringe1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- state: syringeproj
- type: SolutionContainerVisuals
maxFillLevels: 3
fillBaseName: minisyringe
inHandsMaxFillLevels: 3
inHandsFillBaseName: -fill-
- type: EmbeddableProjectile
offset: "-0.1,0"
minimumSpeed: 3
removalTime: 0.25
embedOnThrow: false
- type: SolutionInjectWhileEmbedded
transferAmount: 1
solution: injector
updateInterval: 2
- type: SolutionInjectOnEmbed
transferAmount: 2
solution: injector
- type: Fixtures
fixtures:
fix1:
shape: !type:PhysShapeCircle
radius: 0.2
density: 5
mask:
- ItemMask
restitution: 0.3
friction: 0.2
projectile:
shape:
!type:PhysShapeAabb
bounds: "-0.1,-0.3,0.1,0.3"
hard: false
mask:
- Impassable
- BulletImpassable
- type: Projectile
deleteOnCollide: false
onlyCollideWhenShot: true
damage:
types:
Piercing: 5
- type: Tag
tags:
- Syringe
- Trash
- SyringeGunAmmo
- type: entity
parent: BaseSyringe
id: PrefilledSyringe

View File

@@ -103,6 +103,43 @@
containers:
storagebase: !type:Container
ents: []
- type: entity
name: syringe gun
parent: BaseStorageItem
id: LauncherSyringe
description: Load full of poisoned syringes for optimal fun.
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Cannons/syringe_gun.rsi
layers:
- state: syringe_gun
- type: Storage
maxItemSize: Normal
grid:
- 0,0,2,0
whitelist:
tags:
- SyringeGunAmmo
- type: Gun
fireRate: 1
selectedMode: SemiAuto
availableModes:
- SemiAuto
- FullAuto
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/syringe_gun.ogg
soundEmpty:
path: /Audio/Weapons/Guns/Empty/empty.ogg
clumsyProof: true
- type: ContainerAmmoProvider
container: storagebase
- type: Item
size: Normal
- type: ContainerContainer
containers:
storagebase: !type:Container
ents: []
# shoots bullets instead of throwing them, no other changes
- type: entity

View File

@@ -1300,6 +1300,9 @@
- type: Tag
id: Syringe
- type: Tag
id: SyringeGunAmmo
- type: Tag
id: Spellbook