Teslaloose and Singuloose counterplay (#23444)
* add tesla dissapear mechanic add field holobarrier * add PD * add crafting * spacing * added to cargo * Fix * resprite + damageable * oopsie * Update Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml Co-authored-by: Kara <lunarautomaton6@gmail.com> * Update Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml Co-authored-by: Kara <lunarautomaton6@gmail.com> * Update Resources/Locale/en-US/research/technologies.ftl Co-authored-by: Kara <lunarautomaton6@gmail.com> --------- Co-authored-by: Kara <lunarautomaton6@gmail.com>
This commit is contained in:
@@ -28,6 +28,18 @@ public sealed partial class TeslaEnergyBallComponent : Component
|
||||
[DataField, ViewVariables(VVAccess.ReadWrite)]
|
||||
public float NeedEnergyToSpawn = 100f;
|
||||
|
||||
/// <summary>
|
||||
/// The amount of energy to which the tesla must reach in order to be destroyed.
|
||||
/// </summary>
|
||||
[DataField, ViewVariables(VVAccess.ReadWrite)]
|
||||
public float EnergyToDespawn = -100f;
|
||||
|
||||
/// <summary>
|
||||
/// Played when energy reaches the lower limit (and entity destroyed)
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public SoundSpecifier? SoundCollapse;
|
||||
|
||||
/// <summary>
|
||||
/// Entities that spawn when the energy limit is reached
|
||||
/// </summary>
|
||||
|
||||
@@ -47,5 +47,10 @@ public sealed class TeslaEnergyBallSystem : EntitySystem
|
||||
component.Energy -= component.NeedEnergyToSpawn;
|
||||
Spawn(component.SpawnProto, Transform(uid).Coordinates);
|
||||
}
|
||||
if (component.Energy < component.EnergyToDespawn)
|
||||
{
|
||||
_audio.PlayPvs(component.SoundCollapse, uid);
|
||||
QueueDel(uid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,3 +42,6 @@ ent-CrateRCDAmmo = RCD ammo crate
|
||||
|
||||
ent-CrateRCD = RCD crate
|
||||
.desc = A crate containing a single Rapid Construction Device.
|
||||
|
||||
ent-CrateParticleDecelerators = Particle Decelerators crate
|
||||
.desc = A crate containing 3 Particle Decelerators.
|
||||
@@ -59,6 +59,7 @@ research-technology-gravity-manipulation = Gravity Manipulation
|
||||
research-technology-advanced-anomaly-research = Advanced Anomaly Research
|
||||
research-technology-rped = Rapid Part Exchange
|
||||
research-technology-super-parts = Super Parts
|
||||
research-technology-deterrence = Deterrence Technologies
|
||||
|
||||
research-technology-janitorial-equipment = Janitorial Equipment
|
||||
research-technology-laundry-tech = Laundry Tech
|
||||
|
||||
@@ -117,3 +117,14 @@
|
||||
cost: 800
|
||||
category: Engineering
|
||||
group: market
|
||||
|
||||
- type: cargoProduct
|
||||
id: EngineeringParticleDecelerators
|
||||
icon:
|
||||
sprite: Objects/Weapons/Guns/Battery/particle_decelerator.rsi
|
||||
state: base
|
||||
product: CrateParticleDecelerators
|
||||
cost: 15000
|
||||
category: Engineering
|
||||
group: market
|
||||
|
||||
@@ -153,3 +153,12 @@
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: RCD
|
||||
|
||||
- type: entity
|
||||
id: CrateParticleDecelerators
|
||||
parent: CrateEngineeringSecure
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: WeaponParticleDecelerator
|
||||
amount: 3
|
||||
|
||||
@@ -41,6 +41,23 @@
|
||||
- type: StaticPrice
|
||||
price: 80
|
||||
|
||||
- type: entity
|
||||
parent: Holoprojector
|
||||
id: HoloprojectorField
|
||||
name: force field projector
|
||||
description: Creates an impassable forcefield that won't let anything through. Close proximity may or may not cause cancer.
|
||||
components:
|
||||
- type: HolosignProjector
|
||||
signProto: HolosignForcefield
|
||||
chargeUse: 120
|
||||
- type: Sprite
|
||||
sprite: Objects/Devices/Holoprojectors/field.rsi
|
||||
state: icon
|
||||
- type: Tag
|
||||
tags:
|
||||
- HolofanProjector
|
||||
- type: StaticPrice
|
||||
price: 250
|
||||
|
||||
- type: entity
|
||||
parent: Holoprojector
|
||||
|
||||
@@ -313,6 +313,37 @@
|
||||
proto: RedHeavyLaser
|
||||
fireCost: 100
|
||||
|
||||
- type: entity
|
||||
name: portable particle decelerator
|
||||
parent: BaseWeaponBattery
|
||||
id: WeaponParticleDecelerator
|
||||
description: A portable particle decelerator capable of decomposing a tesla or singularity.
|
||||
components:
|
||||
- type: Item
|
||||
size: Ginormous
|
||||
- type: MultiHandedItem
|
||||
- type: ClothingSpeedModifier
|
||||
walkModifier: 0.6
|
||||
sprintModifier: 0.6
|
||||
- type: HeldSpeedModifier
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Guns/Battery/particle_decelerator.rsi
|
||||
layers:
|
||||
- state: base
|
||||
map: ["enum.GunVisualLayers.Base"]
|
||||
- type: Gun
|
||||
fireRate: 0.5
|
||||
soundGunshot:
|
||||
path: /Audio/Weapons/emitter.ogg
|
||||
params:
|
||||
pitch: 2
|
||||
- type: ProjectileBatteryAmmoProvider
|
||||
proto: AntiParticlesProjectile
|
||||
fireCost: 500
|
||||
- type: Battery
|
||||
maxCharge: 10000
|
||||
startingCharge: 10000
|
||||
|
||||
- type: entity
|
||||
name: x-ray cannon
|
||||
parent: BaseWeaponBattery
|
||||
|
||||
@@ -76,3 +76,43 @@
|
||||
color: red
|
||||
- type: Climbable
|
||||
- type: Clickable
|
||||
|
||||
- type: entity
|
||||
id: HolosignForcefield
|
||||
parent: HolosignWetFloor
|
||||
name: holographic force field
|
||||
description: A powerful temporal containment field that doesn't let anything through, not even a tesla or singularity.
|
||||
components:
|
||||
- type: Physics
|
||||
bodyType: Static
|
||||
canCollide: true
|
||||
- type: Sprite
|
||||
sprite: Structures/Holo/field.rsi
|
||||
state: icon
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-0.5,-0.5,0.5,0.5"
|
||||
mask:
|
||||
- FullTileMask
|
||||
layer:
|
||||
- GlassLayer
|
||||
- type: TimedDespawn
|
||||
lifetime: 180
|
||||
- type: PointLight
|
||||
enabled: true
|
||||
radius: 3
|
||||
color: blue
|
||||
- type: Clickable
|
||||
- type: ContainmentField
|
||||
throwForce: 0
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 60
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
@@ -246,6 +246,8 @@
|
||||
- Retractor
|
||||
- Cautery
|
||||
- Drill
|
||||
- WeaponParticleDecelerator
|
||||
- HoloprojectorField
|
||||
- Saw
|
||||
- Hemostat
|
||||
- Beaker
|
||||
|
||||
@@ -47,3 +47,20 @@
|
||||
Level3: {state: particle3}
|
||||
- type: GuideHelp
|
||||
guides: [ Singularity, Power ]
|
||||
|
||||
- type: entity
|
||||
name: anti particles
|
||||
description: Accelerated negative particles.
|
||||
id: AntiParticlesProjectile
|
||||
parent: ParticlesProjectile
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- sprite: Structures/Power/Generation/PA/particle.rsi
|
||||
color: red
|
||||
state: particle0
|
||||
shader: unshaded
|
||||
map: [ "unshaded" ]
|
||||
- type: SinguloFood
|
||||
energy: -10
|
||||
|
||||
@@ -68,6 +68,10 @@
|
||||
consumeEntities: false
|
||||
- type: TeslaEnergyBall
|
||||
spawnProto: TeslaMiniEnergyBall
|
||||
soundCollapse:
|
||||
path: /Audio/Effects/tesla_collapse.ogg
|
||||
params:
|
||||
variation: 0.3
|
||||
- type: LightningArcShooter
|
||||
arcDepth: 3
|
||||
maxLightningArc: 4
|
||||
|
||||
@@ -202,3 +202,21 @@
|
||||
Glass: 500
|
||||
Plasma: 300
|
||||
Gold: 50
|
||||
|
||||
- type: latheRecipe
|
||||
id: HoloprojectorField
|
||||
result: HoloprojectorField
|
||||
completetime: 3
|
||||
materials:
|
||||
Steel: 500
|
||||
Plasma: 300
|
||||
Glass: 100
|
||||
|
||||
- type: latheRecipe
|
||||
id: WeaponParticleDecelerator
|
||||
result: WeaponParticleDecelerator
|
||||
completetime: 6
|
||||
materials:
|
||||
Steel: 750
|
||||
Plasma: 150
|
||||
Uranium: 150
|
||||
@@ -139,6 +139,19 @@
|
||||
recipeUnlocks:
|
||||
- RPED
|
||||
|
||||
- type: technology
|
||||
id: DeterrenceTechnologies
|
||||
name: research-technology-deterrence
|
||||
icon:
|
||||
sprite: Objects/Weapons/Guns/Battery/particle_decelerator.rsi
|
||||
state: base
|
||||
discipline: Experimental
|
||||
tier: 2
|
||||
cost: 7500
|
||||
recipeUnlocks:
|
||||
- WeaponParticleDecelerator
|
||||
- HoloprojectorField
|
||||
|
||||
# Tier 3
|
||||
|
||||
- type: technology
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 875 B |
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/f4017da82ae4de7bfaf8ebdbba33d0de81c15587, and resprited by TheShuEd (github)",
|
||||
"states": [
|
||||
{
|
||||
"name": "icon",
|
||||
"delays": [
|
||||
[
|
||||
0.3,
|
||||
0.3,
|
||||
0.3,
|
||||
0.3
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 656 B |
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Created by TheShuEd (github) for Space Station 14",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "base"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Resources/Textures/Structures/Holo/field.rsi/icon.png
Normal file
BIN
Resources/Textures/Structures/Holo/field.rsi/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
26
Resources/Textures/Structures/Holo/field.rsi/meta.json
Normal file
26
Resources/Textures/Structures/Holo/field.rsi/meta.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Made by TheShuEd (github) for SS14",
|
||||
"states": [
|
||||
{
|
||||
"name": "icon",
|
||||
"delays": [
|
||||
[
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user