This commit is contained in:
CaYpeN1
2024-03-24 14:35:45 +05:00
parent a9b67840c0
commit ce98d8157c
7 changed files with 35 additions and 19 deletions

View File

@@ -18,8 +18,6 @@ public sealed partial class WeaponModulesVisuals : VisualizerSystem<WeaponModule
if(args.Sprite == null) if(args.Sprite == null)
return; return;
args.Sprite.LayerSetVisible(ModuleVisualState.Module, false);
if (AppearanceSystem.TryGetData<string>(uid, ModuleVisualState.Module, out var module, args.Component) && module.Length != 0 && module != "none") if (AppearanceSystem.TryGetData<string>(uid, ModuleVisualState.Module, out var module, args.Component) && module.Length != 0 && module != "none")
{ {
args.Sprite.LayerSetState(ModuleVisualState.Module, module); args.Sprite.LayerSetState(ModuleVisualState.Module, module);

View File

@@ -70,9 +70,12 @@ public sealed class WeaponModulesSystem : EntitySystem
weaponModulesComponent.Modules.Add(module); weaponModulesComponent.Modules.Add(module);
if(!TryComp<AppearanceComponent>(weapon, out var appearanceComponent)) return; if(!TryComp<AppearanceComponent>(weapon, out var appearanceComponent)) return;
if (!TryComp<GunComponent>(weapon, out var gunComp)) return;
component.OldProjectileSpeed = gunComp.ProjectileSpeed;
_appearanceSystem.SetData(weapon, ModuleVisualState.Module, "laser", appearanceComponent); _appearanceSystem.SetData(weapon, ModuleVisualState.Module, "laser", appearanceComponent);
_gunSystem.setProjectileSpeed(weapon, 35.5F); _gunSystem.SetProjectileSpeed(weapon, component.OldProjectileSpeed + 15F);
} }
private void FlameHiderModuleOnInsert(EntityUid module, FlameHiderModuleComponent component, EntGotInsertedIntoContainerMessage args) private void FlameHiderModuleOnInsert(EntityUid module, FlameHiderModuleComponent component, EntGotInsertedIntoContainerMessage args)
@@ -111,7 +114,7 @@ public sealed class WeaponModulesSystem : EntitySystem
_appearanceSystem.SetData(weapon, ModuleVisualState.Module, "silencer", appearanceComponent); _appearanceSystem.SetData(weapon, ModuleVisualState.Module, "silencer", appearanceComponent);
weaponModulesComponent.UseEffect = true; weaponModulesComponent.UseEffect = true;
_gunSystem.setSound(weapon, component.NewSoundGunshot); _gunSystem.SetSound(weapon, component.NewSoundGunshot);
Dirty(module, weaponModulesComponent); Dirty(module, weaponModulesComponent);
} }
@@ -129,8 +132,12 @@ public sealed class WeaponModulesSystem : EntitySystem
if(!TryComp<AppearanceComponent>(weapon, out var appearanceComponent)) return; if(!TryComp<AppearanceComponent>(weapon, out var appearanceComponent)) return;
if (!TryComp<GunComponent>(weapon, out var gunComp)) return;
component.OldFireRate = gunComp.FireRate;
_appearanceSystem.SetData(weapon, ModuleVisualState.Module, "accelerator", appearanceComponent); _appearanceSystem.SetData(weapon, ModuleVisualState.Module, "accelerator", appearanceComponent);
_gunSystem.setFireRate(weapon, 7.5F); _gunSystem.SetFireRate(weapon, component.OldFireRate + 2F);
} }
#endregion #endregion
@@ -168,7 +175,7 @@ public sealed class WeaponModulesSystem : EntitySystem
if(!TryComp<AppearanceComponent>(weapon, out var appearanceComponent)) return; if(!TryComp<AppearanceComponent>(weapon, out var appearanceComponent)) return;
_appearanceSystem.SetData(weapon, ModuleVisualState.Module, "none", appearanceComponent); _appearanceSystem.SetData(weapon, ModuleVisualState.Module, "none", appearanceComponent);
_gunSystem.setProjectileSpeed(weapon, 25F); _gunSystem.SetProjectileSpeed(weapon, component.OldProjectileSpeed);
} }
private void FlameHiderModuleOnEject(EntityUid module, FlameHiderModuleComponent component, EntGotRemovedFromContainerMessage args) private void FlameHiderModuleOnEject(EntityUid module, FlameHiderModuleComponent component, EntGotRemovedFromContainerMessage args)
@@ -204,7 +211,7 @@ public sealed class WeaponModulesSystem : EntitySystem
_appearanceSystem.SetData(weapon, ModuleVisualState.Module, "none", appearanceComponent); _appearanceSystem.SetData(weapon, ModuleVisualState.Module, "none", appearanceComponent);
weaponModulesComponent.UseEffect = false; weaponModulesComponent.UseEffect = false;
_gunSystem.setSound(weapon, component.OldSoundGunshot!); _gunSystem.SetSound(weapon, component.OldSoundGunshot!);
Dirty(module, weaponModulesComponent); Dirty(module, weaponModulesComponent);
} }
@@ -222,7 +229,7 @@ public sealed class WeaponModulesSystem : EntitySystem
if(!TryComp<AppearanceComponent>(weapon, out var appearanceComponent)) return; if(!TryComp<AppearanceComponent>(weapon, out var appearanceComponent)) return;
_appearanceSystem.SetData(weapon, ModuleVisualState.Module, "none", appearanceComponent); _appearanceSystem.SetData(weapon, ModuleVisualState.Module, "none", appearanceComponent);
_gunSystem.setFireRate(weapon, component.OldFireRate); _gunSystem.SetFireRate(weapon, component.OldFireRate);
} }
#endregion #endregion

View File

@@ -539,26 +539,32 @@ public abstract partial class SharedGunSystem : EntitySystem
Dirty(gun); Dirty(gun);
} }
// WD EDIT // WD EDIT
public void setProjectileSpeed(EntityUid weapon, float projectileSpeed) public void SetProjectileSpeed(EntityUid weapon, float projectileSpeed)
{ {
TryComp<GunComponent>(weapon, out var gunComponent); if(!TryComp<GunComponent>(weapon, out var gunComponent))
gunComponent!.ProjectileSpeed = projectileSpeed; return;
gunComponent.ProjectileSpeed = projectileSpeed;
RefreshModifiers(weapon); RefreshModifiers(weapon);
} }
public void setFireRate(EntityUid weapon, float fireRate) public void SetFireRate(EntityUid weapon, float fireRate)
{ {
TryComp<GunComponent>(weapon, out var gunComponent); if(!TryComp<GunComponent>(weapon, out var gunComponent))
gunComponent!.FireRate = fireRate; return;
gunComponent.FireRate = fireRate;
RefreshModifiers(weapon); RefreshModifiers(weapon);
} }
public void setSound(EntityUid weapon, SoundSpecifier sound) public void SetSound(EntityUid weapon, SoundSpecifier sound)
{ {
TryComp<GunComponent>(weapon, out var gunComponent); if(!TryComp<GunComponent>(weapon, out var gunComponent))
gunComponent!.SoundGunshot = sound; return;
gunComponent.SoundGunshot = sound;
RefreshModifiers(weapon); RefreshModifiers(weapon);
} }

View File

@@ -6,5 +6,6 @@
[RegisterComponent] [RegisterComponent]
public sealed partial class LaserModuleComponent : BaseModuleComponent public sealed partial class LaserModuleComponent : BaseModuleComponent
{ {
[ViewVariables(VVAccess.ReadWrite), DataField]
public float OldProjectileSpeed;
} }

View File

@@ -6,6 +6,6 @@
[RegisterComponent] [RegisterComponent]
public sealed partial class LightModuleComponent : BaseModuleComponent public sealed partial class LightModuleComponent : BaseModuleComponent
{ {
[ViewVariables(VVAccess.ReadWrite)] [ViewVariables(VVAccess.ReadWrite), DataField]
public bool Enabled; public bool Enabled;
} }

View File

@@ -74,6 +74,7 @@
- state: mag-0 - state: mag-0
map: [ "enum.GunVisualLayers.Mag" ] map: [ "enum.GunVisualLayers.Mag" ]
- state: laser - state: laser
visible: false
sprite: White/Objects/Weapons/modulesOnWeapon.rsi sprite: White/Objects/Weapons/modulesOnWeapon.rsi
map: [ "enum.ModuleVisualState.Module" ] map: [ "enum.ModuleVisualState.Module" ]
- type: Gun - type: Gun
@@ -181,6 +182,7 @@
- state: mag-0 - state: mag-0
map: [ "enum.GunVisualLayers.Mag" ] map: [ "enum.GunVisualLayers.Mag" ]
- state: laser - state: laser
visible: false
sprite: White/Objects/Weapons/modulesOnWeapon.rsi sprite: White/Objects/Weapons/modulesOnWeapon.rsi
map: [ "enum.ModuleVisualState.Module" ] map: [ "enum.ModuleVisualState.Module" ]
- type: Clothing - type: Clothing

View File

@@ -118,6 +118,7 @@
- state: mag-0 - state: mag-0
map: ["enum.GunVisualLayers.Mag"] map: ["enum.GunVisualLayers.Mag"]
- state: laser - state: laser
visible: false
sprite: White/Objects/Weapons/modulesOnWeapon.rsi sprite: White/Objects/Weapons/modulesOnWeapon.rsi
map: [ "enum.ModuleVisualState.Module" ] map: [ "enum.ModuleVisualState.Module" ]
- type: Clothing - type: Clothing
@@ -238,6 +239,7 @@
map: ["enum.GunVisualLayers.MagUnshaded"] map: ["enum.GunVisualLayers.MagUnshaded"]
shader: unshaded shader: unshaded
- state: laser - state: laser
visible: false
sprite: White/Objects/Weapons/modulesOnWeapon.rsi sprite: White/Objects/Weapons/modulesOnWeapon.rsi
map: [ "enum.ModuleVisualState.Module" ] map: [ "enum.ModuleVisualState.Module" ]
- type: Clothing - type: Clothing