Star Wars 14: Shuttle weapon update (#23644)
* setup codebase * make auto-fire, but its broken * collider problem * fix rate, add toggle port * add laser * power cages * ginormous cells * fix inhand * add pirate cannon * salvage gun * functional Nuke cannon * rewrite to standart grenade * fix naming, add emp sprite * grenade cartridge * thruster fix * nuke cannon * audio + visual polish * balance tweak * tweaks * laser balance tweak: new Electronic damage modifier set, reduce structural cannon damage * resprite energy cages, start implementing in game * fix cage recharger craft * add small laser gun * fix colliders * add lasers and ptk to research and crafting * finish implementing weapon to rnd and sec * some fixes * splitted grenades and cannon balls * integrate new cannon balls * tweaks stick * move circuits to sectechfab, fix * fix? * add ability to E shoot, without signals * fix! * fix?!?! and naming tweak * go! * Lank fix * oh * mornings don't start with coffee. * the morning starts with bug fixes. * fucking bugs! * finally * it is now possible to craft projectiles separately from cartridges * +2 fix * refactor * piu * More weight * add AutoShootGunComponent * move autoshoot to partial * SetEnabled() * some fixes * remove CanShootWithoutUser field * remove null-checks ToCoordinates from AttemptShoot() * war without reason * return to home * ? * forgot remove it * review * Fix formatting and update path --------- Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
@@ -60,6 +60,16 @@
|
||||
Heat: 5
|
||||
Piercing: 10
|
||||
|
||||
# for fragile electronics like consoles or shuttle engines.
|
||||
- type: damageModifierSet
|
||||
id: Electronic
|
||||
coefficients:
|
||||
Blunt: 0.7
|
||||
Slash: 0.5
|
||||
Piercing: 0.7
|
||||
Shock: 2
|
||||
Heat: 3
|
||||
|
||||
# Like metallic, but without flat reduction so it can be damaged with fists.
|
||||
- type: damageModifierSet
|
||||
id: FlimsyMetallic
|
||||
|
||||
@@ -661,6 +661,29 @@
|
||||
- type: StaticPrice
|
||||
price: 15
|
||||
|
||||
- type: entity
|
||||
id: PowerCageRechargerCircuitboard
|
||||
parent: BaseMachineCircuitboard
|
||||
name: cage recharger machine board
|
||||
description: A machine printed circuit board for a energy cage recharger.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/module.rsi
|
||||
state: charger_APC
|
||||
- type: MachineBoard
|
||||
prototype: PowerCageRecharger
|
||||
requirements:
|
||||
Capacitor: 4
|
||||
materialRequirements:
|
||||
Steel: 5
|
||||
Cable: 10
|
||||
- type: PhysicalComposition
|
||||
materialComposition:
|
||||
Steel: 30
|
||||
Plastic: 30
|
||||
- type: StaticPrice
|
||||
price: 30
|
||||
|
||||
- type: entity
|
||||
id: BorgChargerCircuitboard
|
||||
parent: BaseMachineCircuitboard
|
||||
@@ -1229,3 +1252,90 @@
|
||||
Steel: 5
|
||||
CableHV: 5
|
||||
Uranium: 2
|
||||
|
||||
- type: entity
|
||||
id: ShuttleGunSvalinnMachineGunCircuitboard
|
||||
parent: BaseMachineCircuitboard
|
||||
name: LSE-400c "Svalinn machine gun" machine board
|
||||
description: A machine printed circuit board for an LSE-400c "Svalinn machine gun"
|
||||
components:
|
||||
- type: Sprite
|
||||
state: security
|
||||
- type: MachineBoard
|
||||
prototype: ShuttleGunSvalinnMachineGun
|
||||
requirements:
|
||||
MatterBin: 2
|
||||
Manipulator: 4
|
||||
materialRequirements:
|
||||
Steel: 5
|
||||
CableHV: 5
|
||||
|
||||
- type: entity
|
||||
id: ShuttleGunPerforatorCircuitboard
|
||||
parent: BaseMachineCircuitboard
|
||||
name: LSE-1200c "Perforator" machine board
|
||||
description: A machine printed circuit board for an LSE-1200c "Perforator"
|
||||
components:
|
||||
- type: Sprite
|
||||
state: security
|
||||
- type: MachineBoard
|
||||
prototype: ShuttleGunPerforator
|
||||
requirements:
|
||||
MatterBin: 4
|
||||
Manipulator: 6
|
||||
materialRequirements:
|
||||
Steel: 10
|
||||
CableHV: 5
|
||||
|
||||
- type: entity
|
||||
id: ShuttleGunFriendshipCircuitboard
|
||||
parent: BaseMachineCircuitboard
|
||||
name: EXP-320g "Friendship" machine board
|
||||
description: A machine printed circuit board for an EXP-320g "Friendship"
|
||||
components:
|
||||
- type: Sprite
|
||||
state: security
|
||||
- type: MachineBoard
|
||||
prototype: ShuttleGunFriendship
|
||||
requirements:
|
||||
MatterBin: 3
|
||||
Manipulator: 2
|
||||
materialRequirements:
|
||||
Steel: 7
|
||||
CableHV: 5
|
||||
|
||||
- type: entity
|
||||
id: ShuttleGunDusterCircuitboard
|
||||
parent: BaseMachineCircuitboard
|
||||
name: EXP-2100g "Duster" machine board
|
||||
description: A machine printed circuit board for an EXP-2100g "Duster"
|
||||
components:
|
||||
- type: Sprite
|
||||
state: security
|
||||
- type: MachineBoard
|
||||
prototype: ShuttleGunDuster
|
||||
requirements:
|
||||
MatterBin: 6
|
||||
Manipulator: 4
|
||||
materialRequirements:
|
||||
Steel: 10
|
||||
CableHV: 5
|
||||
Uranium: 2
|
||||
|
||||
- type: entity
|
||||
id: ShuttleGunKineticCircuitboard
|
||||
parent: BaseMachineCircuitboard
|
||||
name: PTK-800 "Matter Dematerializer" machine board
|
||||
description: A machine printed circuit board for an PTK-800 "Matter Dematerializer"
|
||||
components:
|
||||
- type: Sprite
|
||||
state: security
|
||||
- type: MachineBoard
|
||||
prototype: ShuttleGunKinetic
|
||||
requirements:
|
||||
MatterBin: 2
|
||||
Manipulator: 3
|
||||
materialRequirements:
|
||||
Steel: 5
|
||||
CableHV: 2
|
||||
|
||||
@@ -267,3 +267,139 @@
|
||||
- type: BatterySelfRecharger
|
||||
autoRecharge: true
|
||||
autoRechargeRate: 40
|
||||
|
||||
# Power cage (big heavy power cell for big devices)
|
||||
|
||||
- type: entity
|
||||
id: BasePowerCage
|
||||
abstract: true
|
||||
parent: BasePowerCell
|
||||
components:
|
||||
- type: Item
|
||||
size: Ginormous
|
||||
- type: MultiHandedItem
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
battery:
|
||||
maxVol: 15
|
||||
- type: Extractable
|
||||
juiceSolution:
|
||||
reagents:
|
||||
- ReagentId: Zinc
|
||||
Quantity: 15
|
||||
- type: Tag
|
||||
tags:
|
||||
- PowerCage
|
||||
- type: HitscanBatteryAmmoProvider
|
||||
proto: RedShuttleLaser
|
||||
fireCost: 150
|
||||
- type: ClothingSpeedModifier
|
||||
walkModifier: 0.8
|
||||
sprintModifier: 0.8
|
||||
- type: HeldSpeedModifier
|
||||
|
||||
- type: entity
|
||||
id: PowerCageSmall
|
||||
parent: BasePowerCage
|
||||
name: small-capacity power cage
|
||||
description: A rechargeable power cage for big devices. This is the cheapest kind you can find.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Power/power_cages.rsi
|
||||
layers:
|
||||
- map: [ "enum.PowerCellVisualLayers.Base" ]
|
||||
state: small
|
||||
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
|
||||
state: o2
|
||||
shader: unshaded
|
||||
- type: Battery
|
||||
maxCharge: 1400
|
||||
startingCharge: 1400
|
||||
|
||||
- type: entity
|
||||
id: PowerCageMedium
|
||||
parent: BasePowerCage
|
||||
name: medium-capacity power cage
|
||||
description: A rechargeable power cage for big devices. The gold standard of capacity and cost.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Power/power_cages.rsi
|
||||
layers:
|
||||
- map: [ "enum.PowerCellVisualLayers.Base" ]
|
||||
state: medium
|
||||
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
|
||||
state: o2
|
||||
shader: unshaded
|
||||
- type: Battery
|
||||
maxCharge: 2700
|
||||
startingCharge: 2700
|
||||
|
||||
- type: entity
|
||||
id: PowerCageHigh
|
||||
parent: BasePowerCage
|
||||
name: high-capacity power cage
|
||||
description: A rechargeable power cage for big devices. Increased capacity for increased power levels.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Power/power_cages.rsi
|
||||
layers:
|
||||
- map: [ "enum.PowerCellVisualLayers.Base" ]
|
||||
state: high
|
||||
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
|
||||
state: o2
|
||||
shader: unshaded
|
||||
- type: Battery
|
||||
maxCharge: 6200
|
||||
startingCharge: 6200
|
||||
|
||||
- type: entity
|
||||
id: PowerCageSmallEmpty
|
||||
parent: PowerCageSmall
|
||||
suffix: Empty
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Power/power_cages.rsi
|
||||
layers:
|
||||
- map: [ "enum.PowerCellVisualLayers.Base" ]
|
||||
state: small
|
||||
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
|
||||
state: o2
|
||||
shader: unshaded
|
||||
visible: false
|
||||
- type: Battery
|
||||
maxCharge: 1400
|
||||
startingCharge: 0
|
||||
|
||||
- type: entity
|
||||
id: PowerCageMediumEmpty
|
||||
parent: PowerCageMedium
|
||||
suffix: Empty
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Power/power_cages.rsi
|
||||
layers:
|
||||
- map: [ "enum.PowerCellVisualLayers.Base" ]
|
||||
state: small
|
||||
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
|
||||
state: o2
|
||||
shader: unshaded
|
||||
visible: false
|
||||
- type: Battery
|
||||
startingCharge: 0
|
||||
|
||||
- type: entity
|
||||
id: PowerCageHighEmpty
|
||||
parent: PowerCageHigh
|
||||
suffix: Empty
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Power/power_cages.rsi
|
||||
layers:
|
||||
- map: [ "enum.PowerCellVisualLayers.Base" ]
|
||||
state: small
|
||||
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
|
||||
state: o2
|
||||
shader: unshaded
|
||||
visible: false
|
||||
- type: Battery
|
||||
startingCharge: 0
|
||||
@@ -0,0 +1,87 @@
|
||||
- type: entity
|
||||
id: BaseMagazineGrenade
|
||||
name: grenade cartridge
|
||||
parent: BaseItem
|
||||
abstract: true
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
- MagazineGrenade
|
||||
- type: BallisticAmmoProvider
|
||||
mayTransfer: true
|
||||
whitelist:
|
||||
tags:
|
||||
- Grenade
|
||||
capacity: 5
|
||||
soundRack:
|
||||
path: /Audio/Weapons/Guns/Bolt/lmg_bolt_closed.ogg
|
||||
params:
|
||||
variation: 0.05
|
||||
soundInsert:
|
||||
path: /Audio/Weapons/Guns/MagIn/rifle_load.ogg
|
||||
params:
|
||||
variation: 0.05
|
||||
- type: Item
|
||||
size: Large
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
ballistic-ammo: !type:Container
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Guns/Ammunition/Magazine/Grenade/grenade_cartridge.rsi
|
||||
layers:
|
||||
- state: base
|
||||
map: ["enum.GunVisualLayers.Base"]
|
||||
- state: mag-4
|
||||
map: ["enum.GunVisualLayers.Mag"]
|
||||
- type: MagazineVisuals
|
||||
magState: mag
|
||||
steps: 5
|
||||
zeroVisible: false
|
||||
- type: Appearance
|
||||
|
||||
- type: entity
|
||||
id: MagazineGrenadeEmpty
|
||||
name: grenade cartridge
|
||||
parent: BaseMagazineGrenade
|
||||
components:
|
||||
- type: BallisticAmmoProvider
|
||||
|
||||
- type: entity
|
||||
id: MagazineGrenadeFrag
|
||||
name: frag grenade cartridge
|
||||
parent: BaseMagazineGrenade
|
||||
components:
|
||||
- type: BallisticAmmoProvider
|
||||
proto: GrenadeFrag
|
||||
|
||||
- type: entity
|
||||
id: MagazineGrenadeEMP
|
||||
name: EMP grenade cartridge
|
||||
parent: BaseMagazineGrenade
|
||||
components:
|
||||
- type: BallisticAmmoProvider
|
||||
proto: GrenadeEMP
|
||||
|
||||
- type: entity
|
||||
id: MagazineGrenadeFlash
|
||||
name: flash grenade cartridge
|
||||
parent: BaseMagazineGrenade
|
||||
components:
|
||||
- type: BallisticAmmoProvider
|
||||
proto: GrenadeFlash
|
||||
|
||||
- type: entity
|
||||
id: MagazineGrenadeBlast
|
||||
name: blast grenade cartridge
|
||||
parent: BaseMagazineGrenade
|
||||
components:
|
||||
- type: BallisticAmmoProvider
|
||||
proto: GrenadeBlast
|
||||
|
||||
- type: entity
|
||||
id: MagazineGrenadeBaton
|
||||
name: baton grenade cartridge
|
||||
parent: BaseMagazineGrenade
|
||||
components:
|
||||
- type: BallisticAmmoProvider
|
||||
proto: GrenadeBaton
|
||||
@@ -122,12 +122,44 @@
|
||||
- type: SpentAmmoVisuals
|
||||
state: frag
|
||||
suffix: false
|
||||
|
||||
- type: entity
|
||||
id: GrenadeEMP
|
||||
name: EMP grenade
|
||||
parent: BaseGrenade
|
||||
components:
|
||||
- type: CartridgeAmmo
|
||||
proto: BulletGrenadeEMP
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi
|
||||
layers:
|
||||
- state: emp
|
||||
map: ["enum.AmmoVisualLayers.Base"]
|
||||
- type: Appearance
|
||||
- type: SpentAmmoVisuals
|
||||
state: frag
|
||||
suffix: false
|
||||
|
||||
# Cannon Balls
|
||||
|
||||
- type: entity
|
||||
id: BaseCannonBall
|
||||
name: base cannon ball
|
||||
parent: BaseItem
|
||||
abstract: true
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
- CannonBall
|
||||
- type: Item
|
||||
size: Small
|
||||
- type: Sprite
|
||||
|
||||
- type: entity
|
||||
id: CannonBall
|
||||
name: cannonball
|
||||
suffix: Pirate
|
||||
parent: BaseGrenade
|
||||
parent: BaseCannonBall
|
||||
components:
|
||||
- type: CartridgeAmmo
|
||||
proto: BulletCannonBall
|
||||
@@ -137,10 +169,10 @@
|
||||
state: ball
|
||||
|
||||
- type: entity
|
||||
id: Grapeshot
|
||||
id: CannonBallGrapeshot
|
||||
name: grapeshot
|
||||
suffix: Pirate
|
||||
parent: BaseGrenade
|
||||
parent: BaseCannonBall
|
||||
components:
|
||||
- type: CartridgeAmmo
|
||||
proto: PelletGrapeshot
|
||||
@@ -152,10 +184,10 @@
|
||||
state: grapeshot
|
||||
|
||||
- type: entity
|
||||
id: Glassshot
|
||||
id: CannonBallGlassshot
|
||||
name: glassshot
|
||||
suffix: Pirate
|
||||
parent: BaseGrenade
|
||||
parent: BaseCannonBall
|
||||
components:
|
||||
- type: CartridgeAmmo
|
||||
proto: PelletGlass
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
- type: BallisticAmmoProvider
|
||||
whitelist:
|
||||
tags:
|
||||
- Grenade
|
||||
- CannonBall
|
||||
capacity: 1
|
||||
proto: CannonBall
|
||||
soundInsert:
|
||||
|
||||
@@ -121,3 +121,20 @@
|
||||
impactFlash:
|
||||
sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi
|
||||
state: impact_blue
|
||||
|
||||
- type: hitscan
|
||||
id: RedShuttleLaser
|
||||
maxLength: 60
|
||||
damage:
|
||||
types:
|
||||
Heat: 45
|
||||
Structural: 10
|
||||
muzzleFlash:
|
||||
sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi
|
||||
state: muzzle_beam_heavy2
|
||||
travelFlash:
|
||||
sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi
|
||||
state: beam_heavy2
|
||||
impactFlash:
|
||||
sprite: Objects/Weapons/Guns/Projectiles/projectiles.rsi
|
||||
state: impact_beam_heavy2
|
||||
|
||||
@@ -420,6 +420,32 @@
|
||||
- type: TimedDespawn
|
||||
lifetime: 0.4
|
||||
|
||||
- type: entity
|
||||
id: BulletKineticShuttle
|
||||
parent: BaseBullet
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: Sprite
|
||||
noRot: false
|
||||
sprite: Objects/Weapons/Guns/Projectiles/magic.rsi
|
||||
layers:
|
||||
- state: chronobolt
|
||||
shader: unshaded
|
||||
- type: Projectile
|
||||
impactEffect: BulletImpactEffectKinetic
|
||||
damage:
|
||||
types:
|
||||
Blunt: 30
|
||||
Structural: 35
|
||||
- type: Ammo
|
||||
muzzleFlash: HitscanEffect
|
||||
- type: TimedDespawn
|
||||
lifetime: 1.5
|
||||
- type: PointLight
|
||||
radius: 2.5
|
||||
color: white
|
||||
energy: 0.5
|
||||
|
||||
- type: entity
|
||||
id: BulletCharge
|
||||
name: charge bolt
|
||||
@@ -692,6 +718,27 @@
|
||||
intensitySlope: 1
|
||||
maxIntensity: 10
|
||||
|
||||
- type: entity
|
||||
id: BulletGrenadeEMP
|
||||
name: EMP rocket
|
||||
parent: BaseBulletTrigger
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi
|
||||
layers:
|
||||
- state: frag
|
||||
- type: EmpOnTrigger
|
||||
range: 5
|
||||
energyConsumption: 50000
|
||||
disableDuration: 10
|
||||
- type: Ammo
|
||||
muzzleFlash: null
|
||||
- type: PointLight
|
||||
radius: 3.5
|
||||
color: blue
|
||||
energy: 0.5
|
||||
|
||||
- type: entity
|
||||
id: BulletCap
|
||||
name: cap bullet
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
drawdepth: Objects
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
damageModifierSet: Metallic
|
||||
damageModifierSet: Electronic
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
|
||||
@@ -169,6 +169,7 @@
|
||||
- MagazineBoxMagnum
|
||||
- MagazineBoxRifle
|
||||
- MagazineBoxLightRifle
|
||||
- GrenadeBlast
|
||||
emagDynamicRecipes:
|
||||
- CartridgePistolRubber
|
||||
- CartridgeMagnumRubber
|
||||
@@ -197,6 +198,12 @@
|
||||
- MagazineBoxMagnumUranium
|
||||
- MagazineBoxLightRifleUranium
|
||||
- MagazineBoxRifleUranium
|
||||
- PowerCageSmall
|
||||
- PowerCageMedium
|
||||
- PowerCageHigh
|
||||
- MagazineGrenadeEmpty
|
||||
- GrenadeEMP
|
||||
- GrenadeFlash
|
||||
|
||||
- type: entity
|
||||
id: AutolatheHyperConvection
|
||||
@@ -422,10 +429,12 @@
|
||||
- WallmountGeneratorElectronics
|
||||
- WallmountGeneratorAPUElectronics
|
||||
- WallmountSubstationElectronics
|
||||
- PowerCageRechargerCircuitboard
|
||||
- EmitterCircuitboard
|
||||
- ThrusterMachineCircuitboard
|
||||
- GyroscopeMachineCircuitboard
|
||||
- MiniGravityGeneratorCircuitboard
|
||||
- ShuttleGunKineticCircuitboard
|
||||
- GasRecyclerMachineCircuitboard
|
||||
- SeedExtractorMachineCircuitboard
|
||||
- AnalysisComputerCircuitboard
|
||||
@@ -691,6 +700,9 @@
|
||||
- MagazineBoxMagnumRubber
|
||||
- MagazineBoxPistolRubber
|
||||
- MagazineBoxRifleRubber
|
||||
- MagazineGrenadeEmpty
|
||||
- GrenadeEMP
|
||||
- GrenadeFlash
|
||||
- ShellShotgunBeanbag
|
||||
- ShellShotgunIncendiary
|
||||
- ShellShotgunUranium
|
||||
@@ -706,6 +718,13 @@
|
||||
- WeaponLaserCannon
|
||||
- WeaponLaserCarbine
|
||||
- WeaponXrayCannon
|
||||
- PowerCageSmall
|
||||
- PowerCageMedium
|
||||
- PowerCageHigh
|
||||
- ShuttleGunSvalinnMachineGunCircuitboard
|
||||
- ShuttleGunPerforatorCircuitboard
|
||||
- ShuttleGunFriendshipCircuitboard
|
||||
- ShuttleGunDusterCircuitboard
|
||||
- type: MaterialStorage
|
||||
whitelist:
|
||||
tags:
|
||||
|
||||
@@ -107,6 +107,46 @@
|
||||
blacklist:
|
||||
tags:
|
||||
- PotatoBattery
|
||||
|
||||
- type: entity
|
||||
parent: [ BaseItemRecharger, ConstructibleMachine ]
|
||||
id: PowerCageRecharger
|
||||
name: cage recharger
|
||||
components:
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-0.25,-0.35,0.25,0.35"
|
||||
density: 190
|
||||
mask:
|
||||
- MachineMask
|
||||
layer:
|
||||
- MachineLayer
|
||||
- type: LitOnPowered
|
||||
- type: PointLight
|
||||
radius: 1.5
|
||||
color: "#03fc4e"
|
||||
energy: 0.7
|
||||
- type: Charger
|
||||
chargeRate: 50
|
||||
- type: Sprite
|
||||
sprite: Structures/Power/cage_recharger.rsi
|
||||
- type: PowerCellSlot
|
||||
cellSlotId: charger_slot
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
charger_slot:
|
||||
ejectOnInteract: true
|
||||
name: Power cage
|
||||
whitelist:
|
||||
tags:
|
||||
- PowerCage
|
||||
- type: Machine
|
||||
board: PowerCageRechargerCircuitboard
|
||||
- type: StaticPrice
|
||||
price: 500
|
||||
|
||||
- type: entity
|
||||
parent: BaseItemRecharger
|
||||
|
||||
375
Resources/Prototypes/Entities/Structures/Shuttles/cannons.yml
Normal file
375
Resources/Prototypes/Entities/Structures/Shuttles/cannons.yml
Normal file
@@ -0,0 +1,375 @@
|
||||
- type: entity
|
||||
id: ShuttleGunBase
|
||||
name: shittle gun
|
||||
abstract: true
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Appearance
|
||||
- type: Clickable
|
||||
- type: InteractionOutline
|
||||
- type: Anchorable
|
||||
- type: Pullable
|
||||
- type: Rotatable
|
||||
- type: Physics
|
||||
bodyType: Static
|
||||
- type: ContainerContainer
|
||||
- type: Gun
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-0.45,-0.45,0.45,0.45"
|
||||
density: 450
|
||||
mask:
|
||||
- MachineMask
|
||||
layer:
|
||||
- MachineLayer
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
damageModifierSet: Electronic
|
||||
- type: Transform
|
||||
anchored: true
|
||||
- type: DeviceNetwork
|
||||
deviceNetId: Wireless
|
||||
receiveFrequencyId: BasicDevice
|
||||
- type: WirelessNetworkConnection
|
||||
range: 200
|
||||
- type: DeviceLinkSink
|
||||
ports:
|
||||
- Trigger
|
||||
- Toggle
|
||||
- On
|
||||
- Off
|
||||
- type: AutoShootGun
|
||||
- type: GunSignalControl
|
||||
- type: StaticPrice
|
||||
price: 1500
|
||||
|
||||
# ---- Laser weapon branch ----
|
||||
# naming: LSE (Laser) + conventional power + suffix (c for PowerCage, e for wired energy) + Name
|
||||
# example: LSE-100e "Clown destroyer" (powered by the wiring, very weak)
|
||||
|
||||
- type: entity
|
||||
id: ShuttleGunSvalinnMachineGun
|
||||
parent: [ ShuttleGunBase, ConstructibleMachine]
|
||||
name: LSE-400c "Svalinn machine gun"
|
||||
description: Basic stationary laser unit. Effective against live targets and electronics. Uses regular power cells to fire, and has an extremely high rate of fire
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Guns/Shuttles/laser.rsi
|
||||
layers:
|
||||
- state: lse-400c
|
||||
- state: mag-unshaded-9
|
||||
map: ["enum.GunVisualLayers.MagUnshaded"]
|
||||
shader: unshaded
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
machine_board: !type:Container
|
||||
machine_parts: !type:Container
|
||||
gun_magazine: !type:ContainerSlot
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 150
|
||||
behaviors:
|
||||
- !type:ChangeConstructionNodeBehavior
|
||||
node: machineFrame
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: Gun
|
||||
fireRate: 5
|
||||
useKey: false
|
||||
selectedMode: SemiAuto
|
||||
availableModes:
|
||||
- SemiAuto
|
||||
soundGunshot:
|
||||
path: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg
|
||||
params:
|
||||
variation: 0.05
|
||||
- type: MagazineVisuals
|
||||
magState: mag
|
||||
steps: 10
|
||||
zeroVisible: true
|
||||
- type: Machine
|
||||
board: ShuttleGunSvalinnMachineGunCircuitboard
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
gun_magazine:
|
||||
name: Magazine
|
||||
insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
|
||||
ejectSound: /Audio/Weapons/Guns/MagOut/batrifle_magout.ogg
|
||||
whitelist:
|
||||
tags:
|
||||
- PowerCell
|
||||
- PowerCellSmall
|
||||
- type: MagazineAmmoProvider
|
||||
|
||||
- type: entity
|
||||
id: ShuttleGunPerforator
|
||||
parent: [ ShuttleGunBase, ConstructibleMachine]
|
||||
name: LSE-1200c "Perforator"
|
||||
description: Advanced stationary laser unit. Annihilates electronics and is extremely dangerous to health! Uses the power cage to fire.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Guns/Shuttles/laser.rsi
|
||||
layers:
|
||||
- state: lse-1200c
|
||||
- state: mag-unshaded-9
|
||||
map: ["enum.GunVisualLayers.MagUnshaded"]
|
||||
shader: unshaded
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
machine_board: !type:Container
|
||||
machine_parts: !type:Container
|
||||
gun_magazine: !type:ContainerSlot
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 300
|
||||
behaviors:
|
||||
- !type:ChangeConstructionNodeBehavior
|
||||
node: machineFrame
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: Gun
|
||||
fireRate: 1
|
||||
useKey: false
|
||||
selectedMode: SemiAuto
|
||||
availableModes:
|
||||
- SemiAuto
|
||||
soundGunshot:
|
||||
path: /Audio/Weapons/Guns/Gunshots/laser_cannon2.ogg
|
||||
params:
|
||||
variation: 0.05
|
||||
- type: MagazineVisuals
|
||||
magState: mag
|
||||
steps: 10
|
||||
zeroVisible: true
|
||||
- type: Machine
|
||||
board: ShuttleGunPerforatorCircuitboard
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
gun_magazine:
|
||||
name: Magazine
|
||||
insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
|
||||
ejectSound: /Audio/Weapons/Guns/MagOut/batrifle_magout.ogg
|
||||
whitelist:
|
||||
tags:
|
||||
- PowerCage
|
||||
- type: MagazineAmmoProvider
|
||||
|
||||
# ---- Launchers ----
|
||||
# naming: EXP (Explosion) + conventional power + suffix (g for Grenade, c for RPG Cartridge) + Name
|
||||
# example: EXP-100c "Poppy"
|
||||
|
||||
- type: entity
|
||||
id: ShuttleGunFriendship
|
||||
parent: [ShuttleGunBase, ConstructibleMachine]
|
||||
name: EXP-320g "Friendship"
|
||||
description: A small stationary grenade launcher that holds 2 grenades.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Guns/Shuttles/launcher.rsi
|
||||
layers:
|
||||
- state: exp-320g
|
||||
- state: mag-7
|
||||
map: ["enum.GunVisualLayers.Mag"]
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
machine_board: !type:Container
|
||||
machine_parts: !type:Container
|
||||
ballistic-ammo: !type:Container
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 200
|
||||
behaviors:
|
||||
- !type:ChangeConstructionNodeBehavior
|
||||
node: machineFrame
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: Gun
|
||||
projectileSpeed: 80
|
||||
fireRate: 4
|
||||
angleDecay: 45
|
||||
minAngle: 0
|
||||
maxAngle: 15
|
||||
selectedMode: FullAuto
|
||||
availableModes:
|
||||
- FullAuto
|
||||
soundGunshot:
|
||||
path: /Audio/Items/Mining/fultext_launch.ogg
|
||||
params:
|
||||
pitch: 0.8
|
||||
soundEmpty:
|
||||
path: /Audio/Weapons/Guns/Empty/empty.ogg
|
||||
- type: BallisticAmmoProvider
|
||||
whitelist:
|
||||
tags:
|
||||
- Grenade
|
||||
capacity: 2
|
||||
soundInsert:
|
||||
path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
|
||||
- type: Machine
|
||||
board: ShuttleGunFriendshipCircuitboard
|
||||
- type: MagazineVisuals
|
||||
magState: mag
|
||||
steps: 8
|
||||
zeroVisible: false
|
||||
|
||||
- type: entity
|
||||
id: ShuttleGunDuster
|
||||
parent: [ShuttleGunBase, ConstructibleMachine]
|
||||
name: EXP-2100g "Duster"
|
||||
description: A powerful stationary grenade launcher. A cartridge is required for use.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Guns/Shuttles/launcher.rsi
|
||||
layers:
|
||||
- state: exp-2100g
|
||||
- state: mag-7
|
||||
map: ["enum.GunVisualLayers.Mag"]
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
machine_board: !type:Container
|
||||
machine_parts: !type:Container
|
||||
gun_magazine: !type:ContainerSlot
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 350
|
||||
behaviors:
|
||||
- !type:ChangeConstructionNodeBehavior
|
||||
node: machineFrame
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: Gun
|
||||
projectileSpeed: 40
|
||||
fireRate: 0.3
|
||||
selectedMode: FullAuto
|
||||
availableModes:
|
||||
- FullAuto
|
||||
soundGunshot:
|
||||
path: /Audio/Items/Mining/fultext_launch.ogg
|
||||
params:
|
||||
variation: 0.05
|
||||
pitch: 0.8
|
||||
soundEmpty:
|
||||
path: /Audio/Weapons/Guns/Empty/empty.ogg
|
||||
- type: Machine
|
||||
board: ShuttleGunDusterCircuitboard
|
||||
- type: MagazineAmmoProvider
|
||||
- type: MagazineVisuals
|
||||
magState: mag
|
||||
steps: 8
|
||||
zeroVisible: false
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
gun_magazine:
|
||||
name: Magazine
|
||||
priority: 2
|
||||
whitelist:
|
||||
tags:
|
||||
- MagazineGrenade
|
||||
insertSound:
|
||||
path: /Audio/Weapons/Guns/MagIn/kinetic_reload.ogg
|
||||
params:
|
||||
pitch: 2
|
||||
ejectSound: /Audio/Weapons/Guns/MagOut/smg_magout.ogg
|
||||
|
||||
# ---- Other weapon ----
|
||||
|
||||
- type: entity
|
||||
id: ShuttleGunPirateCannon
|
||||
parent: ShuttleGunBase
|
||||
name: pirate ship cannon
|
||||
description: Kaboom!
|
||||
components:
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
ballistic-ammo: !type:Container
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
damageModifierSet: Metallic
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 300
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Guns/Shuttles/pirate_cannon.rsi
|
||||
layers:
|
||||
- state: base
|
||||
- type: Gun
|
||||
fireRate: 1
|
||||
soundGunshot:
|
||||
path: /Audio/Weapons/Guns/Gunshots/mateba.ogg
|
||||
- type: BallisticAmmoProvider
|
||||
whitelist:
|
||||
tags:
|
||||
- CannonBall
|
||||
capacity: 1
|
||||
proto: CannonBall
|
||||
soundInsert:
|
||||
path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg
|
||||
|
||||
- type: entity
|
||||
id: ShuttleGunKinetic
|
||||
parent: [ ShuttleGunBase, ConstructibleMachine]
|
||||
name: PTK-800 "Matter Dematerializer"
|
||||
description: Salvage stationary mining turret. Gradually accumulates charges on its own, extremely effective for asteroid excavation.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Guns/Shuttles/kinetic.rsi
|
||||
layers:
|
||||
- state: ptk-800
|
||||
- state: mag-7
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
machine_board: !type:Container
|
||||
machine_parts: !type:Container
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 100
|
||||
behaviors:
|
||||
- !type:ChangeConstructionNodeBehavior
|
||||
node: machineFrame
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
- type: Gun
|
||||
projectileSpeed: 20
|
||||
fireRate: 2
|
||||
selectedMode: SemiAuto
|
||||
angleDecay: 45
|
||||
minAngle: 5
|
||||
maxAngle: 15
|
||||
availableModes:
|
||||
- SemiAuto
|
||||
soundGunshot:
|
||||
path: /Audio/Weapons/Guns/Gunshots/kinetic_accel.ogg
|
||||
params:
|
||||
variation: 0.12
|
||||
- type: RechargeBasicEntityAmmo
|
||||
rechargeCooldown: 2
|
||||
rechargeSound:
|
||||
path: /Audio/Weapons/Guns/Bolt/lmg_bolt_closed.ogg
|
||||
params:
|
||||
pitch: 1.2
|
||||
variation: 0.08
|
||||
- type: BasicEntityAmmoProvider
|
||||
proto: BulletKineticShuttle
|
||||
capacity: 5
|
||||
count: 5
|
||||
- type: Machine
|
||||
board: ShuttleGunKineticCircuitboard
|
||||
@@ -5,6 +5,17 @@
|
||||
description: A thruster that allows a shuttle to move.
|
||||
abstract: true
|
||||
components:
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-0.45,-0.45,0.45,0.45"
|
||||
density: 60
|
||||
mask:
|
||||
- MachineMask
|
||||
layer:
|
||||
- MachineLayer
|
||||
- type: AmbientSound
|
||||
enabled: false
|
||||
range: 4
|
||||
@@ -30,12 +41,12 @@
|
||||
- type: ExtensionCableReceiver
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
damageModifierSet: Metallic
|
||||
damageModifierSet: Electronic
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 300 # Considering we need a lot of thrusters didn't want to make an individual one too tanky
|
||||
damage: 100 # Considering we need a lot of thrusters didn't want to make an individual one too tanky
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: ["Destruction"]
|
||||
@@ -185,6 +196,9 @@
|
||||
- type: UpgradePowerDraw
|
||||
powerDrawMultiplier: 0.75
|
||||
scaling: Exponential
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
damageModifierSet: Electronic
|
||||
- type: StaticPrice
|
||||
price: 2000
|
||||
|
||||
|
||||
@@ -895,3 +895,54 @@
|
||||
Steel: 100
|
||||
Glass: 900
|
||||
Gold: 100
|
||||
|
||||
- type: latheRecipe
|
||||
id: PowerCageRechargerCircuitboard
|
||||
result: PowerCageRechargerCircuitboard
|
||||
completetime: 6
|
||||
materials:
|
||||
Steel: 100
|
||||
Glass: 900
|
||||
|
||||
- type: latheRecipe
|
||||
id: ShuttleGunSvalinnMachineGunCircuitboard
|
||||
result: ShuttleGunSvalinnMachineGunCircuitboard
|
||||
completetime: 6
|
||||
materials:
|
||||
Steel: 100
|
||||
Glass: 900
|
||||
|
||||
- type: latheRecipe
|
||||
id: ShuttleGunPerforatorCircuitboard
|
||||
result: ShuttleGunPerforatorCircuitboard
|
||||
completetime: 10
|
||||
materials:
|
||||
Steel: 100
|
||||
Glass: 900
|
||||
Gold: 100
|
||||
|
||||
- type: latheRecipe
|
||||
id: ShuttleGunKineticCircuitboard
|
||||
result: ShuttleGunKineticCircuitboard
|
||||
completetime: 6
|
||||
materials:
|
||||
Steel: 100
|
||||
Glass: 900
|
||||
|
||||
- type: latheRecipe
|
||||
id: ShuttleGunFriendshipCircuitboard
|
||||
result: ShuttleGunFriendshipCircuitboard
|
||||
completetime: 8
|
||||
materials:
|
||||
Steel: 100
|
||||
Glass: 900
|
||||
Gold: 50
|
||||
|
||||
- type: latheRecipe
|
||||
id: ShuttleGunDusterCircuitboard
|
||||
result: ShuttleGunDusterCircuitboard
|
||||
completetime: 12
|
||||
materials:
|
||||
Steel: 100
|
||||
Glass: 900
|
||||
Gold: 100
|
||||
|
||||
@@ -39,3 +39,31 @@
|
||||
Glass: 400
|
||||
Uranium: 200
|
||||
Gold: 100
|
||||
|
||||
- type: latheRecipe
|
||||
id: PowerCageSmall
|
||||
result: PowerCageSmall
|
||||
completetime: 3
|
||||
materials:
|
||||
Steel: 200
|
||||
Plastic: 100
|
||||
|
||||
- type: latheRecipe
|
||||
id: PowerCageMedium
|
||||
result: PowerCageMedium
|
||||
completetime: 6
|
||||
materials:
|
||||
Steel: 500
|
||||
Glass: 500
|
||||
Plastic: 250
|
||||
Gold: 40
|
||||
|
||||
- type: latheRecipe
|
||||
id: PowerCageHigh
|
||||
result: PowerCageHigh
|
||||
completetime: 10
|
||||
materials:
|
||||
Steel: 600
|
||||
Glass: 800
|
||||
Plastic: 400
|
||||
Gold: 100
|
||||
@@ -605,3 +605,39 @@
|
||||
Steel: 1000
|
||||
Glass: 500
|
||||
Plastic: 500
|
||||
|
||||
- type: latheRecipe
|
||||
id: MagazineGrenadeEmpty
|
||||
result: MagazineGrenadeEmpty
|
||||
completetime: 3
|
||||
materials:
|
||||
Steel: 150
|
||||
Plastic: 50
|
||||
|
||||
- type: latheRecipe
|
||||
id: GrenadeEMP
|
||||
result: GrenadeEMP
|
||||
completetime: 3
|
||||
materials:
|
||||
Steel: 150
|
||||
Plastic: 100
|
||||
Glass: 20
|
||||
|
||||
- type: latheRecipe
|
||||
id: GrenadeBlast
|
||||
result: GrenadeBlast
|
||||
completetime: 3
|
||||
materials:
|
||||
Steel: 150
|
||||
Plastic: 100
|
||||
Gold: 50
|
||||
|
||||
- type: latheRecipe
|
||||
id: GrenadeFlash
|
||||
result: GrenadeFlash
|
||||
completetime: 3
|
||||
materials:
|
||||
Steel: 150
|
||||
Plastic: 100
|
||||
Glass: 20
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
cost: 5000
|
||||
recipeUnlocks:
|
||||
- WeaponProtoKineticAccelerator
|
||||
- ShuttleGunKineticCircuitboard
|
||||
# These are roundstart but not replenishable for salvage
|
||||
|
||||
- type: technology
|
||||
@@ -145,6 +146,27 @@
|
||||
- HoloprojectorSecurity
|
||||
- WeaponDisablerSMG
|
||||
|
||||
- type: technology
|
||||
id: BasicShuttleArmament
|
||||
name: research-technology-basic-shuttle-armament
|
||||
icon:
|
||||
sprite: Structures/Power/cage_recharger.rsi
|
||||
state: full
|
||||
discipline: Arsenal
|
||||
tier: 2
|
||||
cost: 10500
|
||||
recipeUnlocks:
|
||||
- PowerCageRechargerCircuitboard
|
||||
- PowerCageSmall
|
||||
- PowerCageMedium
|
||||
- MagazineGrenadeEmpty
|
||||
- GrenadeFlash
|
||||
- ShuttleGunSvalinnMachineGunCircuitboard
|
||||
- ShuttleGunPerforatorCircuitboard
|
||||
- ShuttleGunFriendshipCircuitboard
|
||||
technologyPrerequisites:
|
||||
- SalvageWeapons
|
||||
|
||||
# Tier 3
|
||||
|
||||
- type: technology
|
||||
@@ -170,3 +192,19 @@
|
||||
cost: 15000
|
||||
recipeUnlocks:
|
||||
- WeaponLaserSvalinn
|
||||
|
||||
- type: technology
|
||||
id: AdvancedShuttleWeapon
|
||||
name: research-technology-advanced-shuttle-weapon
|
||||
icon:
|
||||
sprite: Objects/Weapons/Guns/Ammunition/Magazine/Grenade/grenade_cartridge.rsi
|
||||
state: icon
|
||||
discipline: Arsenal
|
||||
tier: 3
|
||||
cost: 15000
|
||||
recipeUnlocks:
|
||||
- GrenadeEMP
|
||||
- PowerCageHigh
|
||||
- ShuttleGunDusterCircuitboard
|
||||
technologyPrerequisites:
|
||||
- BasicShuttleArmament
|
||||
@@ -250,6 +250,9 @@
|
||||
- type: Tag
|
||||
id: CanPilot
|
||||
|
||||
- type: Tag
|
||||
id: CannonBall
|
||||
|
||||
- type: Tag
|
||||
id: CannonRestrict
|
||||
|
||||
@@ -784,6 +787,9 @@
|
||||
- type: Tag
|
||||
id: MagazinePistolSubMachineGun
|
||||
|
||||
- type: Tag
|
||||
id: MagazineGrenade
|
||||
|
||||
- type: Tag
|
||||
id: MailingUnitElectronics
|
||||
|
||||
@@ -940,6 +946,9 @@
|
||||
- type: Tag
|
||||
id: PowerCellSmall
|
||||
|
||||
- type: Tag
|
||||
id: PowerCage
|
||||
|
||||
- type: Tag
|
||||
id: Powerdrill
|
||||
|
||||
|
||||
Reference in New Issue
Block a user