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)
return;
args.Sprite.LayerSetVisible(ModuleVisualState.Module, false);
if (AppearanceSystem.TryGetData<string>(uid, ModuleVisualState.Module, out var module, args.Component) && module.Length != 0 && module != "none")
{
args.Sprite.LayerSetState(ModuleVisualState.Module, module);

View File

@@ -70,9 +70,12 @@ public sealed class WeaponModulesSystem : EntitySystem
weaponModulesComponent.Modules.Add(module);
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);
_gunSystem.setProjectileSpeed(weapon, 35.5F);
_gunSystem.SetProjectileSpeed(weapon, component.OldProjectileSpeed + 15F);
}
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);
weaponModulesComponent.UseEffect = true;
_gunSystem.setSound(weapon, component.NewSoundGunshot);
_gunSystem.SetSound(weapon, component.NewSoundGunshot);
Dirty(module, weaponModulesComponent);
}
@@ -129,8 +132,12 @@ public sealed class WeaponModulesSystem : EntitySystem
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);
_gunSystem.setFireRate(weapon, 7.5F);
_gunSystem.SetFireRate(weapon, component.OldFireRate + 2F);
}
#endregion
@@ -168,7 +175,7 @@ public sealed class WeaponModulesSystem : EntitySystem
if(!TryComp<AppearanceComponent>(weapon, out var appearanceComponent)) return;
_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)
@@ -204,7 +211,7 @@ public sealed class WeaponModulesSystem : EntitySystem
_appearanceSystem.SetData(weapon, ModuleVisualState.Module, "none", appearanceComponent);
weaponModulesComponent.UseEffect = false;
_gunSystem.setSound(weapon, component.OldSoundGunshot!);
_gunSystem.SetSound(weapon, component.OldSoundGunshot!);
Dirty(module, weaponModulesComponent);
}
@@ -222,7 +229,7 @@ public sealed class WeaponModulesSystem : EntitySystem
if(!TryComp<AppearanceComponent>(weapon, out var appearanceComponent)) return;
_appearanceSystem.SetData(weapon, ModuleVisualState.Module, "none", appearanceComponent);
_gunSystem.setFireRate(weapon, component.OldFireRate);
_gunSystem.SetFireRate(weapon, component.OldFireRate);
}
#endregion

View File

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

View File

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

View File

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

View File

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

View File

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