Модули, Батареи, Баффы и Дебаффы
@@ -3,8 +3,13 @@ using Content.Shared._White.Telescope;
|
||||
using Content.Shared._White.WeaponModules;
|
||||
using Content.Shared.Weapons.Ranged.Components;
|
||||
using Content.Shared.Weapons.Ranged.Systems;
|
||||
using Content.Shared.Verbs;
|
||||
using Content.Shared.Tag;
|
||||
using Robust.Server.GameObjects;
|
||||
using Robust.Shared.Containers;
|
||||
using Robust.Shared.Utility;
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.Audio.Systems;
|
||||
|
||||
namespace Content.Server._White.WeaponModules;
|
||||
|
||||
@@ -18,6 +23,8 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
[Dependency] private readonly PointLightSystem _lightSystem = default!;
|
||||
[Dependency] private readonly SharedAppearanceSystem _appearanceSystem = default!;
|
||||
[Dependency] private readonly SharedGunSystem _gunSystem = default!;
|
||||
[Dependency] private readonly TagSystem _tagSystem = default!;
|
||||
[Dependency] private readonly SharedAudioSystem _audioSystem = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
@@ -43,6 +50,8 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
|
||||
SubscribeLocalEvent<ShutterModuleComponent, EntGotInsertedIntoContainerMessage>(ShutterModuleOnInsert);
|
||||
SubscribeLocalEvent<ShutterModuleComponent, EntGotRemovedFromContainerMessage>(ShutterModuleOnEject);
|
||||
|
||||
SubscribeLocalEvent<WeaponModulesComponent, GetVerbsEvent<AlternativeVerb>>(AddSwitchLightVerd);
|
||||
}
|
||||
|
||||
private bool TryInsertModule(EntityUid module, EntityUid weapon, BaseModuleComponent component,
|
||||
@@ -56,7 +65,7 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!weaponModulesComponent.Modules.Contains(module))
|
||||
if (!weaponModulesComponent.Modules.Contains(module))
|
||||
weaponModulesComponent.Modules.Add(module);
|
||||
|
||||
if (!Slots.TryGetValue(containerId, out var value))
|
||||
@@ -77,7 +86,7 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
}
|
||||
|
||||
|
||||
if(weaponModulesComponent.Modules.Contains(module))
|
||||
if (weaponModulesComponent.Modules.Contains(module))
|
||||
weaponModulesComponent.Modules.Remove(module);
|
||||
|
||||
if (!Slots.TryGetValue(containerId, out var value))
|
||||
@@ -88,12 +97,43 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
return true;
|
||||
}
|
||||
|
||||
private void AddSwitchLightVerd(EntityUid uid, WeaponModulesComponent component, GetVerbsEvent<AlternativeVerb> args)
|
||||
{
|
||||
if (!args.CanInteract || !args.CanAccess)
|
||||
return;
|
||||
|
||||
if (!_tagSystem.HasTag(args.Target, "HasLightModule"))
|
||||
return;
|
||||
|
||||
AlternativeVerb verb = new()
|
||||
{
|
||||
Act = () =>
|
||||
{
|
||||
SetLight(args.Target);
|
||||
},
|
||||
Text = Loc.GetString("toggle-flashlight-verb-get-data-text"),
|
||||
Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/light.svg.192dpi.png")),
|
||||
Priority = 0
|
||||
};
|
||||
args.Verbs.Add(verb);
|
||||
}
|
||||
|
||||
private void SetLight(EntityUid weapon)
|
||||
{
|
||||
_lightSystem.TryGetLight(weapon, out var light);
|
||||
if (light == null)
|
||||
return;
|
||||
|
||||
_lightSystem.SetEnabled(weapon, !light.Enabled, light);
|
||||
_audioSystem.PlayPredicted(new SoundPathSpecifier("/Audio/Items/flashlight_pda.ogg"), weapon, weapon);
|
||||
}
|
||||
|
||||
#region InsertModules
|
||||
private void LightModuleOnInsert(EntityUid module, LightModuleComponent component, EntGotInsertedIntoContainerMessage args)
|
||||
{
|
||||
EntityUid weapon = args.Container.Owner;
|
||||
|
||||
if(!TryInsertModule(module, weapon, component, args.Container.ID, out var weaponModulesComponent))
|
||||
if (!TryInsertModule(module, weapon, component, args.Container.ID, out var weaponModulesComponent))
|
||||
return;
|
||||
|
||||
TryComp<AppearanceComponent>(weapon, out var appearanceComponent);
|
||||
@@ -104,6 +144,8 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
|
||||
_lightSystem.SetRadius(weapon, component.Radius, light);
|
||||
_lightSystem.SetEnabled(weapon, true, light);
|
||||
|
||||
_tagSystem.AddTag(weapon, "HasLightModule");
|
||||
}
|
||||
|
||||
private void LaserModuleOnInsert(EntityUid module, LaserModuleComponent component, EntGotInsertedIntoContainerMessage args)
|
||||
@@ -112,7 +154,7 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
|
||||
if (!TryComp<GunComponent>(weapon, out var gunComp)) return;
|
||||
|
||||
if(!TryInsertModule(module, weapon, component, args.Container.ID, out var weaponModulesComponent))
|
||||
if (!TryInsertModule(module, weapon, component, args.Container.ID, out var weaponModulesComponent))
|
||||
return;
|
||||
|
||||
component.OldProjectileSpeed = gunComp.ProjectileSpeed;
|
||||
@@ -124,7 +166,7 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
{
|
||||
EntityUid weapon = args.Container.Owner;
|
||||
|
||||
if(!TryInsertModule(module, weapon, component, args.Container.ID, out var weaponModulesComponent))
|
||||
if (!TryInsertModule(module, weapon, component, args.Container.ID, out var weaponModulesComponent))
|
||||
return;
|
||||
|
||||
weaponModulesComponent.WeaponFireEffect = true;
|
||||
@@ -137,7 +179,7 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
|
||||
if (!TryComp<GunComponent>(weapon, out var gunComp)) return;
|
||||
|
||||
if(!TryInsertModule(module, weapon, component, args.Container.ID, out var weaponModulesComponent))
|
||||
if (!TryInsertModule(module, weapon, component, args.Container.ID, out var weaponModulesComponent))
|
||||
return;
|
||||
|
||||
component.OldSoundGunshot = gunComp.SoundGunshot;
|
||||
@@ -154,7 +196,7 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
|
||||
if (!TryComp<GunComponent>(weapon, out var gunComp)) return;
|
||||
|
||||
if(!TryInsertModule(module, weapon, component, args.Container.ID, out var weaponModulesComponent))
|
||||
if (!TryInsertModule(module, weapon, component, args.Container.ID, out var weaponModulesComponent))
|
||||
return;
|
||||
|
||||
component.OldFireRate = gunComp.FireRate;
|
||||
@@ -168,7 +210,7 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
|
||||
if (!TryComp<GunComponent>(weapon, out var gunComp)) return;
|
||||
|
||||
if(!TryInsertModule(module, weapon, component, args.Container.ID, out var weaponModulesComponent))
|
||||
if (!TryInsertModule(module, weapon, component, args.Container.ID, out var weaponModulesComponent))
|
||||
return;
|
||||
|
||||
EnsureComp<TelescopeComponent>(weapon).Divisor = component.Divisor;
|
||||
@@ -180,7 +222,7 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
|
||||
if (!TryComp<GunComponent>(weapon, out var gunComp)) return;
|
||||
|
||||
if(!TryInsertModule(module, weapon, component, args.Container.ID, out var weaponModulesComponent))
|
||||
if (!TryInsertModule(module, weapon, component, args.Container.ID, out var weaponModulesComponent))
|
||||
return;
|
||||
|
||||
if (!TryComp<BallisticAmmoProviderComponent>(weapon, out var ballisticAmmo))
|
||||
@@ -196,21 +238,23 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
{
|
||||
EntityUid weapon = args.Container.Owner;
|
||||
|
||||
if(!TryEjectModule(module, weapon, args.Container.ID, out var weaponModulesComponent))
|
||||
if (!TryEjectModule(module, weapon, args.Container.ID, out var weaponModulesComponent))
|
||||
return;
|
||||
|
||||
if(!_lightSystem.TryGetLight(weapon, out var light))
|
||||
if (!_lightSystem.TryGetLight(weapon, out var light))
|
||||
return;
|
||||
|
||||
_lightSystem.SetRadius(weapon, 0F, light);
|
||||
_lightSystem.SetEnabled(weapon, false, light);
|
||||
|
||||
_tagSystem.RemoveTag(weapon, "HasLightModule");
|
||||
}
|
||||
|
||||
private void LaserModuleOnEject(EntityUid module, LaserModuleComponent component, EntGotRemovedFromContainerMessage args)
|
||||
{
|
||||
EntityUid weapon = args.Container.Owner;
|
||||
|
||||
if(!TryEjectModule(module, weapon, args.Container.ID, out var weaponModulesComponent))
|
||||
if (!TryEjectModule(module, weapon, args.Container.ID, out var weaponModulesComponent))
|
||||
return;
|
||||
|
||||
_gunSystem.SetProjectileSpeed(weapon, component.OldProjectileSpeed);
|
||||
@@ -220,7 +264,7 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
{
|
||||
EntityUid weapon = args.Container.Owner;
|
||||
|
||||
if(!TryEjectModule(module, weapon, args.Container.ID, out var weaponModulesComponent))
|
||||
if (!TryEjectModule(module, weapon, args.Container.ID, out var weaponModulesComponent))
|
||||
return;
|
||||
|
||||
weaponModulesComponent.WeaponFireEffect = false;
|
||||
@@ -231,7 +275,7 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
{
|
||||
EntityUid weapon = args.Container.Owner;
|
||||
|
||||
if(!TryEjectModule(module, weapon, args.Container.ID, out var weaponModulesComponent))
|
||||
if (!TryEjectModule(module, weapon, args.Container.ID, out var weaponModulesComponent))
|
||||
return;
|
||||
|
||||
weaponModulesComponent.WeaponFireEffect = false;
|
||||
@@ -243,7 +287,7 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
{
|
||||
EntityUid weapon = args.Container.Owner;
|
||||
|
||||
if(!TryEjectModule(module, weapon, args.Container.ID, out var weaponModulesComponent))
|
||||
if (!TryEjectModule(module, weapon, args.Container.ID, out var weaponModulesComponent))
|
||||
return;
|
||||
|
||||
_gunSystem.SetFireRate(weapon, component.OldFireRate);
|
||||
@@ -253,7 +297,7 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
{
|
||||
EntityUid weapon = args.Container.Owner;
|
||||
|
||||
if(!TryEjectModule(module, weapon, args.Container.ID, out var weaponModulesComponent))
|
||||
if (!TryEjectModule(module, weapon, args.Container.ID, out var weaponModulesComponent))
|
||||
return;
|
||||
|
||||
RemComp<TelescopeComponent>(weapon);
|
||||
@@ -263,7 +307,7 @@ public sealed class WeaponModulesSystem : EntitySystem
|
||||
{
|
||||
EntityUid weapon = args.Container.Owner;
|
||||
|
||||
if(!TryEjectModule(module, weapon, args.Container.ID, out var weaponModulesComponent))
|
||||
if (!TryEjectModule(module, weapon, args.Container.ID, out var weaponModulesComponent))
|
||||
return;
|
||||
|
||||
if (!TryComp<BallisticAmmoProviderComponent>(weapon, out var ballisticAmmo))
|
||||
|
||||
@@ -7,7 +7,7 @@ ent-FlameHiderModule = пламегаситель
|
||||
ent-SilencerModule = глушитель
|
||||
.desc = Скрывает пламя огня и приглушает звук во время выстрела.
|
||||
ent-AcceleratorModule = продвинутый модуль
|
||||
.desc = Разработка НаноТрейзен специально для отдела Службы Безопасности. Меняет затворную раму без видимых изменений, за счет этого увеличивает скорострельность оружия.
|
||||
.desc = Разработка НаноТрейзен специально для отдела Службы Безопасности. Меняет затворную раму, за счет этого увеличивает скорострельность оружия.
|
||||
ent-HolographicSightModule = голографической прицел
|
||||
.desc = Позоляет целиться, небольшое приближение.
|
||||
ent-TelescopicSightModule = телескопический прицел
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
SecurityWhistle: 5
|
||||
CombatKnife: 2
|
||||
RadioHandheldSecurity: 5
|
||||
LightModule: 4
|
||||
HolographicSightModule: 4
|
||||
|
||||
contrabandInventory:
|
||||
FoodDonutHomer: 12
|
||||
@@ -27,4 +29,5 @@
|
||||
|
||||
emaggedInventory:
|
||||
ExGrenade: 1
|
||||
Truncheon: 3 # WD edit end
|
||||
Truncheon: 3
|
||||
SilencerModule: 1 # WD edit end
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
sprite: Clothing/OuterClothing/Coats/insp_coat.rsi
|
||||
|
||||
- type: entity
|
||||
parent: ClothingOuterStorageToggleableBase
|
||||
parent: [ ClothingOuterStorageToggleableBase, AllowSuitStorageClothing] # WD added AllowSuitStorageClothing
|
||||
id: ClothingOuterCoatJensen
|
||||
name: jensen coat
|
||||
description: A jensen coat.
|
||||
@@ -424,7 +424,7 @@
|
||||
|
||||
|
||||
- type: entity
|
||||
parent: ClothingOuterStorageBase
|
||||
parent: [ClothingOuterStorageBase, AllowSuitStorageClothing] # WD added AllowSuitStorageClothing
|
||||
id: ClothingOuterCoatAMG
|
||||
name: armored medical gown
|
||||
description: The version of the medical gown, with elements of a bulletproof vest, looks strange, but your heart is protected.
|
||||
@@ -496,7 +496,7 @@
|
||||
|
||||
#WHITE START
|
||||
- type: entity
|
||||
parent: ClothingOuterStorageBase
|
||||
parent: [ClothingOuterStorageBase, AllowSuitStorageClothing] # WD added AllowSuitStorageClothing
|
||||
id: ClothingOuterTrenchCoatInspector
|
||||
name: inspector's trenchcoat
|
||||
description: A thick leather trench, specially designed for the inspector. For real badass guys!
|
||||
@@ -517,7 +517,7 @@
|
||||
Heat: 0.90
|
||||
|
||||
- type: entity
|
||||
parent: ClothingOuterStorageBase
|
||||
parent: [ClothingOuterStorageBase, AllowSuitStorageClothing] # WD added AllowSuitStorageClothing
|
||||
id: ClothingOuterJacketInspector
|
||||
name: inspector's jacket
|
||||
description: Official station inspector's coat. Let the command respect you!
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
containers:
|
||||
ballistic-ammo: !type:Container
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Guns/Ammunition/Magazine/Pistol/pistol_high_capacity_mag.rsi
|
||||
sprite: White/Objects/Weapons/Ammunition/Magazine/Pistol/pistol_high_capacity_mag.rsi
|
||||
layers:
|
||||
- state: base
|
||||
map: ["enum.GunVisualLayers.Base"]
|
||||
@@ -192,7 +192,7 @@
|
||||
parent: BaseMagazinePistolHighCapacity
|
||||
components:
|
||||
- type: BallisticAmmoProvider
|
||||
proto: CartridgePistol
|
||||
proto: CartridgePistolPractice # WD Fix
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: practice
|
||||
@@ -206,7 +206,7 @@
|
||||
parent: BaseMagazinePistolHighCapacity
|
||||
components:
|
||||
- type: BallisticAmmoProvider
|
||||
proto: CartridgePistol
|
||||
proto: CartridgePistolRubber # WD Fix
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: rubber
|
||||
|
||||
@@ -229,9 +229,9 @@
|
||||
- type: Appearance
|
||||
|
||||
- type: entity
|
||||
name: laser rifle
|
||||
name: laser rifle old
|
||||
parent: BaseWeaponBattery
|
||||
id: WeaponLaserCarbine
|
||||
id: WeaponLaserCarbineOld
|
||||
description: Favoured by Nanotrasen Security for being cheap and easy to use.
|
||||
components:
|
||||
- type: Sprite
|
||||
@@ -261,7 +261,7 @@
|
||||
|
||||
- type: entity
|
||||
name: practice laser rifle
|
||||
parent: WeaponLaserCarbine
|
||||
parent: WeaponLaserCarbineOld
|
||||
id: WeaponLaserCarbinePractice
|
||||
description: This modified laser rifle fires nearly harmless beams in the 40-watt range, for target practice.
|
||||
components:
|
||||
@@ -478,9 +478,9 @@
|
||||
- type: Appearance
|
||||
|
||||
- type: entity
|
||||
name: disabler
|
||||
name: disabler Old
|
||||
parent: BaseWeaponBatterySmall
|
||||
id: WeaponDisabler
|
||||
id: WeaponDisablerOld
|
||||
description: A self-defense weapon that exhausts organic targets, weakening them until they collapse.
|
||||
components:
|
||||
- type: Tag
|
||||
@@ -518,9 +518,9 @@
|
||||
- Security
|
||||
|
||||
- type: entity
|
||||
name: disabler SMG
|
||||
name: disabler SMG old
|
||||
parent: BaseWeaponBattery
|
||||
id: WeaponDisablerSMG
|
||||
id: WeaponDisablerSMGOld
|
||||
description: Advanced weapon that exhausts organic targets, weakening them until they collapse.
|
||||
components:
|
||||
- type: Item
|
||||
@@ -557,7 +557,7 @@
|
||||
|
||||
- type: entity
|
||||
name: practice disabler
|
||||
parent: WeaponDisabler
|
||||
parent: WeaponDisablerOld
|
||||
id: WeaponDisablerPractice
|
||||
description: A self-defense weapon that exhausts organic targets, weakening them until they collapse. This one has been undertuned for cadets making it mostly harmless.
|
||||
components:
|
||||
|
||||
@@ -174,6 +174,16 @@
|
||||
map: ["enum.GunVisualLayers.Base"]
|
||||
- state: mag-0
|
||||
map: ["enum.GunVisualLayers.Mag"]
|
||||
- state: barrel_module
|
||||
visible: false
|
||||
map: [ "enum.ModuleVisualState.BarrelModule" ]
|
||||
- state: handguard_module
|
||||
visible: false
|
||||
map: [ "enum.ModuleVisualState.HandGuardModule" ]
|
||||
- state: aim_module
|
||||
visible: false
|
||||
sprite: White/Objects/Weapons/modulesOnPistols.rsi
|
||||
map: [ "enum.ModuleVisualState.AimModule" ]
|
||||
- type: Clothing
|
||||
sprite: White/Objects/Weapons/Guns/Pistols/mk58.rsi
|
||||
- type: Gun
|
||||
@@ -182,6 +192,61 @@
|
||||
- SemiAuto
|
||||
soundGunshot:
|
||||
path: /Audio/Weapons/Guns/Gunshots/mk58.ogg
|
||||
- type: WeaponModules
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
gun_magazine:
|
||||
name: Magazine
|
||||
startingItem: MagazinePistol
|
||||
insertSound: /Audio/Weapons/Guns/MagIn/pistol_magin.ogg
|
||||
ejectSound: /Audio/Weapons/Guns/MagOut/pistol_magout.ogg
|
||||
priority: 4
|
||||
whitelist:
|
||||
tags:
|
||||
- MagazinePistol
|
||||
- MagazinePistolHighCapacity
|
||||
gun_chamber:
|
||||
name: Chamber
|
||||
startingItem: CartridgePistol
|
||||
priority: 1
|
||||
whitelist:
|
||||
tags:
|
||||
- CartridgePistol
|
||||
barrel_module:
|
||||
name: Barrel Module
|
||||
insertSound: /Audio/White/Gun/Modules/insertmodule.ogg
|
||||
ejectSound: /Audio/White/Gun/Modules/ejectmodule.ogg
|
||||
priority: 3
|
||||
whitelist:
|
||||
tags:
|
||||
- BaseBarrelModule
|
||||
handguard_module:
|
||||
name: Handguard Module
|
||||
insertSound: /Audio/White/Gun/Modules/insertmodule.ogg
|
||||
ejectSound: /Audio/White/Gun/Modules/ejectmodule.ogg
|
||||
priority: 3
|
||||
whitelist:
|
||||
tags:
|
||||
- BaseHandGuardModule
|
||||
aim_module:
|
||||
name: Aim Module
|
||||
insertSound: /Audio/White/Gun/Modules/insertmodule.ogg
|
||||
ejectSound: /Audio/White/Gun/Modules/ejectmodule.ogg
|
||||
priority: 3
|
||||
whitelist:
|
||||
tags:
|
||||
- HolographicAimModule
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
gun_magazine: !type:ContainerSlot
|
||||
gun_chamber: !type:ContainerSlot
|
||||
handguard_module: !type:ContainerSlot
|
||||
barrel_module: !type:ContainerSlot
|
||||
aim_module: !type:ContainerSlot
|
||||
- type: PointLight
|
||||
enabled: false
|
||||
autoRot: true
|
||||
- type: Appearance
|
||||
|
||||
- type: entity
|
||||
id: WeaponPistolMk58Nonlethal
|
||||
|
||||
@@ -104,16 +104,6 @@
|
||||
map: ["enum.GunVisualLayers.Base"]
|
||||
- state: mag-0
|
||||
map: ["enum.GunVisualLayers.Mag"]
|
||||
- state: barrel_module
|
||||
visible: false
|
||||
map: [ "enum.ModuleVisualState.BarrelModule" ]
|
||||
- state: handguard_module
|
||||
visible: false
|
||||
map: [ "enum.ModuleVisualState.HandGuardModule" ]
|
||||
- state: aim_module
|
||||
visible: false
|
||||
sprite: White/Objects/Weapons/modulesOnSMGs.rsi
|
||||
map: [ "enum.ModuleVisualState.AimModule" ]
|
||||
- type: Clothing
|
||||
sprite: White/Objects/Weapons/Guns/SMG/c20r-inhands.rsi
|
||||
- type: Item
|
||||
@@ -130,7 +120,6 @@
|
||||
path: /Audio/Weapons/Guns/Gunshots/c-20r.ogg
|
||||
- type: ChamberMagazineAmmoProvider
|
||||
autoEject: true
|
||||
- type: WeaponModules
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
gun_magazine:
|
||||
@@ -149,37 +138,10 @@
|
||||
whitelist:
|
||||
tags:
|
||||
- CartridgePistol
|
||||
barrel_module:
|
||||
name: Barrel Module
|
||||
insertSound: /Audio/White/Gun/Modules/insertmodule.ogg
|
||||
ejectSound: /Audio/White/Gun/Modules/ejectmodule.ogg
|
||||
priority: 2
|
||||
whitelist:
|
||||
tags:
|
||||
- BaseBarrelModule
|
||||
handguard_module:
|
||||
name: Handguard Module
|
||||
insertSound: /Audio/White/Gun/Modules/insertmodule.ogg
|
||||
ejectSound: /Audio/White/Gun/Modules/ejectmodule.ogg
|
||||
priority: 3
|
||||
whitelist:
|
||||
tags:
|
||||
- BaseHandGuardModule
|
||||
aim_module:
|
||||
name: Aim Module
|
||||
insertSound: /Audio/White/Gun/Modules/insertmodule.ogg
|
||||
ejectSound: /Audio/White/Gun/Modules/ejectmodule.ogg
|
||||
priority: 3
|
||||
whitelist:
|
||||
tags:
|
||||
- BaseAimModule
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
gun_magazine: !type:ContainerSlot
|
||||
gun_chamber: !type:ContainerSlot
|
||||
handguard_module: !type:ContainerSlot
|
||||
barrel_module: !type:ContainerSlot
|
||||
aim_module: !type:ContainerSlot
|
||||
- type: MagazineVisuals
|
||||
magState: mag
|
||||
steps: 4
|
||||
@@ -248,7 +210,7 @@
|
||||
name: Barrel Module
|
||||
insertSound: /Audio/White/Gun/Modules/insertmodule.ogg
|
||||
ejectSound: /Audio/White/Gun/Modules/ejectmodule.ogg
|
||||
priority: 2
|
||||
priority: 3
|
||||
whitelist:
|
||||
tags:
|
||||
- BaseBarrelModule
|
||||
@@ -409,7 +371,7 @@
|
||||
name: Handguard Module
|
||||
insertSound: /Audio/White/Gun/Modules/insertmodule.ogg
|
||||
ejectSound: /Audio/White/Gun/Modules/ejectmodule.ogg
|
||||
priority: 2
|
||||
priority: 3
|
||||
whitelist:
|
||||
tags:
|
||||
- BaseHandGuardModule
|
||||
@@ -417,7 +379,7 @@
|
||||
name: Aim Module
|
||||
insertSound: /Audio/White/Gun/Modules/insertmodule.ogg
|
||||
ejectSound: /Audio/White/Gun/Modules/ejectmodule.ogg
|
||||
priority: 2
|
||||
priority: 3
|
||||
whitelist:
|
||||
tags:
|
||||
- BaseAimModule
|
||||
@@ -466,7 +428,7 @@
|
||||
name: Barrel Module
|
||||
insertSound: /Audio/White/Gun/Modules/insertmodule.ogg
|
||||
ejectSound: /Audio/White/Gun/Modules/ejectmodule.ogg
|
||||
priority: 2
|
||||
priority: 3
|
||||
whitelist:
|
||||
tags:
|
||||
- BaseBarrelModule
|
||||
|
||||
@@ -240,6 +240,7 @@
|
||||
- CartridgePistolRubber
|
||||
- CartridgeMagnumRubber
|
||||
- ShellShotgunBeanbag
|
||||
- ShellShotgunRubberShot # WD
|
||||
- CartridgeRifleRubber
|
||||
- CartridgeLightRifleRubber
|
||||
- MagazineBoxMagnumRubber
|
||||
@@ -811,6 +812,16 @@
|
||||
- LightModule
|
||||
- FlameHiderModule
|
||||
- ShinanoGrenadeBeanbagRecipe
|
||||
- CartridgePistolRubber
|
||||
- ShellShotgunRubberShot
|
||||
- CartridgeRifleRubber
|
||||
- CartridgeLightRifleRubber
|
||||
- MagazineBoxPistolRubber
|
||||
- MagazineBoxRifleRubber
|
||||
- MagazineBoxLightRifleRubber
|
||||
- MagazinePistolHighCapacity
|
||||
- MagazinePistolHighCapacityPractice
|
||||
- MagazinePistolHighCapacityRubber
|
||||
dynamicRecipes:
|
||||
- CartridgeLightRifleIncendiary
|
||||
- CartridgeMagnumIncendiary
|
||||
@@ -820,10 +831,7 @@
|
||||
- CartridgeMagnumUranium
|
||||
- CartridgePistolUranium
|
||||
- CartridgeRifleUranium
|
||||
- CartridgeLightRifleRubber
|
||||
- CartridgeMagnumRubber
|
||||
- CartridgePistolRubber
|
||||
- CartridgeRifleRubber
|
||||
- ExplosivePayload
|
||||
- FlashPayload
|
||||
- HoloprojectorSecurity
|
||||
@@ -835,10 +843,7 @@
|
||||
- MagazineBoxMagnumUranium
|
||||
- MagazineBoxPistolUranium
|
||||
- MagazineBoxRifleUranium
|
||||
- MagazineBoxLightRifleRubber
|
||||
- MagazineBoxMagnumRubber
|
||||
- MagazineBoxPistolRubber
|
||||
- MagazineBoxRifleRubber
|
||||
- MagazineGrenadeEmpty
|
||||
- GrenadeEMP
|
||||
- GrenadeFlash
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
CrateArmoryLaser: 1.0
|
||||
CrateArmoryShotgun: 1.0
|
||||
CrateArmoryPistols: 1.0
|
||||
CrateArmoryKLMG: 1.0 # WD
|
||||
# rare armor
|
||||
ClothingOuterArmorRiot: 1.0
|
||||
# rare chemicals
|
||||
|
||||
@@ -138,6 +138,15 @@
|
||||
Plastic: 200
|
||||
Steel: 100
|
||||
|
||||
- type: latheRecipe
|
||||
id: ShellShotgunRubberShot
|
||||
result: ShellShotgunRubberShot
|
||||
completetime: 2
|
||||
category: Ammo
|
||||
materials:
|
||||
Plastic: 10
|
||||
Steel: 10
|
||||
|
||||
- type: latheRecipe
|
||||
id: ShellShotgunBeanbag
|
||||
result: ShellShotgunBeanbag
|
||||
@@ -274,6 +283,32 @@
|
||||
materials:
|
||||
Steel: 500
|
||||
|
||||
- type: latheRecipe
|
||||
id: MagazinePistolHighCapacity
|
||||
result: MagazinePistolHighCapacity
|
||||
category: Ammo
|
||||
completetime: 5
|
||||
materials:
|
||||
Steel: 200
|
||||
|
||||
- type: latheRecipe
|
||||
id: MagazinePistolHighCapacityPractice
|
||||
result: MagazinePistolHighCapacityPractice
|
||||
category: Ammo
|
||||
completetime: 5
|
||||
materials:
|
||||
Steel: 40
|
||||
Plastic: 160
|
||||
|
||||
- type: latheRecipe
|
||||
id: MagazinePistolHighCapacityRubber
|
||||
result: MagazinePistolHighCapacityRubber
|
||||
category: Ammo
|
||||
completetime: 5
|
||||
materials:
|
||||
Steel: 120
|
||||
Plastic: 80
|
||||
|
||||
- type: latheRecipe
|
||||
id: MagazinePistol
|
||||
result: MagazinePistol
|
||||
@@ -700,9 +735,9 @@
|
||||
completetime: 3
|
||||
category: Modules
|
||||
materials:
|
||||
Steel: 200
|
||||
Steel: 100
|
||||
Plastic: 100
|
||||
Glass: 200
|
||||
Glass: 100
|
||||
|
||||
- type: latheRecipe
|
||||
id: LaserModule
|
||||
@@ -710,8 +745,8 @@
|
||||
completetime: 6
|
||||
category: Modules
|
||||
materials:
|
||||
Steel: 1500
|
||||
Plastic: 1000
|
||||
Steel: 500
|
||||
Plastic: 300
|
||||
Glass: 300
|
||||
|
||||
- type: latheRecipe
|
||||
@@ -721,7 +756,6 @@
|
||||
category: Modules
|
||||
materials:
|
||||
Steel: 200
|
||||
Plastic: 200
|
||||
|
||||
- type: latheRecipe
|
||||
id: SilencerModule
|
||||
@@ -730,7 +764,7 @@
|
||||
category: Modules
|
||||
materials:
|
||||
Steel: 400
|
||||
Plastic: 300
|
||||
Plastic: 100
|
||||
|
||||
- type: latheRecipe
|
||||
id: AcceleratorModule
|
||||
@@ -738,10 +772,10 @@
|
||||
completetime: 12
|
||||
category: Modules
|
||||
materials:
|
||||
Steel: 3500
|
||||
Plastic: 1000
|
||||
Glass: 500
|
||||
Gold: 1000
|
||||
Steel: 500
|
||||
Plastic: 100
|
||||
Gold: 500
|
||||
Silver: 100
|
||||
|
||||
- type: latheRecipe
|
||||
id: HolographicSightModule
|
||||
@@ -749,9 +783,9 @@
|
||||
completetime: 6
|
||||
category: Modules
|
||||
materials:
|
||||
Steel: 500
|
||||
Plastic: 700
|
||||
Glass: 300
|
||||
Steel: 400
|
||||
Plastic: 200
|
||||
Glass: 500
|
||||
|
||||
- type: latheRecipe
|
||||
id: TelescopicSightModule
|
||||
@@ -759,7 +793,7 @@
|
||||
completetime: 12
|
||||
category: Modules
|
||||
materials:
|
||||
Steel: 1000
|
||||
Plastic: 1400
|
||||
Steel: 500
|
||||
Plastic: 400
|
||||
Glass: 600
|
||||
Silver: 800
|
||||
Silver: 100
|
||||
|
||||
@@ -54,17 +54,18 @@
|
||||
state: beanbag
|
||||
discipline: Arsenal
|
||||
tier: 1
|
||||
cost: 5000
|
||||
cost: 4000 # WD edits
|
||||
recipeUnlocks:
|
||||
- ShellShotgunBeanbag
|
||||
- CartridgePistolRubber
|
||||
# - ShellShotgunBeanbag
|
||||
# - ShellShotgunRubberShot
|
||||
# - CartridgePistolRubber
|
||||
- CartridgeMagnumRubber
|
||||
- CartridgeLightRifleRubber
|
||||
- CartridgeRifleRubber
|
||||
- MagazineBoxPistolRubber
|
||||
# - CartridgeLightRifleRubber
|
||||
# - CartridgeRifleRubber
|
||||
# - MagazineBoxPistolRubber
|
||||
- MagazineBoxMagnumRubber
|
||||
- MagazineBoxLightRifleRubber
|
||||
- MagazineBoxRifleRubber
|
||||
# - MagazineBoxLightRifleRubber
|
||||
# - MagazineBoxRifleRubber
|
||||
- ShinanoGrenadeFlashRecipe
|
||||
- ShinanoGrenadeSmokeRecipe
|
||||
- ShinanoGrenadeStingerRecipe
|
||||
|
||||
117
Resources/Prototypes/_Honk/Entities/Objects/Power/powercells.yml
Normal file
@@ -0,0 +1,117 @@
|
||||
- type: entity
|
||||
id: BasePowerCellHonk
|
||||
abstract: true
|
||||
parent: BaseItem
|
||||
components:
|
||||
- type: Item
|
||||
size: Tiny
|
||||
- type: Battery
|
||||
pricePerJoule: 0.15
|
||||
- type: PowerCell
|
||||
- type: Explosive
|
||||
explosionType: Default
|
||||
maxIntensity: 200
|
||||
intensitySlope: 1.5
|
||||
- type: Sprite
|
||||
sprite: Objects/Power/power_cells.rsi
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
battery:
|
||||
maxVol: 5
|
||||
- type: InjectableSolution
|
||||
solution: battery
|
||||
- type: DrawableSolution
|
||||
solution: battery
|
||||
- type: Extractable
|
||||
juiceSolution:
|
||||
reagents:
|
||||
- ReagentId: Licoxide
|
||||
Quantity: 5
|
||||
- type: Tag
|
||||
tags:
|
||||
- DroneUsable
|
||||
- PowerCell
|
||||
- type: Appearance
|
||||
- type: PowerCellVisuals
|
||||
- type: Riggable
|
||||
- type: PointLight
|
||||
enabled: false
|
||||
color: "#7FC080"
|
||||
radius: 1.05
|
||||
energy: 0.3
|
||||
- type: PointLightRealBattery
|
||||
|
||||
- type: entity
|
||||
parent: BasePowerCellHonk
|
||||
id: EnergyCellСarbine
|
||||
suffix: Full
|
||||
name: Энергитическая батарея карабина
|
||||
description: Перезаряжаемый элемент питания. Модифицирован для работы с лазерной винтовкой.
|
||||
components:
|
||||
- type: ProjectileBatteryAmmoProvider
|
||||
proto: BulletTrailLaser
|
||||
fireCost: 50
|
||||
- type: Sprite
|
||||
sprite: White/_Honk/Objects/Power/carbine_energy_cells.rsi
|
||||
layers:
|
||||
- map: [ "enum.PowerCellVisualLayers.Base" ]
|
||||
state: battery
|
||||
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
|
||||
state: o2
|
||||
shader: unshaded
|
||||
- type: Battery
|
||||
maxCharge: 1000
|
||||
startingCharge: 1000
|
||||
- type: Tag
|
||||
tags:
|
||||
- EnergyCellСarbine
|
||||
|
||||
- type: entity
|
||||
parent: BasePowerCellHonk
|
||||
id: EnergyCellDisabler
|
||||
suffix: Full
|
||||
name: Энергитическая батарея дизейблера
|
||||
description: Перезаряжаемый элемент питания. Модифицирован для работы с дизейблером.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: White/_Honk/Objects/Power/disabler_energy_cells.rsi
|
||||
layers:
|
||||
- map: [ "enum.PowerCellVisualLayers.Base" ]
|
||||
state: battery
|
||||
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
|
||||
state: o2
|
||||
shader: unshaded
|
||||
- type: ProjectileBatteryAmmoProvider
|
||||
proto: BulletDisabler
|
||||
fireCost: 100
|
||||
- type: Battery
|
||||
maxCharge: 1000
|
||||
startingCharge: 1000
|
||||
- type: Tag
|
||||
tags:
|
||||
- EnergyCellDisabler
|
||||
|
||||
- type: entity
|
||||
parent: BasePowerCellHonk
|
||||
id: EnergyCellDisablerSmg
|
||||
suffix: Full
|
||||
name: Энергитическая батарея дизейблера пулемёта
|
||||
description: Перезаряжаемый элемент питания. Модифицирован для работы с дизейблером-пулемётом.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: White/_Honk/Objects/Power/disabler_smg_energy_cells.rsi
|
||||
layers:
|
||||
- map: [ "enum.PowerCellVisualLayers.Base" ]
|
||||
state: battery
|
||||
- map: [ "enum.PowerCellVisualLayers.Unshaded" ]
|
||||
state: o2
|
||||
shader: unshaded
|
||||
- type: ProjectileBatteryAmmoProvider
|
||||
proto: BulletDisablerSmg
|
||||
fireCost: 33
|
||||
- type: Battery
|
||||
maxCharge: 990
|
||||
startingCharge: 990
|
||||
- type: Tag
|
||||
tags:
|
||||
- EnergyCellDisablerSmg
|
||||
@@ -0,0 +1,231 @@
|
||||
# Colors for pointlight
|
||||
# BDC07F - yellow
|
||||
# 7FC080 - green
|
||||
# C07F7F - red
|
||||
# 7F93C0 - blue
|
||||
|
||||
- type: entity
|
||||
id: BaseWeaponPowerCellHonk
|
||||
parent: BaseItem
|
||||
abstract: true
|
||||
components:
|
||||
- type: Sprite
|
||||
- type: Item
|
||||
size: Huge
|
||||
- type: AmmoCounter
|
||||
- type: Gun
|
||||
fireRate: 2
|
||||
selectedMode: SemiAuto
|
||||
availableModes:
|
||||
- SemiAuto
|
||||
soundGunshot:
|
||||
path: /Audio/Weapons/Guns/Gunshots/laser.ogg
|
||||
- type: MagazineAmmoProvider
|
||||
- type: Appearance
|
||||
- type: StaticPrice
|
||||
price: 500
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
gun_magazine: !type:ContainerSlot
|
||||
- type: EmitSoundOnPickup
|
||||
sound:
|
||||
collection: LasersPickUp
|
||||
- type: EmitSoundOnDrop
|
||||
sound:
|
||||
collection: LasersDrop
|
||||
- type: EmitSoundOnLand
|
||||
sound:
|
||||
collection: LasersDrop
|
||||
|
||||
- type: entity
|
||||
id: BaseWeaponPowerCellSmallHonk
|
||||
parent: BaseWeaponPowerCellHonk
|
||||
abstract: true
|
||||
components:
|
||||
- type: Item
|
||||
size: Small
|
||||
- type: Tag
|
||||
tags:
|
||||
- Sidearm
|
||||
- type: Clothing
|
||||
sprite: Objects/Weapons/Guns/Battery/taser.rsi
|
||||
quickEquip: false
|
||||
slots:
|
||||
- Belt
|
||||
- suitStorage
|
||||
|
||||
#- type: entity
|
||||
# name: svalinn laser pistol
|
||||
# parent: BaseWeaponPowerCellSmall
|
||||
# id: WeaponLaserSvalinn
|
||||
# description: A cheap and widely used laser pistol.
|
||||
# components:
|
||||
# - type: Sprite
|
||||
# sprite: Objects/Weapons/Guns/Battery/svalinn.rsi
|
||||
# layers:
|
||||
# - state: base
|
||||
# map: ["enum.GunVisualLayers.Base"]
|
||||
# - state: mag-unshaded-4
|
||||
# map: ["enum.GunVisualLayers.MagUnshaded"]
|
||||
# shader: unshaded
|
||||
# - type: Item
|
||||
# sprite: Objects/Weapons/Guns/Battery/svalinn.rsi
|
||||
# - type: MagazineVisuals
|
||||
# magState: mag
|
||||
# steps: 5
|
||||
# zeroVisible: true
|
||||
# - type: PointLightBattery
|
||||
# - type: PointLight
|
||||
# radius: 1.3
|
||||
# energy: 0.15
|
||||
# color: "#BDC07F"
|
||||
|
||||
- type: entity
|
||||
name: laser rifle
|
||||
id: WeaponLaserCarbine
|
||||
parent: BaseWeaponPowerCellHonk
|
||||
description: Favoured by Nanotrasen Security for being cheap and easy to use.
|
||||
components:
|
||||
- type: Clothing
|
||||
sprite: White/_Honk/Objects/Weapons/Guns/Battery/laser_gun.rsi
|
||||
quickEquip: false
|
||||
slots:
|
||||
- Back
|
||||
- suitStorage
|
||||
- type: WeaponModules
|
||||
- type: Sprite
|
||||
sprite: White/_Honk/Objects/Weapons/Guns/Battery/laser_gun.rsi
|
||||
layers:
|
||||
- state: base
|
||||
map: ["enum.GunVisualLayers.Base"]
|
||||
- state: mag-unshaded-4
|
||||
map: ["enum.GunVisualLayers.MagUnshaded"]
|
||||
shader: unshaded
|
||||
- state: aim_module
|
||||
visible: false
|
||||
sprite: White/Objects/Weapons/modulesOnSMGs.rsi
|
||||
map: [ "enum.ModuleVisualState.AimModule" ]
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
gun_magazine:
|
||||
name: Magazine
|
||||
startingItem: EnergyCellСarbine
|
||||
priority: 4
|
||||
insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
|
||||
ejectSound: /Audio/Weapons/Guns/MagOut/batrifle_magout.ogg
|
||||
whitelist:
|
||||
tags:
|
||||
- EnergyCellСarbine
|
||||
aim_module:
|
||||
name: Aim Module
|
||||
insertSound: /Audio/White/Gun/Modules/insertmodule.ogg
|
||||
ejectSound: /Audio/White/Gun/Modules/ejectmodule.ogg
|
||||
priority: 3
|
||||
whitelist:
|
||||
tags:
|
||||
- HolographicAimModule
|
||||
- type: MagazineVisuals
|
||||
magState: mag
|
||||
steps: 6
|
||||
zeroVisible: true
|
||||
- type: PointLightBattery
|
||||
- type: PointLight
|
||||
radius: 1.3
|
||||
energy: 0.15
|
||||
color: "#7FC080"
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
gun_magazine: !type:ContainerSlot
|
||||
aim_module: !type:ContainerSlot
|
||||
|
||||
- type: entity
|
||||
parent: BaseWeaponPowerCellSmallHonk
|
||||
id: WeaponDisabler
|
||||
name: disabler
|
||||
description: A self-defense weapon that exhausts organic targets, weakening them until they collapse.
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
- Taser
|
||||
- Sidearm
|
||||
- type: Sprite
|
||||
sprite: White/_Honk/Objects/Weapons/Guns/Battery/disabler.rsi
|
||||
layers:
|
||||
- state: base
|
||||
map: ["enum.GunVisualLayers.Base"]
|
||||
- state: mag-unshaded-0
|
||||
map: ["enum.GunVisualLayers.MagUnshaded"]
|
||||
shader: unshaded
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
gun_magazine:
|
||||
name: Magazine
|
||||
startingItem: EnergyCellDisabler
|
||||
insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
|
||||
ejectSound: /Audio/Weapons/Guns/MagOut/batrifle_magout.ogg
|
||||
whitelist:
|
||||
tags:
|
||||
- EnergyCellDisabler
|
||||
- type: Clothing
|
||||
sprite: Objects/Weapons/Guns/Battery/disabler.rsi
|
||||
quickEquip: false
|
||||
slots:
|
||||
- suitStorage
|
||||
- Belt
|
||||
- type: Gun
|
||||
fireRate: 2
|
||||
soundGunshot:
|
||||
path: /Audio/Weapons/Guns/Gunshots/taser2.ogg
|
||||
- type: MagazineVisuals
|
||||
magState: mag
|
||||
steps: 5
|
||||
zeroVisible: true
|
||||
- type: Appearance
|
||||
- type: GuideHelp
|
||||
guides:
|
||||
- Security
|
||||
|
||||
- type: entity
|
||||
name: disabler SMG
|
||||
parent: BaseWeaponPowerCellHonk
|
||||
id: WeaponDisablerSMG
|
||||
description: Advanced weapon that exhausts organic targets, weakening them until they collapse.
|
||||
components:
|
||||
- type: Item
|
||||
size: Large
|
||||
- type: Tag
|
||||
tags:
|
||||
- Taser
|
||||
- Sidearm
|
||||
- type: Sprite
|
||||
sprite: White/_Honk/Objects/Weapons/Guns/Battery/disabler_smg.rsi
|
||||
layers:
|
||||
- state: base
|
||||
map: ["enum.GunVisualLayers.Base"]
|
||||
- state: mag-unshaded-0
|
||||
map: ["enum.GunVisualLayers.MagUnshaded"]
|
||||
shader: unshaded
|
||||
- type: Gun
|
||||
selectedMode: FullAuto
|
||||
fireRate: 4
|
||||
availableModes:
|
||||
- SemiAuto
|
||||
- FullAuto
|
||||
soundGunshot:
|
||||
path: /Audio/Weapons/Guns/Gunshots/taser2.ogg
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
gun_magazine:
|
||||
name: Magazine
|
||||
startingItem: EnergyCellDisablerSmg
|
||||
insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
|
||||
ejectSound: /Audio/Weapons/Guns/MagOut/batrifle_magout.ogg
|
||||
whitelist:
|
||||
tags:
|
||||
- EnergyCellDisablerSmg
|
||||
- type: MagazineVisuals
|
||||
magState: mag
|
||||
steps: 5
|
||||
zeroVisible: true
|
||||
- type: StaticPrice
|
||||
price: 260
|
||||
@@ -111,19 +111,23 @@
|
||||
parent: BaseAimModule
|
||||
id: HolographicSightModule
|
||||
name: "holographic sight"
|
||||
description: Holographic sight for rifles (lecter, CV, drozd, WT).
|
||||
description: Holographic sight for rifles (lecter, CV, drozd, WT).
|
||||
components:
|
||||
- type: AimModule
|
||||
value: "holographic"
|
||||
module_type: "aim_module"
|
||||
- type: Sprite
|
||||
state: holographic
|
||||
- type: Tag
|
||||
tags:
|
||||
- BaseAimModule
|
||||
- HolographicAimModule
|
||||
|
||||
- type: entity
|
||||
parent: BaseAimModule
|
||||
id: TelescopicSightModule
|
||||
name: "telescopic sight"
|
||||
description: Telescopic sight for rifles (lecter, CV, drozd, WT).
|
||||
description: Telescopic sight for rifles (lecter, CV, drozd, WT).
|
||||
components:
|
||||
- type: AimModule
|
||||
divisor: 0.15
|
||||
|
||||
@@ -79,9 +79,15 @@
|
||||
- type: Tag
|
||||
id: BaseAimModule
|
||||
|
||||
- type: Tag
|
||||
id: HolographicAimModule
|
||||
|
||||
- type: Tag
|
||||
id: BaseShutterModule
|
||||
|
||||
- type: Tag
|
||||
id: HasLightModule
|
||||
|
||||
- type: Tag
|
||||
id: DoorjackUsable
|
||||
|
||||
@@ -123,3 +129,24 @@
|
||||
|
||||
- type: Tag
|
||||
id: MirrorShieldGhetto
|
||||
|
||||
- type: Tag
|
||||
id: EnergyCellСarbine
|
||||
|
||||
- type: Tag
|
||||
id: EnergyCellDisabler
|
||||
|
||||
- type: Tag
|
||||
id: EnergyCellDisablerSmg
|
||||
|
||||
- type: Tag
|
||||
id: EnergyCellLaserCannon
|
||||
|
||||
- type: Tag
|
||||
id: EnergyCellLaserRetro
|
||||
|
||||
- type: Tag
|
||||
id: EnergyCellMakeshift
|
||||
|
||||
- type: Tag
|
||||
id: MagazineKalashLightRifleBox
|
||||
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 149 B |
|
After Width: | Height: | Size: 152 B |
|
After Width: | Height: | Size: 158 B |
|
After Width: | Height: | Size: 161 B |
|
After Width: | Height: | Size: 166 B |
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"version": 1,
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "https://github.com/tgstation/tgstation/pull/1684/commits/19e51caef09e78ca1122d26455b539ff5968d334, https://github.com/tgstation/tgstation/blob/master/icons/obj/weapons/guns/ammo.dmi",
|
||||
"states": [
|
||||
{
|
||||
"name": "base"
|
||||
},
|
||||
{
|
||||
"name": "practice"
|
||||
},
|
||||
{
|
||||
"name": "red"
|
||||
},
|
||||
{
|
||||
"name": "rubber"
|
||||
},
|
||||
{
|
||||
"name": "uranium"
|
||||
},
|
||||
{
|
||||
"name": "piercing"
|
||||
},
|
||||
{
|
||||
"name": "mag-1"
|
||||
},
|
||||
{
|
||||
"name": "mag-2"
|
||||
},
|
||||
{
|
||||
"name": "mag-3"
|
||||
},
|
||||
{
|
||||
"name": "mag-4"
|
||||
},
|
||||
{
|
||||
"name": "mag-5"
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 346 B |
|
After Width: | Height: | Size: 348 B |
|
After Width: | Height: | Size: 345 B |
|
After Width: | Height: | Size: 366 B |
|
After Width: | Height: | Size: 216 B |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 157 B |
|
After Width: | Height: | Size: 233 B |
|
After Width: | Height: | Size: 227 B |
|
After Width: | Height: | Size: 218 B |
@@ -31,9 +31,30 @@
|
||||
"name": "equipped-BELT",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
{
|
||||
"name": "equipped-SUITSTORAGE",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "silencer"
|
||||
},
|
||||
{
|
||||
"name": "light"
|
||||
},
|
||||
{
|
||||
"name": "laser"
|
||||
},
|
||||
{
|
||||
"name": "flamehider"
|
||||
},
|
||||
{
|
||||
"name": "accelerator"
|
||||
},
|
||||
{
|
||||
"name": "barrel_module"
|
||||
},
|
||||
{
|
||||
"name": "handguard_module"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 187 B |
|
Before Width: | Height: | Size: 192 B |
|
Before Width: | Height: | Size: 207 B |
|
Before Width: | Height: | Size: 192 B |
|
Before Width: | Height: | Size: 249 B |
|
Before Width: | Height: | Size: 249 B |
|
Before Width: | Height: | Size: 212 B |
@@ -27,27 +27,6 @@
|
||||
},
|
||||
{
|
||||
"name": "mag-3"
|
||||
},
|
||||
{
|
||||
"name": "silencer"
|
||||
},
|
||||
{
|
||||
"name": "light"
|
||||
},
|
||||
{
|
||||
"name": "laser"
|
||||
},
|
||||
{
|
||||
"name": "flamehider"
|
||||
},
|
||||
{
|
||||
"name": "accelerator"
|
||||
},
|
||||
{
|
||||
"name": "barrel_module"
|
||||
},
|
||||
{
|
||||
"name": "handguard_module"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 207 B |
|
After Width: | Height: | Size: 180 B |
|
After Width: | Height: | Size: 180 B |
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "made by Aviu",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "holographic"
|
||||
},
|
||||
{
|
||||
"name": "telescopic"
|
||||
},
|
||||
{
|
||||
"name": "aim_module"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 251 B |
|
After Width: | Height: | Size: 205 B |
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Bombinos Power Cells Inc.",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "battery"
|
||||
},
|
||||
{
|
||||
"name": "o1"
|
||||
},
|
||||
{
|
||||
"name": "o2"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 161 B |
|
After Width: | Height: | Size: 178 B |
|
After Width: | Height: | Size: 174 B |
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Bombinos Power Cells Inc.",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "battery"
|
||||
},
|
||||
{
|
||||
"name": "o1"
|
||||
},
|
||||
{
|
||||
"name": "o2"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 124 B |
|
After Width: | Height: | Size: 129 B |
|
After Width: | Height: | Size: 181 B |
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Bombinos Power Cells Inc.",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "battery"
|
||||
},
|
||||
{
|
||||
"name": "o1"
|
||||
},
|
||||
{
|
||||
"name": "o2"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 111 B |
|
After Width: | Height: | Size: 113 B |
|
After Width: | Height: | Size: 559 B |
|
After Width: | Height: | Size: 244 B |
|
After Width: | Height: | Size: 244 B |
|
After Width: | Height: | Size: 315 B |
|
After Width: | Height: | Size: 318 B |
|
After Width: | Height: | Size: 304 B |
|
After Width: | Height: | Size: 285 B |
|
After Width: | Height: | Size: 275 B |
|
After Width: | Height: | Size: 874 B |
|
After Width: | Height: | Size: 312 B |
|
After Width: | Height: | Size: 316 B |
|
After Width: | Height: | Size: 319 B |
|
After Width: | Height: | Size: 296 B |
|
After Width: | Height: | Size: 290 B |
|
After Width: | Height: | Size: 932 B |
|
After Width: | Height: | Size: 249 B |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "taken from tg station at commit https://github.com/tgstation/tgstation/blob/832ae532766d491d91db53746d15b4b55be3f2b0",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "base"
|
||||
},
|
||||
{
|
||||
"name": "mag-unshaded-4"
|
||||
},
|
||||
{
|
||||
"name": "mag-unshaded-3"
|
||||
},
|
||||
{
|
||||
"name": "mag-unshaded-2"
|
||||
},
|
||||
{
|
||||
"name": "mag-unshaded-1"
|
||||
},
|
||||
{
|
||||
"name": "mag-unshaded-0",
|
||||
"delays": [
|
||||
[
|
||||
0.3,
|
||||
0.3
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-left-0"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left-1"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left-2"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left-3"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left-4"
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right-0"
|
||||
},
|
||||
{
|
||||
"name": "inhand-right-1"
|
||||
},
|
||||
{
|
||||
"name": "inhand-right-2"
|
||||
},
|
||||
{
|
||||
"name": "inhand-right-3"
|
||||
},
|
||||
{
|
||||
"name": "inhand-right-4"
|
||||
},
|
||||
{
|
||||
"name": "equipped-BELT",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "equipped-SUITSTORAGE",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 526 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 865 B |
|
After Width: | Height: | Size: 867 B |
|
After Width: | Height: | Size: 845 B |
|
After Width: | Height: | Size: 846 B |
|
After Width: | Height: | Size: 846 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 872 B |
|
After Width: | Height: | Size: 878 B |
|
After Width: | Height: | Size: 854 B |
|
After Width: | Height: | Size: 853 B |
|
After Width: | Height: | Size: 853 B |
|
After Width: | Height: | Size: 235 B |
|
After Width: | Height: | Size: 191 B |
|
After Width: | Height: | Size: 201 B |
|
After Width: | Height: | Size: 187 B |
|
After Width: | Height: | Size: 175 B |
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/blob/26818af618762ff52319b3417be8cdc1279e99b7/icons/obj/weapons/guns/energy.dmi",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "base"
|
||||
},
|
||||
{
|
||||
"name": "mag-unshaded-4"
|
||||
},
|
||||
{
|
||||
"name": "mag-unshaded-3"
|
||||
},
|
||||
{
|
||||
"name": "mag-unshaded-2"
|
||||
},
|
||||
{
|
||||
"name": "mag-unshaded-1"
|
||||
},
|
||||
{
|
||||
"name": "mag-unshaded-0",
|
||||
"delays": [
|
||||
[
|
||||
0.4,
|
||||
0.4
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-left-0"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left-1"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left-2"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left-3"
|
||||
},
|
||||
{
|
||||
"name": "inhand-left-4"
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right-0"
|
||||
},
|
||||
{
|
||||
"name": "inhand-right-1"
|
||||
},
|
||||
{
|
||||
"name": "inhand-right-2"
|
||||
},
|
||||
{
|
||||
"name": "inhand-right-3"
|
||||
},
|
||||
{
|
||||
"name": "inhand-right-4"
|
||||
}
|
||||
]
|
||||
}
|
||||