diff --git a/Content.Server/ADT/PressureDamageModify/PressureDamageModifyComponent.cs b/Content.Server/ADT/PressureDamageModify/PressureDamageModifyComponent.cs
new file mode 100644
index 00000000000..75aa27c47a7
--- /dev/null
+++ b/Content.Server/ADT/PressureDamageModify/PressureDamageModifyComponent.cs
@@ -0,0 +1,25 @@
+using Content.Shared.Damage;
+
+namespace Content.Server.ADT.PressureDamageModify;
+
+[RegisterComponent]
+public sealed partial class PressureDamageModifyComponent : Component
+{
+ ///
+ /// only for projectiles, doesn`t work for melee damage
+ ///
+ [ViewVariables(VVAccess.ReadWrite), DataField("projDamage")]
+ public float ProjDamage = 0.2f;
+
+ ///
+ /// KPd, below which damage will diminishes. 0 kPa = 1 kPa
+ ///
+ [ViewVariables(VVAccess.ReadWrite), DataField("needsPressure")]
+ public float Pressure = 40f;
+
+ ///
+ /// only for melee, doesn`t work for projectiles
+ ///
+ [DataField("additionalDamage")]
+ public DamageSpecifier? AdditionalDamage = null;
+}
diff --git a/Content.Server/ADT/PressureDamageModify/PressureDamageModifySystem.cs b/Content.Server/ADT/PressureDamageModify/PressureDamageModifySystem.cs
new file mode 100644
index 00000000000..acbda540a2c
--- /dev/null
+++ b/Content.Server/ADT/PressureDamageModify/PressureDamageModifySystem.cs
@@ -0,0 +1,71 @@
+using Content.Server.Popups;
+using Content.Shared.Projectiles;
+using Content.Shared.StatusEffect;
+using Content.Shared.Weapons.Ranged.Systems;
+using Robust.Server.GameObjects;
+using Robust.Shared.Map;
+using Robust.Shared.Random;
+using Content.Shared.Throwing;
+using Content.Shared.Weapons.Melee.Events;
+using System.Linq;
+using Content.Server.Atmos.EntitySystems;
+using Content.Shared.Damage;
+
+namespace Content.Server.ADT.PressureDamageModify;
+
+public sealed partial class PressureDamageModifySystem : EntitySystem
+{
+ [Dependency] private readonly DamageableSystem _damage = default!; // ADT-Changeling-Tweak
+ [Dependency] private readonly EntityLookupSystem _lookup = default!;
+ [Dependency] private readonly SharedTransformSystem _transform = default!;
+ [Dependency] private readonly PopupSystem _popup = default!;
+ [Dependency] private readonly IRobustRandom _random = default!;
+ [Dependency] private readonly PhysicsSystem _physics = default!;
+ [Dependency] private readonly IMapManager _mapMan = default!;
+ [Dependency] private readonly AtmosphereSystem _atmosphereSystem = default!;
+ public override void Initialize()
+ {
+ base.Initialize();
+
+ SubscribeLocalEvent(OnProjectileHit);
+
+ SubscribeLocalEvent(OnMeleeHit);
+ }
+ private void OnProjectileHit(EntityUid uid, PressureDamageModifyComponent component, ref ProjectileHitEvent args)
+ {
+ var pressure = 1f;
+
+ if (_atmosphereSystem.GetContainingMixture(uid) is {} mixture)
+ {
+ pressure = MathF.Max(mixture.Pressure, 1f);
+ }
+ if (pressure >= component.Pressure)
+ {
+ args.Damage *= component.ProjDamage;
+ }
+ }
+
+ private void OnMeleeHit(EntityUid uid, PressureDamageModifyComponent component, MeleeHitEvent args)
+ {
+ if (!args.IsHit ||
+ !args.HitEntities.Any() ||
+ component.AdditionalDamage == null)
+ {
+ return;
+ }
+
+ foreach (var ent in args.HitEntities)
+ {
+ var pressure = 1f;
+
+ if (_atmosphereSystem.GetContainingMixture(uid) is {} mixture)
+ {
+ pressure = MathF.Max(mixture.Pressure, 1f);
+ }
+ if (pressure <= component.Pressure)
+ {
+ _damage.TryChangeDamage(ent, component.AdditionalDamage);
+ }
+ }
+ }
+}
diff --git a/Resources/Audio/ADT/Weapons/Guns/Gunshots/beam_sniper.ogg b/Resources/Audio/ADT/Weapons/Guns/Gunshots/beam_sniper.ogg
new file mode 100644
index 00000000000..f91831cddd1
Binary files /dev/null and b/Resources/Audio/ADT/Weapons/Guns/Gunshots/beam_sniper.ogg differ
diff --git a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Weapons/Guns/PKAs.ftl b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Weapons/Guns/PKAs.ftl
new file mode 100644
index 00000000000..b70dfb263dc
--- /dev/null
+++ b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Weapons/Guns/PKAs.ftl
@@ -0,0 +1,11 @@
+ent-ADTWeaponProtoKineticPistol = протокинетический пистолет
+ .desc = Имеет большую вместимость модификаций вместо высокого базового урона, что делает его по-настоящему модулируемым ПКА.
+
+ent-ADTWeaponProtoKineticRepeater = протокинетический повторитель
+ .desc = Обменивает часть слотов для модификации и немного урона на возможность стрелять исключительно серией из 3-х быстрых выстрелов. Суммарно 3 выстрела нанесут больше урона, чем один выстрел ПКА.
+
+ent-ADTWeaponProtoKineticRailgun = протокинетический рельсотрон
+ .desc = За место почти всех слотов для модификаций и скорости стрельбы имеет невероятно большой урон и пробивную силу, что может резать горы как плазменный резак.
+
+ent-ADTWeaponProtoKineticShotgun = протокинетический дробовик
+ .desc = Стреляет на короткую дальность залпом из 4-х снарядов, что суммарно наносят больший урон, чем базовый ПКА. Имеет меньшую вместимость под модули.
\ No newline at end of file
diff --git a/Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/PKAs/PKAs.yml b/Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/PKAs/PKAs.yml
new file mode 100644
index 00000000000..84396a7b8ae
--- /dev/null
+++ b/Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/PKAs/PKAs.yml
@@ -0,0 +1,163 @@
+- type: entity
+ name: proto-kinetic pistol
+ id: ADTWeaponProtoKineticPistol
+ parent: [WeaponProtoKineticAcceleratorBase, BaseCargoContraband]
+ description: The Pistol trades base damage, and range, for double mod capacity, making it a truely customizable PKA.
+ components:
+ - type: Sprite
+ sprite: ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi
+ layers:
+ - state: icon
+ - state: animation-icon
+ visible: false
+ map: [ "empty-icon" ]
+ - type: UpgradeableGun
+ maxUpgradeCount: 7
+ whitelist:
+ tags:
+ - PKAUpgrade
+ - type: ContainerContainer
+ containers:
+ upgrades: !type:Container
+ - type: Item
+ sprite: ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi
+ size: Small
+ - type: BasicEntityAmmoProvider
+ proto: ADTBulletKineticPistol
+ capacity: 1
+ count: 1
+ - type: Clothing
+ sprite: ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi
+ quickEquip: false
+ slots:
+ - suitStorage
+ - Belt
+
+- type: entity
+ name: proto-kinetic repeater
+ id: ADTWeaponProtoKineticRepeater
+ parent: [WeaponProtoKineticAcceleratorBase, BaseCargoContraband]
+ description: The Repeater trades mod space and a bit of damage for the ability to fire three shots in rapid succession before needing to recharge, while also doing more damage than base PKA if all three shots are landed.
+ components:
+ - type: Sprite
+ sprite: ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi
+ layers:
+ - state: icon
+ - state: animation-icon
+ visible: false
+ map: [ "empty-icon" ]
+ - type: UpgradeableGun
+ maxUpgradeCount: 2
+ whitelist:
+ tags:
+ - PKAUpgrade
+ - type: ContainerContainer
+ containers:
+ upgrades: !type:Container
+ - type: Item
+ sprite: ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi
+ - type: BasicEntityAmmoProvider
+ proto: ADTBulletKineticRepeater
+ capacity: 3
+ count: 3
+ - type: Gun
+ resetOnHandSelected: false
+ burstCooldown: 2
+ fireRate: 0.5
+ selectedMode: Burst
+ angleDecay: 45
+ minAngle: 2
+ maxAngle: 3
+ availableModes:
+ - Burst
+ soundGunshot:
+ path: /Audio/Weapons/Guns/Gunshots/kinetic_accel.ogg
+ - type: RechargeBasicEntityAmmo
+ rechargeCooldown: 0.25
+ rechargeSound:
+ path: /Audio/Weapons/Guns/MagIn/kinetic_reload.ogg
+ - type: Clothing
+ sprite: ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi
+ quickEquip: false
+ slots:
+ - suitStorage
+ - Belt
+
+- type: entity
+ name: proto-kinetic raingun
+ id: ADTWeaponProtoKineticRailgun
+ parent: [WeaponProtoKineticAcceleratorBase, BaseCargoContraband]
+ description: The Railgun trades customization, fire rate, and storage capabilities for the ability to fire a high damage shot that penetrates creatures!
+ components:
+ - type: Sprite
+ sprite: ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi
+ layers:
+ - state: icon
+ - state: animation-icon
+ visible: false
+ map: [ "empty-icon" ]
+ - type: UpgradeableGun
+ maxUpgradeCount: 1
+ whitelist:
+ tags:
+ - PKAUpgrade
+ - type: ContainerContainer
+ containers:
+ upgrades: !type:Container
+ - type: Item
+ sprite: ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi
+ size: Normal
+ - type: BasicEntityAmmoProvider
+ proto: ADTBulletKineticRailgun
+ capacity: 1
+ count: 1
+ - type: Gun
+ resetOnHandSelected: false
+ fireRate: 0.3
+ angleDecay: 45
+ minAngle: 2
+ maxAngle: 3
+ cameraRecoilScalar: 6
+ soundGunshot:
+ path: /Audio/ADT/Weapons/Guns/Gunshots/beam_sniper.ogg
+ - type: Clothing
+ sprite: ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi
+ quickEquip: false
+ slots:
+ - suitStorage
+ - Belt
+
+- type: entity
+ name: proto-kinetic shotgun
+ id: ADTWeaponProtoKineticShotgun
+ parent: [WeaponProtoKineticAcceleratorBase, BaseCargoContraband]
+ description: The Shotgun fires a short range set of three rounds that does more damage than base PKA if all three shots land. This trades mod capacity and cooldown speed.
+ components:
+ - type: Sprite
+ sprite: ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi
+ layers:
+ - state: icon
+ - state: animation-icon
+ visible: false
+ map: [ "empty-icon" ]
+ - type: UpgradeableGun
+ maxUpgradeCount: 2
+ whitelist:
+ tags:
+ - PKAUpgrade
+ - type: ContainerContainer
+ containers:
+ upgrades: !type:Container
+ - type: Item
+ sprite: ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi
+ size: Normal
+ - type: BasicEntityAmmoProvider
+ proto: ADTBulletKineticShotgunSpread
+ capacity: 1
+ count: 1
+ - type: Clothing
+ sprite: ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi
+ quickEquip: false
+ slots:
+ - suitStorage
+ - Belt
diff --git a/Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
index c78b2c8c3ef..148c97b71f7 100644
--- a/Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
+++ b/Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
@@ -277,3 +277,69 @@
- Opaque
- type: KnockdownOnCollide
- type: BlurOnCollide
+
+- type: entity
+ id: ADTBulletKineticPistol
+ parent: BulletKinetic
+ categories: [ HideSpawnMenu ]
+ description: Not too bad, but you still don't want to get hit by it.
+ components:
+ - type: Projectile
+ impactEffect: BulletImpactEffectKinetic
+ damage:
+ types:
+ Blunt: 20
+ Structural: 20
+
+- type: entity
+ id: ADTBulletKineticRepeater
+ parent: BulletKinetic
+ categories: [ HideSpawnMenu ]
+ description: Not too bad, but you still don't want to get hit by it.
+ components:
+ - type: Projectile
+ impactEffect: BulletImpactEffectKinetic
+ damage:
+ types:
+ Blunt: 15
+ Structural: 20
+
+- type: entity
+ id: ADTBulletKineticRailgun
+ parent: BulletKinetic
+ categories: [ HideSpawnMenu ]
+ description: Not too bad, but you still don't want to get hit by it.
+ components:
+ - type: Projectile
+ deleteOnCollide: false
+ impactEffect: BulletImpactEffectKinetic
+ damage:
+ types:
+ Blunt: 70
+ Structural: 20
+ - type: GatheringProjectile
+ amount: 40
+
+- type: entity
+ id: ADTBulletKineticShotgunSpread
+ parent: BulletKinetic
+ categories: [ HideSpawnMenu ]
+ description: Not too bad, but you still don't want to get hit by it.
+ components:
+ - type: ProjectileSpread
+ proto: ADTBulletKineticShotgunPellet
+ count: 4
+ spread: 10
+
+- type: entity
+ id: ADTBulletKineticShotgunPellet
+ parent: BulletKinetic
+ categories: [ HideSpawnMenu ]
+ description: Not too bad, but you still don't want to get hit by it.
+ components:
+ - type: Projectile
+ impactEffect: BulletImpactEffectKinetic
+ damage:
+ types:
+ Blunt: 15
+ Structural: 20
diff --git a/Resources/Prototypes/ADT/Entities/Objects/Weapons/Melee/crushers.yml b/Resources/Prototypes/ADT/Entities/Objects/Weapons/Melee/crushers.yml
index e9fdecb60ed..9e999909c60 100644
--- a/Resources/Prototypes/ADT/Entities/Objects/Weapons/Melee/crushers.yml
+++ b/Resources/Prototypes/ADT/Entities/Objects/Weapons/Melee/crushers.yml
@@ -83,6 +83,11 @@
bonusDamage:
types:
Slash: 10
+ - type: PressureDamageModify
+ additionalDamage:
+ types:
+ Blunt: 10
+ Slash: 15
- type: entity
parent: WeaponKineticBase
@@ -122,6 +127,11 @@
- type: FlipOnHit
- type: GunRequiresWield
- type: Wieldable
+ - type: PressureDamageModify
+ additionalDamage:
+ types:
+ Blunt: 10
+ Slash: 15
- type: entity
parent: WeaponKineticBase
@@ -160,6 +170,11 @@
- type: Item
size: Normal
sprite: ADT/Objects/Weapons/Melee/Crushers/crusher_claws-inhands.rsi
+ - type: PressureDamageModify
+ additionalDamage:
+ types:
+ Blunt: 10
+ Slash: 15
- type: entity
parent: WeaponKineticBase
@@ -189,3 +204,8 @@
bonusDamage:
types:
Slash: 10
+ - type: PressureDamageModify
+ additionalDamage:
+ types:
+ Blunt: 10
+ Slash: 15
diff --git a/Resources/Prototypes/ADT/mining_shop.yml b/Resources/Prototypes/ADT/mining_shop.yml
index 0b3b3b6d7ea..af31561171a 100644
--- a/Resources/Prototypes/ADT/mining_shop.yml
+++ b/Resources/Prototypes/ADT/mining_shop.yml
@@ -19,6 +19,14 @@
entries:
- id: WeaponProtoKineticAccelerator
price: 550
+ - id: ADTWeaponProtoKineticPistol
+ price: 1550
+ - id: ADTWeaponProtoKineticShotgun
+ price: 1500
+ - id: ADTWeaponProtoKineticRepeater
+ price: 1650
+ - id: ADTWeaponProtoKineticRailgun
+ price: 1750
- type: miningShopSection
id: Fulton
diff --git a/Resources/Prototypes/ADT/planets.yml b/Resources/Prototypes/ADT/planets.yml
index 447770fd564..4fc60d61cf8 100644
--- a/Resources/Prototypes/ADT/planets.yml
+++ b/Resources/Prototypes/ADT/planets.yml
@@ -11,7 +11,7 @@
- type: WeatherScheduler # Regular ash storms
stages:
- duration: # 5-10 minutes of calm
- min: 300
+ min: 400
max: 600
- weather: AshfallLight # ash starts to fall, 30 second warning
message: ash-storm-telegraph
@@ -31,9 +31,9 @@
atmosphere:
volume: 2500
temperature: 313.15 # 40C
- moles: # 107kPa, 14% O2 (unbreathable)
- - 14.38346
- - 88.35554
+ moles: # 82ka, 14% O2 (unbreathable)
+ - 13.65346
+ - 23.24754
biomeMarkerLayers:
- OreIron
- OreQuartz
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
index 0a361a74c34..ba0107a250d 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
@@ -407,8 +407,9 @@
Structural: 30
# Short lifespan
- type: TimedDespawn
- lifetime: 0.170 # ADT tweak 0.4 -> 0.170 ~4 tiles of range.
+ lifetime: 0.1 # ADT tweak 0.4 -> 0.1 ~4 tiles of range.
- type: GatheringProjectile
+ - type: PressureDamageModify # ADT tweak
- type: entity
id: BulletKineticShuttle
diff --git a/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml b/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml
index 17869184dbc..c4574f26d40 100644
--- a/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml
+++ b/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml
@@ -3,7 +3,6 @@
name: job-name-salvagespec
description: job-description-salvagespec
playTimeTracker: JobSalvageSpecialist
- canBeAntag: false # ADT tweak
requirements:
- !type:DepartmentTimeRequirement
department: Cargo
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/animation-icon.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/animation-icon.png
new file mode 100644
index 00000000000..15aed576865
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/animation-icon.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/equipped-BELT.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/equipped-BELT.png
new file mode 100644
index 00000000000..95d016a9802
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/equipped-BELT.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/equipped-SUITSTORAGE.png
new file mode 100644
index 00000000000..95d016a9802
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/equipped-SUITSTORAGE.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/icon.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/icon.png
new file mode 100644
index 00000000000..93abf0bbccb
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/icon.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/icon_a.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/icon_a.png
new file mode 100644
index 00000000000..d3e4073642d
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/icon_a.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/inhand-left.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/inhand-left.png
new file mode 100644
index 00000000000..945b3a761ca
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/inhand-left.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/inhand-right.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/inhand-right.png
new file mode 100644
index 00000000000..937e45314f4
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/inhand-right.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/meta.json b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/meta.json
new file mode 100644
index 00000000000..9f827a88b88
--- /dev/null
+++ b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_pistol.rsi/meta.json
@@ -0,0 +1,42 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "icon and animation-icon taken from https://github.com/Bubberstation/Bubberstation/pull/1332/commits/712c86db77c96657cd2b8cfaf6203d76f85f9649, rest made by ratyyy(github)",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "icon_a"
+ },
+ {
+ "name": "animation-icon",
+ "delays": [
+ [
+ 0.2,
+ 0.2
+ ]
+ ]
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "equipped-BELT",
+ "directions": 4
+ },
+ {
+ "name": "equipped-SUITSTORAGE",
+ "directions": 4
+ }
+ ]
+}
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/animation-icon.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/animation-icon.png
new file mode 100644
index 00000000000..85ed5fc7c60
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/animation-icon.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/equipped-BELT.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/equipped-BELT.png
new file mode 100644
index 00000000000..8d23d6aeb16
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/equipped-BELT.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/equipped-SUITSTORAGE.png
new file mode 100644
index 00000000000..8d23d6aeb16
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/equipped-SUITSTORAGE.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/icon.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/icon.png
new file mode 100644
index 00000000000..9c80d709a35
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/icon.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/icon_a.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/icon_a.png
new file mode 100644
index 00000000000..a88994188d3
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/icon_a.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/inhand-left.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/inhand-left.png
new file mode 100644
index 00000000000..4a5d5c4c485
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/inhand-left.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/inhand-right.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/inhand-right.png
new file mode 100644
index 00000000000..2ea6e402b8d
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/inhand-right.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/meta.json b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/meta.json
new file mode 100644
index 00000000000..9f827a88b88
--- /dev/null
+++ b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_railgun.rsi/meta.json
@@ -0,0 +1,42 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "icon and animation-icon taken from https://github.com/Bubberstation/Bubberstation/pull/1332/commits/712c86db77c96657cd2b8cfaf6203d76f85f9649, rest made by ratyyy(github)",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "icon_a"
+ },
+ {
+ "name": "animation-icon",
+ "delays": [
+ [
+ 0.2,
+ 0.2
+ ]
+ ]
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "equipped-BELT",
+ "directions": 4
+ },
+ {
+ "name": "equipped-SUITSTORAGE",
+ "directions": 4
+ }
+ ]
+}
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/animation-icon.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/animation-icon.png
new file mode 100644
index 00000000000..d8f3a55d10e
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/animation-icon.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/equipped-BELT.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/equipped-BELT.png
new file mode 100644
index 00000000000..32d49aae93e
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/equipped-BELT.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/equipped-SUITSTORAGE.png
new file mode 100644
index 00000000000..32d49aae93e
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/equipped-SUITSTORAGE.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/icon.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/icon.png
new file mode 100644
index 00000000000..f1492509054
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/icon.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/icon_a.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/icon_a.png
new file mode 100644
index 00000000000..28f96dcc283
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/icon_a.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/inhand-left.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/inhand-left.png
new file mode 100644
index 00000000000..d634f352024
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/inhand-left.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/inhand-right.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/inhand-right.png
new file mode 100644
index 00000000000..7a7401678d4
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/inhand-right.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/meta.json b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/meta.json
new file mode 100644
index 00000000000..9f827a88b88
--- /dev/null
+++ b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_repeater.rsi/meta.json
@@ -0,0 +1,42 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "icon and animation-icon taken from https://github.com/Bubberstation/Bubberstation/pull/1332/commits/712c86db77c96657cd2b8cfaf6203d76f85f9649, rest made by ratyyy(github)",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "icon_a"
+ },
+ {
+ "name": "animation-icon",
+ "delays": [
+ [
+ 0.2,
+ 0.2
+ ]
+ ]
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "equipped-BELT",
+ "directions": 4
+ },
+ {
+ "name": "equipped-SUITSTORAGE",
+ "directions": 4
+ }
+ ]
+}
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/animation-icon.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/animation-icon.png
new file mode 100644
index 00000000000..4c91c432b8f
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/animation-icon.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/equipped-BELT.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/equipped-BELT.png
new file mode 100644
index 00000000000..9f4e6a63f1e
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/equipped-BELT.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/equipped-SUITSTORAGE.png
new file mode 100644
index 00000000000..9f4e6a63f1e
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/equipped-SUITSTORAGE.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/icon.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/icon.png
new file mode 100644
index 00000000000..7af9b7b08df
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/icon.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/icon_a.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/icon_a.png
new file mode 100644
index 00000000000..28f96dcc283
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/icon_a.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/inhand-left.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/inhand-left.png
new file mode 100644
index 00000000000..650e56697c9
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/inhand-left.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/inhand-right.png b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/inhand-right.png
new file mode 100644
index 00000000000..9eae37b784b
Binary files /dev/null and b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/inhand-right.png differ
diff --git a/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/meta.json b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/meta.json
new file mode 100644
index 00000000000..9f827a88b88
--- /dev/null
+++ b/Resources/Textures/ADT/Objects/Weapons/Guns/PKAs/kinetic_shotgun.rsi/meta.json
@@ -0,0 +1,42 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "icon and animation-icon taken from https://github.com/Bubberstation/Bubberstation/pull/1332/commits/712c86db77c96657cd2b8cfaf6203d76f85f9649, rest made by ratyyy(github)",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "icon_a"
+ },
+ {
+ "name": "animation-icon",
+ "delays": [
+ [
+ 0.2,
+ 0.2
+ ]
+ ]
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "equipped-BELT",
+ "directions": 4
+ },
+ {
+ "name": "equipped-SUITSTORAGE",
+ "directions": 4
+ }
+ ]
+}