Крюк-пушка и грави-пушка (#1065)

commit
This commit is contained in:
Spatison
2026-02-08 15:59:27 +03:00
committed by GitHub
parent 2c511bbc71
commit 2c05780cee
14 changed files with 317 additions and 326 deletions

View File

@@ -464,14 +464,6 @@ PosterLegitEnlist: null
PosterLegitNoErp: null
PosterContrabandEnlistGorlex: null
# 2025-04-26
WeaponTetherGun: null
WeaponForceGun: null
WeaponGrapplingGun: null
BorgModuleGrapplingGun: null
WeaponForceGunAdmin: null
WeaponTetherGunAdmin: null
# Lavaland EE stuff
TreasureDatadiskEncrypted: null
VendingMachineBoozeSyndicate: VendingMachineBooze

View File

@@ -8,7 +8,7 @@
FlashlightLantern: 2
HandheldGPSBasic: 2
RadioHandheld: 2
# WeaponGrapplingGun: 2
WeaponGrapplingGun: 2
WeaponProtoKineticAccelerator: 4
# WD EDIT START
contrabandInventory:

View File

@@ -20,8 +20,8 @@
cost: 500
- id: SeismicCharge
cost: 1000
# - id: WeaponGrapplingGun
# cost: 300
- id: WeaponGrapplingGun
cost: 300
# TODO: laser pointer 300, toy facehugger 300
# TODO: stabilizing serum for 400
- id: FultonBeacon

View File

@@ -210,7 +210,7 @@
weight: 0.5
- id: OxygenTankFilled
- id: WelderIndustrial
# - id: WeaponGrapplingGun
- id: WeaponGrapplingGun
- !type:GroupSelector
children:
- id: ClothingHeadHatWelding

View File

@@ -259,21 +259,21 @@
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: pka-module }
# - type: entity
# id: BorgModuleGrapplingGun
# parent: [ BaseBorgModuleCargo, BaseProviderBorgModule ]
# name: grappling gun cyborg module
# components:
# - type: Sprite
# layers:
# - state: cargo
# - state: icon-grappling-gun
# - type: ItemBorgModule
# items:
# - WeaponGrapplingGun
# - HandheldGPSBasic
# - type: BorgModuleIcon
# icon: { sprite: Interface/Actions/actions_borg.rsi, state: grappling-module }
- type: entity
id: BorgModuleGrapplingGun
parent: [ BaseBorgModuleCargo, BaseProviderBorgModule ]
name: grappling gun cyborg module
components:
- type: Sprite
layers:
- state: cargo
- state: icon-grappling-gun
- type: ItemBorgModule
items:
- WeaponGrapplingGun
- HandheldGPSBasic
- type: BorgModuleIcon
icon: { sprite: Interface/Actions/actions_borg.rsi, state: grappling-module }
# engineering modules
- type: entity

View File

@@ -202,229 +202,229 @@
shape:
- 0,0,5,1
# - type: entity
# name: tether gun
# parent:
# - BaseItem
# - PowerCellSlotMediumItem
# id: WeaponTetherGun
# description: Manipulates gravity around objects to fling them at high velocities.
# components:
# - type: Item
# storedRotation: -90
# size: Large # WWDP Guns resize
# shape:
# - 0,0,5,1
# - type: TetherGun
# frequency: 5
# dampingRatio: 4
# - type: ItemToggle
# onUse: false
# - type: PowerCellDraw
# - type: ToggleCellDraw
# - type: Sprite
# sprite: Objects/Weapons/Guns/Launchers/tether_gun.rsi
# layers:
# - state: base
# - state: base-unshaded
# map: [ "unshaded" ]
# shader: unshaded
# visible: false
# - type: ToggleableLightVisuals
# spriteLayer: unshaded
# inhandVisuals:
# left:
# - state: inhand-left-unshaded
# shader: unshaded
# right:
# - state: inhand-right-unshaded
# shader: unshaded
# - type: Appearance
# - type: GenericVisualizer
# visuals:
# enum.TetherVisualsStatus.Key:
# unshaded:
# True: { visible: true }
# False: { visible: false }
- type: entity
name: tether gun
parent:
- BaseItem
- PowerCellSlotMediumItem
id: WeaponTetherGun
description: Manipulates gravity around objects to fling them at high velocities.
components:
- type: Item
storedRotation: -90
size: Large # WWDP Guns resize
shape:
- 0,0,5,1
- type: TetherGun
frequency: 5
dampingRatio: 4
- type: ItemToggle
onUse: false
- type: PowerCellDraw
- type: ToggleCellDraw
- type: Sprite
sprite: Objects/Weapons/Guns/Launchers/tether_gun.rsi
layers:
- state: base
- state: base-unshaded
map: [ "unshaded" ]
shader: unshaded
visible: false
- type: ToggleableLightVisuals
spriteLayer: unshaded
inhandVisuals:
left:
- state: inhand-left-unshaded
shader: unshaded
right:
- state: inhand-right-unshaded
shader: unshaded
- type: Appearance
- type: GenericVisualizer
visuals:
enum.TetherVisualsStatus.Key:
unshaded:
True: { visible: true }
False: { visible: false }
# - type: entity
# name: force gun
# parent:
# - BaseItem
# - PowerCellSlotMediumItem
# id: WeaponForceGun
# description: Manipulates gravity around objects to fling them at high velocities.
# components:
# - type: Item
# storedRotation: -90
# size: Large # WWDP Guns resize
# shape:
# - 0,0,5,1
# - type: ForceGun
# frequency: 15
# dampingRatio: 4
# massLimit: 50
# lineColor: "#18a2d5"
# soundLaunch:
# path: /Audio/Weapons/soup.ogg
# params:
# volume: 2
# - type: ItemToggle
# onUse: false
# - type: PowerCellDraw
# - type: ToggleCellDraw
# - type: Sprite
# sprite: Objects/Weapons/Guns/Launchers/force_gun.rsi
# layers:
# - state: base
# - state: base-unshaded
# map: [ "unshaded" ]
# shader: unshaded
# visible: false
# - type: ToggleableLightVisuals
# spriteLayer: unshaded
# inhandVisuals:
# left:
# - state: inhand-left-unshaded
# shader: unshaded
# right:
# - state: inhand-right-unshaded
# shader: unshaded
# - type: Appearance
# - type: GenericVisualizer
# visuals:
# enum.TetherVisualsStatus.Key:
# unshaded:
# True: { visible: true }
# False: { visible: false }
- type: entity
name: force gun
parent:
- BaseItem
- PowerCellSlotMediumItem
id: WeaponForceGun
description: Manipulates gravity around objects to fling them at high velocities.
components:
- type: Item
storedRotation: -90
size: Large # WWDP Guns resize
shape:
- 0,0,5,1
- type: ForceGun
frequency: 15
dampingRatio: 4
massLimit: 50
lineColor: "#18a2d5"
soundLaunch:
path: /Audio/Weapons/soup.ogg
params:
volume: 2
- type: ItemToggle
onUse: false
- type: PowerCellDraw
- type: ToggleCellDraw
- type: Sprite
sprite: Objects/Weapons/Guns/Launchers/force_gun.rsi
layers:
- state: base
- state: base-unshaded
map: [ "unshaded" ]
shader: unshaded
visible: false
- type: ToggleableLightVisuals
spriteLayer: unshaded
inhandVisuals:
left:
- state: inhand-left-unshaded
shader: unshaded
right:
- state: inhand-right-unshaded
shader: unshaded
- type: Appearance
- type: GenericVisualizer
visuals:
enum.TetherVisualsStatus.Key:
unshaded:
True: { visible: true }
False: { visible: false }
# - type: entity
# name: grappling gun
# parent: BaseItem
# id: WeaponGrapplingGun
# components:
# - type: AmmoCounter
# - type: GrapplingGun
# - type: Gun
# soundGunshot: /Audio/Weapons/Guns/Gunshots/harpoon.ogg
# fireRate: 0.5
# clumsyProof: true
# - type: BasicEntityAmmoProvider
# proto: GrapplingHook
# capacity: 1
# - type: Sprite
# sprite: Objects/Weapons/Guns/Launchers/grappling_gun.rsi
# layers:
# - state: base
# - state: base-unshaded
# map: [ "unshaded" ]
# visible: true
# - type: UseDelay
# delay: 1.5
# - type: Appearance
# - type: GenericVisualizer
# visuals:
# enum.TetherVisualsStatus.Key:
# unshaded:
# True: { state: base-unshaded }
# False: { state: base-unshaded-off }
# - type: Item # WWDP Guns resize
# size: Small
# shape:
# - 0,0,1,0
# - 0,1,0,1
- type: entity
name: grappling gun
parent: BaseItem
id: WeaponGrapplingGun
components:
- type: AmmoCounter
- type: GrapplingGun
- type: Gun
soundGunshot: /Audio/Weapons/Guns/Gunshots/harpoon.ogg
fireRate: 0.5
clumsyProof: true
- type: BasicEntityAmmoProvider
proto: GrapplingHook
capacity: 1
- type: Sprite
sprite: Objects/Weapons/Guns/Launchers/grappling_gun.rsi
layers:
- state: base
- state: base-unshaded
map: [ "unshaded" ]
visible: true
- type: UseDelay
delay: 1.5
- type: Appearance
- type: GenericVisualizer
visuals:
enum.TetherVisualsStatus.Key:
unshaded:
True: { state: base-unshaded }
False: { state: base-unshaded-off }
- type: Item # WWDP Guns resize
size: Small
shape:
- 0,0,1,0
- 0,1,0,1
# # Admeme
# - type: entity
# name: tether gun
# parent: BaseItem
# id: WeaponTetherGunAdmin
# suffix: Admeme
# description: Manipulates gravity around objects to fling them at high velocities.
# components:
# - type: TetherGun
# canTetherAlive: true
# canUnanchor: true
# maxForce: 10000
# massLimit: 10000
# dampingRatio: 4
# frequency: 20
# - type: Sprite
# sprite: Objects/Weapons/Guns/Launchers/tether_gun.rsi
# layers:
# - state: base
# - state: base-unshaded
# map: [ "unshaded" ]
# shader: unshaded
# visible: false
# - type: ToggleableLightVisuals
# spriteLayer: unshaded
# inhandVisuals:
# left:
# - state: inhand-left-unshaded
# shader: unshaded
# right:
# - state: inhand-right-unshaded
# shader: unshaded
# - type: Appearance
# - type: GenericVisualizer
# visuals:
# enum.TetherVisualsStatus.Key:
# unshaded:
# True: { visible: true }
# False: { visible: false }
# - type: GiftIgnore # WD EDIT
# - type: Item # WWDP guns resize
# size: Large
# shape:
# - 0,0,5,1
# Admeme
- type: entity
name: tether gun
parent: BaseItem
id: WeaponTetherGunAdmin
suffix: Admeme
description: Manipulates gravity around objects to fling them at high velocities.
components:
- type: TetherGun
canTetherAlive: true
canUnanchor: true
maxForce: 10000
massLimit: 10000
dampingRatio: 4
frequency: 20
- type: Sprite
sprite: Objects/Weapons/Guns/Launchers/tether_gun.rsi
layers:
- state: base
- state: base-unshaded
map: [ "unshaded" ]
shader: unshaded
visible: false
- type: ToggleableLightVisuals
spriteLayer: unshaded
inhandVisuals:
left:
- state: inhand-left-unshaded
shader: unshaded
right:
- state: inhand-right-unshaded
shader: unshaded
- type: Appearance
- type: GenericVisualizer
visuals:
enum.TetherVisualsStatus.Key:
unshaded:
True: { visible: true }
False: { visible: false }
- type: GiftIgnore # WD EDIT
- type: Item # WWDP guns resize
size: Large
shape:
- 0,0,5,1
# - type: entity
# name: force gun
# parent: BaseItem
# id: WeaponForceGunAdmin
# suffix: Admeme
# description: Manipulates gravity around objects to fling them at high velocities.
# components:
# - type: ForceGun
# canTetherAlive: true
# canUnanchor: true
# maxForce: 10000
# massLimit: 10000
# frequency: 15
# dampingRatio: 4
# throwForce: 50
# throwDistance: 100
# lineColor: "#18a2d5"
# - type: Sprite
# sprite: Objects/Weapons/Guns/Launchers/force_gun.rsi
# layers:
# - state: base
# - state: base-unshaded
# map: [ "unshaded" ]
# shader: unshaded
# visible: false
# - type: ToggleableLightVisuals
# spriteLayer: unshaded
# inhandVisuals:
# left:
# - state: inhand-left-unshaded
# shader: unshaded
# right:
# - state: inhand-right-unshaded
# shader: unshaded
# - type: Appearance
# - type: GenericVisualizer
# visuals:
# enum.TetherVisualsStatus.Key:
# unshaded:
# True: { visible: true }
# False: { visible: false }
# - type: GiftIgnore # WD EDIT
# - type: Item # WWDP guns resize
# size: Large
# shape:
# - 0,0,5,1
- type: entity
name: force gun
parent: BaseItem
id: WeaponForceGunAdmin
suffix: Admeme
description: Manipulates gravity around objects to fling them at high velocities.
components:
- type: ForceGun
canTetherAlive: true
canUnanchor: true
maxForce: 10000
massLimit: 10000
frequency: 15
dampingRatio: 4
throwForce: 50
throwDistance: 100
lineColor: "#18a2d5"
- type: Sprite
sprite: Objects/Weapons/Guns/Launchers/force_gun.rsi
layers:
- state: base
- state: base-unshaded
map: [ "unshaded" ]
shader: unshaded
visible: false
- type: ToggleableLightVisuals
spriteLayer: unshaded
inhandVisuals:
left:
- state: inhand-left-unshaded
shader: unshaded
right:
- state: inhand-right-unshaded
shader: unshaded
- type: Appearance
- type: GenericVisualizer
visuals:
enum.TetherVisualsStatus.Key:
unshaded:
True: { visible: true }
False: { visible: false }
- type: GiftIgnore # WD EDIT
- type: Item # WWDP guns resize
size: Large
shape:
- 0,0,5,1
- type: entity
name: meteor launcher

View File

@@ -982,40 +982,40 @@
color: orange
energy: 0.5
# - type: entity
# id: GrapplingHook
# name: grappling hook
# categories: [ HideSpawnMenu ]
# components:
# - type: EmbeddableProjectile
# deleteOnRemove: true
# - type: Clickable
# - type: InteractionOutline
# - type: Sprite
# noRot: false
# sprite: Objects/Weapons/Guns/Launchers/grappling_gun.rsi
# layers:
# - state: hook
# - type: Physics
# bodyType: Dynamic
# linearDamping: 0
# angularDamping: 0
# - type: Projectile
# deleteOnCollide: false
# damage:
# types:
# Blunt: 0
# - type: Fixtures
# fixtures:
# projectile:
# shape:
# !type:PhysShapeAabb
# bounds: "-0.1,-0.1,0.1,0.1"
# hard: false
# mask:
# - Impassable
# - HighImpassable
# - type: GrapplingProjectile
- type: entity
id: GrapplingHook
name: grappling hook
categories: [ HideSpawnMenu ]
components:
- type: EmbeddableProjectile
deleteOnRemove: true
- type: Clickable
- type: InteractionOutline
- type: Sprite
noRot: false
sprite: Objects/Weapons/Guns/Launchers/grappling_gun.rsi
layers:
- state: hook
- type: Physics
bodyType: Dynamic
linearDamping: 0
angularDamping: 0
- type: Projectile
deleteOnCollide: false
damage:
types:
Blunt: 0
- type: Fixtures
fixtures:
projectile:
shape:
!type:PhysShapeAabb
bounds: "-0.1,-0.1,0.1,0.1"
hard: false
mask:
- Impassable
- HighImpassable
- type: GrapplingProjectile
- type: entity
name : disabler bolt smg

View File

@@ -1,5 +1,3 @@
# File: Resources/Prototypes/Entities/Virtual/tether.yml
- type: entity
id: TetherEntity
categories: [ HideSpawnMenu ]

View File

@@ -65,10 +65,10 @@
id: ScienceWeapons
recipes:
- WeaponPistolCHIMP
# - WeaponForceGun - EE EDIT
- WeaponForceGun
- WeaponLaserSvalinn
- WeaponProtoKineticAccelerator
# - WeaponTetherGun - EE EDIT
- WeaponTetherGun
- WeaponGauntletGorilla
# EE EDIT START
# - WeaponCivilianDisabler - WD EDIT

View File

@@ -151,15 +151,15 @@
Steel: 600
Glass: 200
# - type: latheRecipe
# id: WeaponForceGun
# result: WeaponForceGun
# category: Tools
# completetime: 5
# materials:
# Steel: 500
# Glass: 400
# Silver: 200
- type: latheRecipe
id: WeaponForceGun
result: WeaponForceGun
category: Tools
completetime: 5
materials:
Steel: 500
Glass: 400
Silver: 200
- type: latheRecipe
id: DeviceQuantumSpinInverter
@@ -180,25 +180,25 @@
Glass: 500
Silver: 100
# - type: latheRecipe
# id: WeaponTetherGun
# result: WeaponTetherGun
# category: Tools
# completetime: 5
# materials:
# Steel: 500
# Glass: 400
# Silver: 100
- type: latheRecipe
id: WeaponTetherGun
result: WeaponTetherGun
category: Tools
completetime: 5
materials:
Steel: 500
Glass: 400
Silver: 100
# - type: latheRecipe
# id: WeaponGrapplingGun
# result: WeaponGrapplingGun
# category: Tools
# completetime: 5
# materials:
# Steel: 500
# Glass: 400
# Gold: 100
- type: latheRecipe
id: WeaponGrapplingGun
result: WeaponGrapplingGun
category: Tools
completetime: 5
materials:
Steel: 500
Glass: 400
Gold: 100
- type: latheRecipe
id: ClothingEyesNightVisionGoggles

View File

@@ -137,19 +137,19 @@
- PicoManipulatorStockPart
softCapContribution: 1.2
# - type: technology
# id: GravityManipulation
# name: research-technology-gravity-manipulation
# icon:
# sprite: Objects/Weapons/Guns/Launchers/tether_gun.rsi
# state: base
# discipline: Experimental
# tier: 3
# cost: 10000
# recipeUnlocks:
# - WeaponForceGun
# - WeaponTetherGun
# softCapContribution: 1.5
- type: technology
id: GravityManipulation
name: research-technology-gravity-manipulation
icon:
sprite: Objects/Weapons/Guns/Launchers/tether_gun.rsi
state: base
discipline: Experimental
tier: 3
cost: 10000
recipeUnlocks:
- WeaponForceGun
- WeaponTetherGun
softCapContribution: 1.5
- type: technology
id: QuantumLeaping

View File

@@ -11,6 +11,7 @@
cost: 7500
recipeUnlocks:
- MiningDrill
- WeaponGrapplingGun
- MineralScannerEmpty
- MechEquipmentDrill # Goobstation
- OreProcessorIndustrialMachineCircuitboard

View File

@@ -82,7 +82,7 @@
- BorgModuleCargo
defaultModules:
# - BorgModuleGrapplingGun
- BorgModuleGrapplingGun
- BorgModuleMining
- BorgModuleAppraisal
- BorgModulePKA # Lavaland

View File

@@ -29,7 +29,7 @@
<Box>
<GuideEntityEmbed Entity="Wrench" Caption="Промышленность"/>
<GuideEntityEmbed Entity="Syringe" Caption="Биохимия"/>
<GuideEntityEmbed Entity="DeviceQuantumSpinInverter" Caption="Экспериментальные"/>
<GuideEntityEmbed Entity="WeaponTetherGun" Caption="Экспериментальные"/>
<GuideEntityEmbed Entity="ComputerTelevision" Caption="Гражданские службы"/>
<GuideEntityEmbed Entity="WeaponXrayCannon" Caption="Арсенал"/>
</Box>