From 796a1f3d5dbea697a80da133a8adac01f9eb37fc Mon Sep 17 00:00:00 2001 From: CaYpeN1 Date: Wed, 20 Mar 2024 21:07:17 +0500 Subject: [PATCH] add: new modules, sprite visuals, client and shared logic --- .../WeaponsModules/WeaponModulesVisuals.cs | 48 ++++++++-------- .../WeaponModules/WeaponModulesSystem.cs | 52 +++++++++++++----- .../Weapons/Ranged/Systems/SharedGunSystem.cs | 8 +++ .../WeaponModulesVisualsComponent.cs | 14 ++++- .../Objects/Weapons/Guns/Rifles/rifles.yml | 26 ++++++++- .../Objects/Weapons/Guns/SMGs/smgs.yml | 43 +++++++++++++++ .../Objects/Weapons/Guns/Modules/modules.yml | 10 ++++ .../Textures/Effects/LightMasks/cone.png | Bin 12242 -> 21672 bytes .../Weapons/Guns/Rifles/ak.rsi/meta.json | 3 - .../White/Effects/LightMasks/lightModule.png | Bin 0 -> 21672 bytes .../Weapons/modules.rsi/accelerator.png | Bin 0 -> 2801 bytes .../Objects/Weapons/modules.rsi/meta.json | 3 + .../modulesOnWeapon.rsi/accelerator.png | Bin 0 -> 178 bytes .../modulesOnWeapon.rsi/flamehider.png | Bin 0 -> 151 bytes .../Weapons/modulesOnWeapon.rsi}/laser.png | Bin .../Weapons/modulesOnWeapon.rsi/light.png | Bin 0 -> 154 bytes .../Weapons/modulesOnWeapon.rsi/meta.json | 26 +++++++++ .../Weapons/modulesOnWeapon.rsi/silencer.png | Bin 0 -> 145 bytes 18 files changed, 187 insertions(+), 46 deletions(-) rename {Content.Client/_White/WeaponsModules => Content.Shared/_White/WeaponModules}/WeaponModulesVisualsComponent.cs (51%) create mode 100644 Resources/Textures/White/Effects/LightMasks/lightModule.png create mode 100644 Resources/Textures/White/Objects/Weapons/modules.rsi/accelerator.png create mode 100644 Resources/Textures/White/Objects/Weapons/modulesOnWeapon.rsi/accelerator.png create mode 100644 Resources/Textures/White/Objects/Weapons/modulesOnWeapon.rsi/flamehider.png rename Resources/Textures/{Objects/Weapons/Guns/Rifles/ak.rsi => White/Objects/Weapons/modulesOnWeapon.rsi}/laser.png (100%) create mode 100644 Resources/Textures/White/Objects/Weapons/modulesOnWeapon.rsi/light.png create mode 100644 Resources/Textures/White/Objects/Weapons/modulesOnWeapon.rsi/meta.json create mode 100644 Resources/Textures/White/Objects/Weapons/modulesOnWeapon.rsi/silencer.png diff --git a/Content.Client/_White/WeaponsModules/WeaponModulesVisuals.cs b/Content.Client/_White/WeaponsModules/WeaponModulesVisuals.cs index a360aa9faf..5601d15aca 100644 --- a/Content.Client/_White/WeaponsModules/WeaponModulesVisuals.cs +++ b/Content.Client/_White/WeaponsModules/WeaponModulesVisuals.cs @@ -5,38 +5,34 @@ using Robust.Client.GameObjects; namespace Content.Client._White.WeaponsModules; -public sealed partial class WeaponModulesVisuals : EntitySystem +public sealed partial class WeaponModulesVisuals : VisualizerSystem { - private void Initialize() + + [Dependency] private readonly PointLightSystem _lightSystem = default!; + + protected override void OnAppearanceChange(EntityUid uid, WeaponModulesVisualsComponent component, ref AppearanceChangeEvent args) { - base.Initialize(); + base.OnAppearanceChange(uid, component, ref args); - SubscribeLocalEvent(ComponentInit); - SubscribeLocalEvent(onModuleVisualChange); - } + if(args.Sprite == null) + return; - private void ComponentInit(EntityUid uid, WeaponModulesVisualsComponent component, ComponentInit args) - { - if (!TryComp(uid, out var sprite)) return; + args.Sprite.LayerSetVisible(ModuleVisualState.Module, false); - if (sprite.LayerMapTryGet(ModuleVisualState.Laser, out _)) + if (AppearanceSystem.TryGetData(uid, ModuleVisualState.Module, out var module, args.Component) && module.Length != 0 && module != "none") { - sprite.LayerSetState(ModuleVisualState.Laser, $"laser"); - sprite.LayerSetVisible(ModuleVisualState.Laser, false); + args.Sprite.LayerSetState(ModuleVisualState.Module, module); + args.Sprite.LayerSetVisible(ModuleVisualState.Module, true); + } + + if (AppearanceSystem.TryGetData(uid, Modules.Light, out var data, args.Component)) + { + if (TryComp(uid, out var pointLightComponent)) + { + if(!pointLightComponent.Enabled) + return; + _lightSystem.SetMask("/Textures/White/Effects/LightMasks/lightModule.png", pointLightComponent!); + } } } - - private void onModuleVisualChange(EntityUid uid, WeaponModulesVisualsComponent component, ref AppearanceChangeEvent args) - { - var sprite = args.Sprite; - - if (sprite == null) return; - - if (sprite.LayerMapTryGet(ModuleVisualState.Laser, out _)) - { - sprite.LayerSetVisible(ModuleVisualState.Laser, true); - sprite.LayerSetState(ModuleVisualState.Laser, $"laser"); - } - } - } diff --git a/Content.Server/_White/WeaponModules/WeaponModulesSystem.cs b/Content.Server/_White/WeaponModules/WeaponModulesSystem.cs index b919c07e15..7396072335 100644 --- a/Content.Server/_White/WeaponModules/WeaponModulesSystem.cs +++ b/Content.Server/_White/WeaponModules/WeaponModulesSystem.cs @@ -1,4 +1,4 @@ -using System.Numerics; +using Content.Client._White.WeaponsModules; using Content.Shared.Weapons.Ranged.Components; using Content.Shared.Weapons.Ranged.Systems; using Robust.Server.GameObjects; @@ -15,6 +15,7 @@ public sealed class WeaponModulesSystem : EntitySystem [Dependency] private readonly SharedGunSystem _gunSystem = default!; SoundSpecifier? oldSoundGunshot; + private float oldFireRate; public override void Initialize() { @@ -34,6 +35,7 @@ public sealed class WeaponModulesSystem : EntitySystem TryComp(weapon, out var gunComp); oldSoundGunshot = gunComp!.SoundGunshot; + oldFireRate = gunComp.FireRate; insertModules(module, comp); moduleEffect(module, weapon); @@ -74,38 +76,51 @@ public sealed class WeaponModulesSystem : EntitySystem if(comp.Modules.Contains("SilencerModule")) break; comp.Modules.Add("SilencerModule"); break; + + case "AcceleratorModule": + if(comp.Modules.Contains("AcceleratorModule")) break; + comp.Modules.Add("AcceleratorModule"); + break; } } private void moduleEffect(string module, EntityUid weapon) { + TryComp(weapon, out var appearanceComponent); switch (module) { - case "LightModule" when HasComp(weapon): - { - _lightSystem.SetEnabled(weapon, true); - break; - } - case "LightModule": + Appearance.SetData(weapon, ModuleVisualState.Module, "light", appearanceComponent); + + _lightSystem.EnsureLight(weapon); _lightSystem.TryGetLight(weapon, out var light); - _lightSystem.EnsureLight(weapon).Offset = new Vector2(0, -1); - _lightSystem.SetRadius(weapon, 2F, light); + Appearance.SetData(weapon, Modules.Light, "none", appearanceComponent); + + _lightSystem.SetRadius(weapon, 4F, light); + _lightSystem.SetEnabled(weapon, true, light); break; case "LaserModule": - _gunSystem.setProjectileSpeed(weapon, 40F); + Appearance.SetData(weapon, ModuleVisualState.Module, "laser", appearanceComponent); + _gunSystem.setProjectileSpeed(weapon, 35.5F); break; case "FlameHiderModule": + Appearance.SetData(weapon, ModuleVisualState.Module, "flamehider", appearanceComponent); _gunSystem.setUseEffect(weapon, true); break; case "SilencerModule": + Appearance.SetData(weapon, ModuleVisualState.Module, "silencer", appearanceComponent); _gunSystem.setUseEffect(weapon, true); _gunSystem.setSound(weapon, new SoundPathSpecifier("/Audio/White/Weapons/Modules/silence.ogg")); break; + + case "AcceleratorModule": + Appearance.SetData(weapon, ModuleVisualState.Module, "accelerator", appearanceComponent); + _gunSystem.setFireRate(weapon, 7.5F); + break; } } @@ -128,35 +143,46 @@ public sealed class WeaponModulesSystem : EntitySystem case "SilencerModule": comp.Modules.Remove("SilencerModule"); break; + + case "AcceleratorModule": + comp.Modules.Remove("AcceleratorModule"); + break; } } private void removeModuleEffect(string module, EntityUid weapon) { + TryComp(weapon, out var appearanceComponent); switch (module) { case "LightModule": - if (!HasComp(weapon)) - break; - + Appearance.SetData(weapon, ModuleVisualState.Module, "none", appearanceComponent); _lightSystem.TryGetLight(weapon, out var light); _lightSystem.SetEnabled(weapon, false, light); break; case "LaserModule": + Appearance.SetData(weapon, ModuleVisualState.Module, "none", appearanceComponent); if (!HasComp(weapon)) break; _gunSystem.setProjectileSpeed(weapon, 25F); break; case "FlameHiderModule": + Appearance.SetData(weapon, ModuleVisualState.Module, "none", appearanceComponent); _gunSystem.setUseEffect(weapon, false); break; case "SilencerModule": + Appearance.SetData(weapon, ModuleVisualState.Module, "none", appearanceComponent); _gunSystem.setUseEffect(weapon, false); _gunSystem.setSound(weapon, oldSoundGunshot!); break; + + case "AcceleratorModule": + Appearance.SetData(weapon, ModuleVisualState.Module, "none", appearanceComponent); + _gunSystem.setFireRate(weapon, oldFireRate); + break; } } } diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs index 681bd29987..534898791e 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs @@ -544,6 +544,14 @@ public abstract partial class SharedGunSystem : EntitySystem RefreshModifiers(weapon); } + public void setFireRate(EntityUid weapon, float fireRate) + { + TryComp(weapon, out var gunComponent); + gunComponent!.FireRate = fireRate; + + RefreshModifiers(weapon); + } + public void setSound(EntityUid weapon, SoundSpecifier sound) { TryComp(weapon, out var gunComponent); diff --git a/Content.Client/_White/WeaponsModules/WeaponModulesVisualsComponent.cs b/Content.Shared/_White/WeaponModules/WeaponModulesVisualsComponent.cs similarity index 51% rename from Content.Client/_White/WeaponsModules/WeaponModulesVisualsComponent.cs rename to Content.Shared/_White/WeaponModules/WeaponModulesVisualsComponent.cs index 67d1d7aaa3..4da7ef3418 100644 --- a/Content.Client/_White/WeaponsModules/WeaponModulesVisualsComponent.cs +++ b/Content.Shared/_White/WeaponModules/WeaponModulesVisualsComponent.cs @@ -1,15 +1,23 @@ using Robust.Shared.GameStates; +using Robust.Shared.Serialization; namespace Content.Client._White.WeaponsModules; /// -[RegisterComponent, Access(typeof(WeaponModulesVisuals))] +[RegisterComponent] public sealed partial class WeaponModulesVisualsComponent : Component { - [DataField()] public string? state; + [DataField] public string? state; } +[Serializable, NetSerializable] public enum ModuleVisualState : byte { - Laser + Module +} + +[Serializable, NetSerializable] +public enum Modules : byte +{ + Light } diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml index c5525d983c..d6b388b86e 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml @@ -72,7 +72,8 @@ - state: mag-0 map: [ "enum.GunVisualLayers.Mag" ] - state: laser - map: [ "enum.ModuleVisualState.Laser" ] + sprite: White/Objects/Weapons/modulesOnWeapon.rsi + map: [ "enum.ModuleVisualState.Module" ] - type: Gun fireRate: 5 soundGunshot: @@ -114,6 +115,9 @@ steps: 1 zeroVisible: true - type: WeaponModulesVisuals + - type: PointLight + enabled: false + autoRot: true - type: Appearance - type: entity @@ -172,6 +176,9 @@ map: [ "enum.GunVisualLayers.Base" ] - state: mag-0 map: [ "enum.GunVisualLayers.Mag" ] + - state: laser + sprite: White/Objects/Weapons/modulesOnWeapon.rsi + map: [ "enum.ModuleVisualState.Module" ] - type: Clothing sprite: Objects/Weapons/Guns/Rifles/lecter.rsi - type: Gun @@ -195,14 +202,25 @@ whitelist: tags: - CartridgeRifle + gun_modules: + name: Modules + priority: 2 + whitelist: + tags: + - BaseModule - type: ContainerContainer containers: gun_magazine: !type:ContainerSlot gun_chamber: !type:ContainerSlot + gun_modules: !type:ContainerSlot - type: MagazineVisuals magState: mag steps: 1 zeroVisible: true + - type: WeaponModulesVisuals + - type: PointLight + enabled: false + autoRot: true - type: Appearance - type: entity @@ -229,3 +247,9 @@ whitelist: tags: - CartridgeRifle + gun_modules: + name: Modules + priority: 2 + whitelist: + tags: + - BaseModule diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml index b693bdba37..9dcbddb50d 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml @@ -117,6 +117,9 @@ map: ["enum.GunVisualLayers.Base"] - state: mag-0 map: ["enum.GunVisualLayers.Mag"] + - state: laser + sprite: White/Objects/Weapons/modulesOnWeapon.rsi + map: [ "enum.ModuleVisualState.Module" ] - type: Clothing sprite: Objects/Weapons/Guns/SMGs/drozd.rsi - type: Gun @@ -126,6 +129,7 @@ path: /Audio/Weapons/Guns/Gunshots/atreides.ogg availableModes: - FullAuto + - type: WeaponModules - type: ItemSlots slots: gun_magazine: @@ -144,10 +148,25 @@ whitelist: tags: - CartridgePistol + gun_modules: + name: Modules + priority: 2 + whitelist: + tags: + - BaseModule + - type: ContainerContainer + containers: + gun_magazine: !type:ContainerSlot + gun_chamber: !type:ContainerSlot + gun_modules: !type:ContainerSlot - type: MagazineVisuals magState: mag steps: 1 zeroVisible: true + - type: WeaponModulesVisuals + - type: PointLight + enabled: false + autoRot: true - type: Appearance - type: entity @@ -216,6 +235,9 @@ - state: mag-unshaded-0 map: ["enum.GunVisualLayers.MagUnshaded"] shader: unshaded + - state: laser + sprite: White/Objects/Weapons/modulesOnWeapon.rsi + map: [ "enum.ModuleVisualState.Module" ] - type: Clothing sprite: Objects/Weapons/Guns/SMGs/wt550.rsi - type: ChamberMagazineAmmoProvider @@ -225,6 +247,7 @@ selectedMode: FullAuto availableModes: - FullAuto + - type: WeaponModules - type: ItemSlots slots: gun_magazine: @@ -243,10 +266,24 @@ whitelist: tags: - CartridgePistol + gun_modules: + name: Modules + priority: 2 + whitelist: + tags: + - BaseModule + - type: ContainerContainer + containers: + gun_magazine: !type:ContainerSlot + gun_chamber: !type:ContainerSlot - type: MagazineVisuals magState: mag steps: 6 zeroVisible: true + - type: WeaponModulesVisuals + - type: PointLight + enabled: false + autoRot: true - type: Appearance # Rubber @@ -274,6 +311,12 @@ whitelist: tags: - CartridgePistol + gun_modules: + name: Modules + priority: 2 + whitelist: + tags: + - BaseModule - type: entity name: Vector diff --git a/Resources/Prototypes/White/Entities/Objects/Weapons/Guns/Modules/modules.yml b/Resources/Prototypes/White/Entities/Objects/Weapons/Guns/Modules/modules.yml index 719506a435..a65f108cb1 100644 --- a/Resources/Prototypes/White/Entities/Objects/Weapons/Guns/Modules/modules.yml +++ b/Resources/Prototypes/White/Entities/Objects/Weapons/Guns/Modules/modules.yml @@ -59,4 +59,14 @@ - type: Item - type: Sprite state: silencer + - type: Appearance + +- type: entity + id: AcceleratorModule + name: "accelerator module" + parent: BaseModule + components: + - type: Item + - type: Sprite + state: accelerator - type: Appearance \ No newline at end of file diff --git a/Resources/Textures/Effects/LightMasks/cone.png b/Resources/Textures/Effects/LightMasks/cone.png index 2cd329b99c8f1702527bda240838e8b9f85e3311..66d006976809a0988b225f6b021b1d7a9156a847 100644 GIT binary patch literal 21672 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 literal 12242 zcmd^F`CCkH*niG4`_xSPXq(ffRSP9rbf(?fND)#aTjHziq2)}AA~cqWsIh0OK@p+T zA|V<}q^OA`Dn+TNX5QYv;{D;huKPUK`Qdq<>$$G`bKm#pUiJwW1gJ6fnE(K_*@3>n z0KgN!FrZJY;FVU^WB{N|>wSEL>sPG;!0Pb!!|rntfp&Vu_5Gg_7RAr*j__t6W|eud zwrX-0My1HMuemCdHM9c8&=0jafK#v_)^q z=%p~-Y>VWK(D2P2by==ByN^sCZ6$idwsfR?Ik6KBd1=^$Ga2jy{^0`Y8U9_+6x+{Y?2 zk#4k8sEgaXr_3f7fI)Ra2-YTxk)$~qiu;>i(1u44;+1kIim8i^5XO)lwQfDx`>QWs z<+@f(1@W4~T%>Gf??EJC$R1}w^-3SKD-}Ns$s9Oif8PnD5%y`w*iUDX8|y&}EdX%g zF#oa-s)6RML~+}J!^CR@Z$P^Jo+A{^Kp(R02-U70zQPu*h3>HBw+TM_R&{I^Z|73t z7&X_~@icYJMz`xZoNkVtqBLtuvw)B~0^tSJaEZ3>Qlf~mS+njUnUzm{;K2G=4e8LZ zrpOm?3jyqqjUe+Pd;sE7kDEusE3w}l0`8-l(uGmW$fSMSR%}O)IMdFGDtnlTG z=$0=%bKvw~$q}?f4Ww@-@?I>yMMk!1_SerL%n|OS!1=HeNW<)8r;PD;aK)n~=PeXV z4ildYxmUoWC`U|e#VDKg`DM0xf8Xbo;>OpoE1Ee4N>0`8XoOD0;ggYHbbO}b6XV!? z+Q`l;eq9VkDQczD{^Mv$62hQ&5izcr8OSmXvV-sfBkwyw$#G)82NBG9mzR<>g%NfM z+4KopWgX{2voiv#rwDJ*Gj@9?xijJrMJK!)jo*f!U~=1uNC51(X$hB^X z{z&ntWvmXmp`iJLx#)~$zrPa}2<5WT4V48kQ-tdo!*Qe+u)1wdUZW(vt+-?;TR`2f zmd@qia|KM=7!^N;j^q$4=9~1Lp#Qu8^2XDHr61KycL5v3QN0Nw=feILAOkdMS1n7e zs8C(XCzdirrKy!kj**&~tED$|$0$VdVoL@u2b5xI;keOyMe#gzI2hQW$+r%PZt%5p z;EQ|Zea`&_jiykcHF_NBX(#g0h#$psQL}Ucca;P}VbdgqNS3yO25cDIXV7?c(frJq zX;tbjBWI$>1QUEAl%fr~$#|RVG`!GIv>5d?J6GYT!5)MI(?J1K5iBLig&NH!5ovWW=9GJ@O`3rY<4eWWWJLq(t_)pcDG#M<>@B!rTw(Vuc>@` z`*aWuwGw?Kc{97o0P2s*{A(`BNvWvd^b%f6NmYmw6*vjIm`;1DlM~rtI#9_R(LBl) z3o#p<;)OX3-O628ODr-G-DF44OHWygpF&%cr+G5QVEn@~S#v^Q16-hsv|curT{Q~% zz&5pje#c-QT)CIZ0Q}_gP6HeImAO8tP6`e5S^0Zp$QQh3nO>(>*^oxaDti3Jj70`j zede;VRm8fLO>?Gn9gL~kU`E_E32){8w-^opb_by9_(0Ky>k(SB9vUVHP3Q~p03&h= zq6C;RavCvhFGpIZQ+p1A#U^zpkmjk_6*TGL^?z-p_1~a~DP2%Xp1}t$_?L2^RX)vB zVXcAT(7tiMN&Q)3dplFiAYM#312x~ew2&_$Idw6-#Mwz;xP^BTh&z~;QjDy_PSA@X!d>8lnBiPTm9%o_)UY5Udom~aADqALyZaC z&7dCp`Ca=Pa-dWAU!ZKc(Rgbx32TT-lDp5}p96(IH)*8D(Lia%)>))6SJ54WaKUuJ?9Pw@}W&C|3&Q{;7Y z5op>H=gaI5H@kbuR&kLoF(Ou(AG?!!SE%0folMlU`bkaGP-G!89`_g=4umDryO+f7 zR#JPoYzw~2^};8$-9dxTKjHcukW_yzI&xX(Ou3cQn4U}C3 z-tb2|ED&k)RtxurO83CO65Fey9H(>6?FVwshm6gFUR*Z}BAyN7(c*f9TIAN$XlgA^QPDT2gX#OahFt z6KLB_s|WkxsiWOCl0~TF8pVVo=3fjc))sv-)BUNg+w9$%PPM;43?9O`AgxihNkd_e zBtPV`!A)DyB(=dC*~tcaTnDs4h;MN1w=|*;WC2$&s4db{`}k_owJqfrYw;Y+^K&(EO84~08S;?IKx%%(>^_^-7o!2%K{ z8uf?vMoHSBx|!G~wdY&$Z+PMMMGxjdCIHpv)uHG8R(`d)cl1Z4Jxy^PvDuD6@EMh> z1M|JLLJb(egDIdMwQV!#ie^>1?%P!(T~tOS9t8h(#6MQ;8LqnN4qGt8tUz66VDdpp z4&#SQ<>gF4kPn%L@cb}MFxeNZnPydPB%0>66-2Hmxad1oaC34Yghz8a=T^7YP<%s0 zt#qj!Z3%-Y*3<4F9&i)hK*m5eRdCH^0<6D=6s~cQI!)$_o-(9U)_{F*5+rT7o_G>_ zZ)55?egpDgtlp*X4v?#x3XfOz`>%|g z-8Ii%RDcLWMIY6QV6x0q*Z@^r5U~k@=UgcM#dC}nBnY+3i4%*{zZv0{@RLxH73|V` zBrF>lq2h<93YM~u*dHCJ1rMeMe&@`}W;OMJ@bXHdgW%9}=zwAWTt*MX-N=#;DsVOt z+CFfLu%_WpDp%7)eqa?=*1}xd2u(2GaAH>ma8dPbfi}~m2U0agpO_Mfeyh79(Pz+d z6X0l2bCM<8q{%F$JUGZ|>IOKospz-S;aC0=3B3doMc>Z+Uis77WRC@T|pH3{4arBTBTyHj-pBfTrg-88V+dt?+(yD0qU8{Y?hg3L_8Lv5~sc0#fq zw-`<{B4$J4@o$Cz!DZ&oU*YgoQQ>MHS*#hgkYpCHMUJ`pXlXRHgGXL1XYBDGT+V($ z^TBiLHbbM&h;l8WXgFLugYs3WPTAYOgP;YzESR=Cxtn^p#P{S|a zx;DOyzS54OWr$yf+aUQ9`O{i%F^fK*aponZ%pLMvgJbY1bx@D6cKVhZ;VnS+k>w*Cve|-C zhnifi^0#l^rbX#XJk_E(NSX8hzL-5HE|5joi#DhoarYr*W$R*dKf{NDC_2>W#bUWm z`xI^9Od~HrtJDb~+PP2`5w|sWYh+rmZqg0?l1N1JUDctXVH)_8(nKKfK=hiT=&ni2 z^X)kzx$pTlI8~huAJvy6%+zjSUEc=(trb6c+&@bV0IW&BW4ZC9ZnZZt-V0r#b>MKe z@GT*sf6N`9!U*g^(^-NC>LP@ALm_{XQ>cME=e)c_J>#R+oClv;Bbq{UTvnOmk7Xkw z&|eP5gBL!U9vHzh4M7cK`aqGF_yjQV2bNLc8l5b=fQ%b5H%Rz zYAv14x)hWektb(fcO#5}Z8#BsIPD5$qia_835MUI%5i#A19+$}Spa^`nDGLdZ7cf< z%t59-!C^gr|LlhW;yVRzF&aq;5w0T+O$VE&l)W2THB@S!ha)+Ff#C{tT_4Q{_EeYBKNu4w$c1$zAmoV6P(q!(I1+rygf zhes4Mi@u2WOu}Lid4|~VHeNN0(A+tJ0xMX?B9^C?VRj8!v{Ti4Ej}*}?WY^hxD4q= zP_|tnhU{|hYpVAmLL>Z2*X^k*2z&Y}m%2Q9;k7UMFOWnCUrYRG6u#6Z!)b9A%C_t9 zNf39BFlAPq(>MQ7`S0uRxZs|d9*$gKh1B?gTUv2d%83NtSLCKXuQhZEq$h1myZ%*d zjHVSGPugo-mJdyjn<;&wELgJDwxpcxVSa}PAVHHbwIoDX%xw0M7tLQ~NyHva z(P>Kg9U0xjW;qN@V8=YethXv4nEb>F`4K42*uA4#HqE z6yL)ocX>W&rIL9D+F;)0lsEfj*QwiwDvnvA;&>p`ul%!}yG2d@0(`ZR=EH{yW|uih zr=>kcEOfd5aUa&XJ}**(&$7V=GJh!^Mstqc8~y}%g1E~mZk&(o1G^E!>T^|(&polK z(t;*7<-x0mp(`5F8}@J$V!A9f4KeRc|t3&h^>hR-FMjig-YHC=V z8aWBD)xwt2O6S4^zxK3o-9Mz%3Cb`o^P)#jImd)I!V~7L|xo^zk+dmkC~Mcj`Ee5?=eyL=n3mI)|C{u;I$8 zesef{=!6Bn!6+AlTOhoV_+|mxk2aZ6<-YiG{yG#Yoko1Letg;QMmX10^ji7bKRN={ zHODTanZ=Z?fxsQ&vf-apfrZxFyHEBlsV}Dp25XmFFIJOJD8oFr3XE$?4Z&m{mZa$& z1zPl@)bXBRl8Q5st`(G$NJt=?qly?{wa0>BfILy_3F4?=_4FXkZADs5g=Bz?|(_)+{_8%3kZ8bNu)lGz> z72F+-*DG})MLFK=(gix~9p}TRIKUVHC(%x>XlQ2{*qYVDR%=?9d>C}O5W6U(HS`xD zMs{6i!Br2Un<#LflC0@oxADuw=vMDd2e8#b=IN zApW*g^EN&$nzVyM;JR|+??vJgic+wXpz6Q4YcRn9(*#lkY|^A2k+sA4e9?Yt*|SP2 zq^$!MfI2H#1~~F9auWK{03742TC9G~1$t{#(+Di|%-xZil})1(QyT3aNoMrpgGhLoPeoBsx%J!_>1AgYy%8KgO|hwxaW?}gVA^bky{ z!%-`FJL$Jxn3P%7g#$^deW(pHPG5w94{bi6(Y^95o6LdE0rDHT3={gCVG8utbQwht zdxcL>`&U2>x^avPy`>3O@@KeKjE}j01Cx!2Ihn_|(N+qCi%`L2#Wm)yThbJ8Pd~G# zSPNgH1&#tgC2hLEqjPSWfuOS){|1N+uzyw;9ptiJpChuV8}H7kd~70}`_UV>tykJX zvZ6EtP4Zn|>hXy<&-FM0#rP>^f_f^Hbe_H(dty`F1hH3q{-j#*$rhcd;X5GP_Ft7K zc?E=`Ts!0oEC~ds2K;j^ATro5MSyFgIRZ$izj$}r(#hbOcP2dwrTbzMz+*~CaAUHl ziSp5};FcBe1&SZ)zgw-%4ra~V0RJe-mD2BXMJ z-as*$MLY&OigS-Ktga9TiJKh9I7^v7DE-z}%BaP_3}ny^+;+Zolp0<$ca66Ex`?|8R{t?U4R?iz6kDq0*by&$Al3@Ag|wyb z4~%lbHF6nTxKsSxg*ZzYTshXTLmO(M5i}k~g&Id)RXGvp8E(j$w|MGAlPxtk5WYCbj$qqk_xWL4ABZ(XB!E0r{@k~p2Z>NN-7WbD3 zTu5Ao?NMG9-fv87V)|Zz&I75dnB`h^!vegVJll*uBN{XtnQ2oW3dlv;LN0a~@Aj5& z)-v3$O5pM!@;nG&kOz?dKeHV!L0gVmsly2(?JH2__Rk&v-CT$_Boaqpb5|%$lic7Q z0_CFQEPeSp_|G|4`uCGWsP1d7vw1Qd3?!iGlr5`6HQ0W<5>tts|fel4VlsZkw9Zt$<_g<9|wQzUJD#(@P-O zlQ@$(@EsynK*AlB>O;vJQ*v2g5y(9cg>k&+cI2v-{79L{`R%+Pap8tQ=ca)9^T1as z5u{M%gi4+>2tK$?7rH)O>`4y;B2f%UpI@~WuZWVwuAUj3h9Sosh0<`t5K*E@nThfSJ(jNY<## z0QWqkZfbQ2KB6VNRBJ>BF(TU-Ceai0JGlsWGo>X&w+|kmL0W+a&bVcYzYPG6%&I_+ z=00hdHt9y};yd0-u5OQYD{_AblOQ;m(M1vrNr%^KyHC>H2 z74n68N6B3*i4`>CONAxGWhk_vOjyLw2(e8K(U>|7%4Z&kA&gKM!j1rVm;>+=piGMh zRmXN;{B5XFa|Og|96eRj6M_o>13sf)GZW7Me{8swN;B1y@B9YU86QH4Vo|F8GtEbR zg+UaFc^3`%5EmG+3y6EfVwA=$1amYohAN(MAeKeOz%qTXY<>JZ%ALymEV)VAZRorg zecQgNf;b71&Xq&>ef9)L(ouSq4{g4NbVQG4KnjzTRqJyv!QMwjr4V)>Bwa(T)KYy# z8=2|)j%DnZrr^#ZtI2Mw#Q5b-4Ut#O?qtdI*fCE)&&-f0yhH(wGzy+$M%Dz+3kOgQ! zaH~n$9pJn({c5VrF0kC^dU#wN;>H2Kc-wypH;QvF#{hgBYU>4SA#M=$*H>>ASH3e- zttCycCd>qiVv33&gBQgu6)S?)s@8-0i*Q1Qwm$EwE}Ry^-MLShur9?h2=SxEZ9fkD zhWlh*-+^mS#r}z&C}{}WA2G%-Fq0tkxBC#Jj@FH1%cJB5@gdfep>pAZ97e#x3V!#q;kmf7798FVKN0G}7ke=sw*? z$2v2d@NSO20V1UHJcuBOw+KHter0G$Y>K--XyOo-CWJe*kQIkQJY*BUJ6ctx2YvAr z)+3@n8IiDQ6Q4zPYmwt1S0nA;ExfVQ-vrM6n?8hH^xAlx1~~EzLJajk$0t!j>VrBW z!&Qlo#)l!yioOu-$}w5YU%Q!ni3%5H9wp9d*9A{BrIY5U;~SOkXUCVoy2>s6n?3@%hU{DUu7^VJeh z(R%9%^dJ|F++9iX(P<&7qJxphi0Nn_jhI58M91A%muw^*z4CPp21P&Nf18ANSYam- zDp!8a>sa!>G1cl(2S7%k>?JJrd~dr+*mV9;;^(qSDS(H#p@UNiUFe@cbPncznbym{ zmmH?tb!U7D5Lv==LM=>QqBH1eFS(Cqq~##y>e7!C!DPX{-t-QR9k?{WUoakfbNmFD zs9&)`p*fq|*Kn%3rgftBznw{JLVOzBhsXDiuIuGH+*0X-c_yHN#s1p9`(EAnxg+Bj zhw!Tu0Y`2j{*m5a)A9Dtmu80_N_ZeSX|#X_HgK`UGyzZ8;|1eu#LMS4)k0^P7oOsu z-#BN z#F>C1uE~-YCYC}kbMv$?sUEnlC0pTl&8ujf%&wR*{>OXN0hzc?`fGEBmINWTo%Mas zqeAlA_!`~9D~I?o$+!N^tyR@_7F73Er~{UUqw|49mcs3$OYXT!^iX#rX*bo>hB${j ztIfDpaKF>x=4khap-4L6NtbV5c})Fn76varf9|{{dK=8AM&Ic@Ijncv>pPXOY)-ZS zAL$Z@ypJIQCS;~QSaHC%3TK!GJGO&hdi4EYwC@=u%5c9SP9Kr5cl-n_qQQG37Upx_ zvBE5ojT~$6gZX#i#RTK!L^W6Ph1YmL+7Y;Qg=4^1>4!t-^od~g@uey_8lN>&F zc8LE^#VJw6fO<1vj^vH&&_kk=c8U96w12!vLeQ2endb0$gJ|OK(^rwk$_wrM;p7{o zsx82mir40?N2V$^iu>3|}*uTfE{MQwio02_&GrG+j zZ#DN_Bam?3zIvDP*XT@p5}u-|FU#+_pHiNPE#FnD;$a0c;ZZ&UAV^o|ST&f>2$&`Oa64#R<#&p^MBjV5S;Q_w1!vaHSznalqqnP7 zT0O~J@Zc#pm$EwP*xjs^?7^U<6VqjWPLH_qpuMlHMK~R;dS=#Ni*P z&)@AoRy6ew?RCMEasFDB8Kk(FvWlm8?fAjA_7j-qu`2n5{XJ(-5T@CB53C)o9Edd7 z@K1K3;(fD92ny-4Dxw3mGT;g21_cpD)uvzw^yC-jzx#s`cQQO9YyN(DUJ$ujwF=_; z02cBfHheQW$O2LYMMJFy*w7YECI4$U85uNw{fWw=UBv)04ZMo@j7FPx^%->?m?iZ3 zLlt-!)ferb^ji?MW2l2O5Rp0ht2SHjzRD7i0VrxIl?h-dW<1I7LflsFu9X<|*sH=N zaO%t7r~fSKuC8);H69tI`T{A`kx!ow?QfE%h#~ZRMpu1MG3SE0o2%olLTM%KYrs9P;|Xtj z9%a5B^tnHFF(dNI=z-2;@p!>R3!R7Ob+S^3E;Y&UH@0l*sFt3iCe*9#`8#Vxfy2b( zP{NEIX9)^HwEmUQG@s28*n&Q_uM4Dgi)pD5vM#N}v4T~q%Miw;;)XmkaVLX$M>(`d zW}8}<<5d0l>_rnc{+y#Xj(29~J&O1@;-xhKcx_AY6r4{(sp;j)%CV8({Sa_wYhUeI zRqPcOAxcX58@X0x35%XFw)y*PBc#$0;0zPE!aGy?o}m# z+yy{D=Wlr*T4JNez#q9vp(5$v;qdREJ+h0N^s>EPhOy-P}(L=8vj#C z2Zr>n%FEeGgItvhm`KtDcqYoF$cOrW71t|oX^Cbij-SZ$Tn4qOw1<+_z(z}{5AH7z zCsjCr(EL5@pw7bPE?l_LVa}t=yT>AF1cfVQn8N6gvb4^GsD;?DDDlV0p5S&TRaTG6 z4NQ!hWRN)3ikf@Z@_1hzx(>`^VG9V)uAcXgGgLjD6T!nU1b@kPqK+)`N=qsN*1TvB z{j_<-xhlI>)mI=tJuxZBpq_tf`?n8+w9kPWuw}TukF`HLO1Y$2RSI&&L<;n4!=SP! zD0+*bBu+YOB-H04=YOYPjeP?+8y;M$D+UEg z+e&9wUjZ_wG0Nlbu8nVdFYw3LM`VbhnD7_;CyKz&{*7HTJ`EucLa%DKzc={r&XWFyfxE+_k_P3EtJzq52PL`o z(%!#2OO)RsX$7g@&mJ%#2QJ+Go&PSG26)A^#y*YpU*=U$*J`g>u|DojnxbWd( zL%^$O=f|J-~P*zHYInrtpB@j z{9^32ualb1uELM{`iWx)z6MjjEaNV MehYkyyhSPh1938{C;$Ke diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/meta.json index c0a295d7d1..12a95021c6 100644 --- a/Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/meta.json +++ b/Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/meta.json @@ -19,9 +19,6 @@ { "name": "mag-0" }, - { - "name": "laser" - }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/White/Effects/LightMasks/lightModule.png b/Resources/Textures/White/Effects/LightMasks/lightModule.png new file mode 100644 index 0000000000000000000000000000000000000000..66d006976809a0988b225f6b021b1d7a9156a847 GIT binary patch literal 21672 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Objects/Weapons/modules.rsi/accelerator.png b/Resources/Textures/White/Objects/Weapons/modules.rsi/accelerator.png new file mode 100644 index 0000000000000000000000000000000000000000..99fffd9ee616f5ea86482d715c0346a710796b87 GIT binary patch literal 2801 zcmVuJ@VVD_U zC<6{NG_fI~0ue<-1QkJoA_k0xBC#Thg@9ne9*`iQ#9$OrQF$}6R&?d%y_c8YA7_1Q zpS|}zXYYO1x&V;8{kgn!SPFnNo`4_X z6{c}T{8k*B#$jdxfFg<9uYy1K45IaYvHg`_dOZM)Sy63ve6hvv1)yUy0P^?0*fb9UASvow z`@mQCp^4`uNg&9uGcn1|&Nk+9SjOUl{-OWr@Hh0;_l(8q{wNRKos+;6rV8ldy0Owz z(}jF`W(JeRp&R{qi2rfmU!TJ;gp(Kmm5I1s5m_f-n#TRsj}B0%?E` zvOzxB2#P=n*a3EfYETOrKoe*ICqM@{4K9Go;5xVgZi5G41dM~{UdP z6d+Yd3o?MrAqM0Kc|iV92owdyL5UC#5<>aVCa44|hpM4Es0sQWIt5*Tu0n&*J!lk~ zf_{hI!w5`*sjxDv4V%CW*ah~3!{C*0BD@;TgA3v9a1~q+AA{TB3-ERLHar49hi4Ih z5D^-ph8Q6X#0?2VqLBoIkE}zAkxHZUgRb+f=natP#6>iMMoK->`~sRLq)(kHo*Vn{;LcG6+e zdD1=7D>9j^O?D{Qg|tCDK{ym)H7&wDr6*;uGTJg8GHjVb znL{!cWyUB7MT6o-VNo_w8Yq`2<5Ub)hw4L3rj}5@qxMs0WMyP6Wy582WNT#4$d1qu znl{acmP#w5ouJ*Jy_Zv#bCKi7ZIf$}8dZdVy&)LYdbX%I9R8VMQ|8r>Q*nyQ)sn)#Z|n)kKvS`4iutvy=3T65Yu+7a4Yv^%sX zb>ww?bn(=Yu(!=O6^iuTp>)p_Y^{w=i^lS773}6Fm1Fpe-gF!>I zp{*g$u-szvGhed; zvo5pW&GpS$<~8QGEXWp~7V9lKEnZq0SaK{6Sl+dwSOr*ZvFf(^Xl-N7w{EeXveC4O zv)N}e%%C!Y7^RFWwrE>d+x51mZQt2h+X?JW*!^a2WS?Sx)P8cQ&Qi|OhNWW;>JChY zI)@QQx?`Nj^#uJBl~d&PK+RZLOLos~K(b5>qmrMN0})tOkySZ3_WICNY@+|jrX%s^&6b2i>5 zeqa0y%Z;^%^_=a@u3%4b9605ii3Ep)@`TAmhs0fpQ%O!ql}XcFH*PieWwLj2ZSq`7 zV9Mc?h17`D)-+sNT-qs~3@?S(ldh7UlRlVXkWrK|vf6I-?$tAVKYn8-l({mqQ$Q8{ zO!WzMg`0(=S&msXS#Pt$vrpzo=kRj+a`kh!z=6$;cwT88(J6|n-WB%w`m$h~4 zpmp)YIh_3ETV2tjiAU!0h1dxU-n=E9e!)6|Z;4?!H=SSy{V>ut&IOq{_dlbFb#!9eY1iCsp6Bajj|H zr?hX|zPbJE{X++w546-O*Ot`2Kgd0Jx6Z4syTu9enWavU5N9)I?I-1m1* z_?_rJ$vD~agVqoG+9++s?NEDe`%Fht$4F;X=in*dQ{7$mU2Q)a|9JSc+Uc4zvS-T9 z63!N$T{xF_ZuWe}`RNOZ7sk3{yB}PPym+f8xTpV;-=!;;JuhGEb?H5K#o@~7t9DmU zU1MD9xNd#Dz0azz?I)|B+WM{g+Xrk0I&awC=o(x)cy`EX=)z6+o0o6-+`4{y+3mqQ z%kSJBju{@g%f35#FZJHb`&swrA8dGtepviS>QUumrN{L@>;2q1Vm)$Z)P1z?N$8UY zW2~{~zhwUMVZ87u`Dx{Z>O|9|`Q+&->FRy-Sjp7DHsy69KwU-!MxeeuI@&cF4| zM9z%AMnyU08;%U~nV8fH3Y-|^L1Kl!%Q^>r*zNAg+PT2p00i_>zopr05qp6uK)l5 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/laser.png b/Resources/Textures/White/Objects/Weapons/modulesOnWeapon.rsi/laser.png similarity index 100% rename from Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/laser.png rename to Resources/Textures/White/Objects/Weapons/modulesOnWeapon.rsi/laser.png diff --git a/Resources/Textures/White/Objects/Weapons/modulesOnWeapon.rsi/light.png b/Resources/Textures/White/Objects/Weapons/modulesOnWeapon.rsi/light.png new file mode 100644 index 0000000000000000000000000000000000000000..c4328d7c12c0a37971ac88002d242e8c876e2b85 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|Bm#UwT!FN? znN?{?rKE(^GASu9FRxk#h7B7wEKKoQ43y(23GxeO`2YX^kN^K~ycNIs04OHo>Eak- w(VLtg!Ky4{U}W@YYC0=pnU_dUlOi`m%PR(#>5gwTfa(}LUHx3vIVCg!0J}FVIRF3v literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Objects/Weapons/modulesOnWeapon.rsi/meta.json b/Resources/Textures/White/Objects/Weapons/modulesOnWeapon.rsi/meta.json new file mode 100644 index 0000000000..82d692646c --- /dev/null +++ b/Resources/Textures/White/Objects/Weapons/modulesOnWeapon.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "made by CaypenNow", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "laser" + }, + { + "name": "light" + }, + { + "name": "flamehider" + }, + { + "name": "silencer" + }, + { + "name": "accelerator" + } + ] +} diff --git a/Resources/Textures/White/Objects/Weapons/modulesOnWeapon.rsi/silencer.png b/Resources/Textures/White/Objects/Weapons/modulesOnWeapon.rsi/silencer.png new file mode 100644 index 0000000000000000000000000000000000000000..c51e1f4c8f860f931b3f59f4461cd2f081dd2d86 GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|L<4+6T!FN? znN?{?rKE(^GASu9FRxk#h97(X9|B6Smjw9*GyMPm|HuFT3k){Y0fodpT^vI!dXp0* mSPwIAU}8+=ayzKuz|IhNfI&0$=T=jo5(ZCKKbLh*2~7YUv?!JU literal 0 HcmV?d00001