Added weapon pictures. Modified layout to scale better
|
@ -3,7 +3,7 @@
|
|||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<DragonBornModPath>SkyrimVR\Data\Plugins\Sumwunn</DragonBornModPath>
|
||||
<DragonBornUrl>https://github.com/YihaoPeng/DragonbornSpeaksNaturally/releases/download/v0.21.0-beta/DSN-0.21.0-win64.zip</DragonBornUrl>
|
||||
<DragonBornUrl>https://github.com/YihaoPeng/DragonbornSpeaksNaturally/releases/download/v0.21.0-beta/DSN-0.21.0-win64.zip</DragonBornUrl>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
|
@ -85,16 +85,13 @@
|
|||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="weapon_map.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="FodyWeavers.xml" />
|
||||
<Content Include="static\index.css">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="static\index.html">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="static\index.js">
|
||||
<Content Include="static\**\*.*">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
@ -104,47 +101,43 @@
|
|||
<FoMod Include="fomod\info.xml" />
|
||||
<FoMod Include="fomod\ModuleConfig.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<IniFile Include="DragonbornSpeaksNaturally.SAMPLE.ini" />
|
||||
</ItemGroup>
|
||||
<Target Name="ConcatIniFile">
|
||||
<!-- List all the files you want to concatenate. -->
|
||||
<ItemGroup>
|
||||
<ConcatFiles Include="
|
||||
$(ProjectDir)\$(OutputPath)\..\DragonbornSpeaksNaturally.SAMPLE.ini;
|
||||
$(ProjectDir)\DragonbornSpeaksNaturally.SAMPLE.ini"/>
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Read the contents of the files (preserving tabs/spaces). -->
|
||||
<ItemGroup>
|
||||
<FileContents Include="$([System.IO.File]::ReadAllText(%(ConcatFiles.Identity)))"/>
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Write the result to a single file. -->
|
||||
<WriteLinesToFile File="$(ProjectDir)\$(OutputPath)\..\DragonbornSpeaksNaturally.SAMPLE.ini" Lines="@(FileContents)" Overwrite="true" />
|
||||
</Target>
|
||||
<Target Name="CopyDragonbornNaturallySpeakingOriginal" AfterTargets="Build">
|
||||
<ItemGroup>
|
||||
<DragonBornOutputs Include="$(ProjectDir)\$(OutputPath)\**\*.*" Visible="false" />
|
||||
<IniFile Include="DragonbornSpeaksNaturally.SAMPLE.ini" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<DragonBornShimGen><![CDATA[
|
||||
<Target Name="ConcatIniFile">
|
||||
<!-- List all the files you want to concatenate. -->
|
||||
<ItemGroup>
|
||||
<ConcatFiles Include="
 $(ProjectDir)\$(OutputPath)\..\DragonbornSpeaksNaturally.SAMPLE.ini;
 $(ProjectDir)\DragonbornSpeaksNaturally.SAMPLE.ini" />
|
||||
</ItemGroup>
|
||||
<!-- Read the contents of the files (preserving tabs/spaces). -->
|
||||
<ItemGroup>
|
||||
<FileContents Include="$([System.IO.File]::ReadAllText(%(ConcatFiles.Identity)))" />
|
||||
</ItemGroup>
|
||||
<!-- Write the result to a single file. -->
|
||||
<WriteLinesToFile File="$(ProjectDir)\$(OutputPath)\..\DragonbornSpeaksNaturally.SAMPLE.ini" Lines="@(FileContents)" Overwrite="true" />
|
||||
</Target>
|
||||
<Target Name="CopyDragonbornNaturallySpeakingOriginal" AfterTargets="Build">
|
||||
<ItemGroup>
|
||||
<DragonBornOutputs Include="$(ProjectDir)\$(OutputPath)\**\*.*" Visible="false" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<DragonBornShimGen><![CDATA[
|
||||
"$(SolutionDir)\packages\chocolatey.0.10.14\tools\chocolateyInstall\tools\shimgen.exe" --output="$(ProjectDir)\$(OutputPath)\..\DragonbornSpeaksNaturally.exe" -p="$(AssemblyName)\$(AssemblyName).exe"
|
||||
]]></DragonBornShimGen>
|
||||
<DragonBornPluginRoot>$(ProjectDir)\$(OutputPath)\..\..\..\..\..</DragonBornPluginRoot>
|
||||
<DragonBornSEOutputPath>$(DragonBornPluginRoot)\SkyrimSE\Data\Plugins\Sumwunn\$(AssemblyName)</DragonBornSEOutputPath>
|
||||
</PropertyGroup>
|
||||
<DownloadFile SourceUrl="$(DragonBornUrl)" DestinationFolder="$(IntermediateOutputPath)" DestinationFileName="dsn.zip" />
|
||||
<DragonBornPluginRoot>$(ProjectDir)\$(OutputPath)\..\..\..\..\..</DragonBornPluginRoot>
|
||||
<DragonBornSEOutputPath>$(DragonBornPluginRoot)\SkyrimSE\Data\Plugins\Sumwunn\$(AssemblyName)</DragonBornSEOutputPath>
|
||||
</PropertyGroup>
|
||||
<DownloadFile SourceUrl="$(DragonBornUrl)" DestinationFolder="$(IntermediateOutputPath)" DestinationFileName="dsn.zip" />
|
||||
<Unzip SourceFiles="$(IntermediateOutputPath)\dsn.zip" DestinationFolder="$(ProjectDir)\$(OutputPath)\..\..\..\..\.." />
|
||||
<Move SourceFiles="$(ProjectDir)\$(OutputPath)\..\DragonbornSpeaksNaturally.exe" DestinationFiles="$(ProjectDir)\$(OutputPath)\..\DragonbornSpeaksNaturally.Original.exe" />
|
||||
<Exec Command="$(DragonBornShimGen)" />
|
||||
<CallTarget Targets="ConcatIniFile" />
|
||||
<Copy SkipUnchangedFiles="true" SourceFiles="@(DragonBornOutputs)" DestinationFolder="$(DragonBornSEOutputPath)" />
|
||||
<CallTarget Targets="ConcatIniFile" />
|
||||
<Copy SkipUnchangedFiles="true" SourceFiles="$(ProjectDir)\$(OutputPath)\..\DragonbornSpeaksNaturally.exe" DestinationFolder="$(DragonBornSEOutputPath)\.." />
|
||||
<Copy SkipUnchangedFiles="true" SourceFiles="$(ProjectDir)\$(OutputPath)\..\DragonbornSpeaksNaturally.Original.exe" DestinationFolder="$(DragonBornSEOutputPath)\.." />
|
||||
<Copy SkipUnchangedFiles="true" SourceFiles="$(ProjectDir)\$(OutputPath)\..\DragonbornSpeaksNaturally.SAMPLE.ini" DestinationFolder="$(DragonBornSEOutputPath)\.." />
|
||||
<Copy SkipUnchangedFiles="true" SourceFiles="@(FoMod)" DestinationFolder="$(DragonBornPluginRoot)\fomod" />
|
||||
<ZipDirectory SourceDirectory="$(DragonBornPluginRoot)" DestinationFile="$(DragonBornPluginRoot)\..\DragonbornSpeaksNaturallyApi.$(Configuration).zip" />
|
||||
<Delete ContinueOnError="true" Files="$(DragonBornPluginRoot)\..\DragonbornSpeaksNaturallyApi.$(Configuration).zip" />
|
||||
<ZipDirectory SourceDirectory="$(DragonBornPluginRoot)" DestinationFile="$(DragonBornPluginRoot)\..\DragonbornSpeaksNaturallyApi.$(Configuration).zip" />
|
||||
</Target>
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace EmpathicQbt.ConsoleServer {
|
|||
{
|
||||
ItemId = 666,
|
||||
TypeId = 999,
|
||||
FormId = 222,
|
||||
FormId = 0x00013985,
|
||||
IsSingleHanded = true,
|
||||
ItemName = "Wabbajack",
|
||||
},
|
||||
|
@ -35,7 +35,7 @@ namespace EmpathicQbt.ConsoleServer {
|
|||
{
|
||||
ItemId = 666,
|
||||
TypeId = 999,
|
||||
FormId = 222,
|
||||
FormId = 0x99999999,
|
||||
IsSingleHanded = true,
|
||||
ItemName = "Wabbajack2",
|
||||
},
|
||||
|
@ -43,7 +43,7 @@ namespace EmpathicQbt.ConsoleServer {
|
|||
{
|
||||
ItemId = 666,
|
||||
TypeId = 999,
|
||||
FormId = 222,
|
||||
FormId = 0x00013985,
|
||||
IsSingleHanded = true,
|
||||
ItemName = "Wabbajack3",
|
||||
},
|
||||
|
@ -51,7 +51,7 @@ namespace EmpathicQbt.ConsoleServer {
|
|||
{
|
||||
ItemId = 666,
|
||||
TypeId = 999,
|
||||
FormId = 222,
|
||||
FormId = 0x00013985,
|
||||
IsSingleHanded = true,
|
||||
ItemName = "Wabbajack4",
|
||||
},
|
||||
|
@ -59,7 +59,7 @@ namespace EmpathicQbt.ConsoleServer {
|
|||
{
|
||||
ItemId = 666,
|
||||
TypeId = 999,
|
||||
FormId = 222,
|
||||
FormId = 0x00013985,
|
||||
IsSingleHanded = true,
|
||||
ItemName = "Wabbajack5",
|
||||
},
|
||||
|
@ -67,7 +67,7 @@ namespace EmpathicQbt.ConsoleServer {
|
|||
{
|
||||
ItemId = 666,
|
||||
TypeId = 999,
|
||||
FormId = 222,
|
||||
FormId = 0x00013985,
|
||||
IsSingleHanded = true,
|
||||
ItemName = "Wabbajack6",
|
||||
},
|
||||
|
@ -75,7 +75,7 @@ namespace EmpathicQbt.ConsoleServer {
|
|||
{
|
||||
ItemId = 666,
|
||||
TypeId = 999,
|
||||
FormId = 222,
|
||||
FormId = 0x00013985,
|
||||
IsSingleHanded = true,
|
||||
ItemName = "Wabbajack7",
|
||||
},
|
||||
|
@ -83,7 +83,7 @@ namespace EmpathicQbt.ConsoleServer {
|
|||
{
|
||||
ItemId = 666,
|
||||
TypeId = 999,
|
||||
FormId = 222,
|
||||
FormId = 0x00013985,
|
||||
IsSingleHanded = true,
|
||||
ItemName = "Wabbajack8",
|
||||
},
|
||||
|
|
|
@ -3,6 +3,7 @@ using IniParser.Model;
|
|||
using Nancy;
|
||||
using Nancy.ModelBinding;
|
||||
using Nancy.Responses;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
|
@ -19,18 +20,48 @@ namespace EmpathicQbt.ConsoleServer {
|
|||
}
|
||||
|
||||
public class ServerModule : NancyModule {
|
||||
private string[] weaponImages;
|
||||
private SkyrimInterop skyrimInterop;
|
||||
private IDictionary<string, string> weaponMap;
|
||||
|
||||
public ServerModule(SkyrimInterop skyrimInterop)
|
||||
public ServerModule(SkyrimInterop skyrimInterop, IRootPathProvider pathy)
|
||||
{
|
||||
this.weaponImages = Directory.GetFiles(pathy.GetRootPath() + "/static/weapons");
|
||||
this.weaponMap = JsonConvert.DeserializeObject<IDictionary<string, string>>(File.ReadAllText(pathy.GetRootPath() + "/weapon_map.json"));
|
||||
|
||||
this.skyrimInterop = skyrimInterop;
|
||||
Get("/api/ping", _ => DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString());
|
||||
Get("/api/favorites", GetFavorites);
|
||||
Post("/api/command", PostCommand);
|
||||
Get("/", _ => Response.AsFile("static/index.html"));
|
||||
Get("/weapons/{filename}.png", GetImage);
|
||||
Get("/{filename}", _ => Response.AsFile("static/" + (string)_.filename));
|
||||
}
|
||||
|
||||
public object GetImage(dynamic x) {
|
||||
string filename = x.filename;
|
||||
foreach(var kvp in weaponMap)
|
||||
{
|
||||
if(filename.EndsWith(kvp.Key))
|
||||
{
|
||||
return Response.AsFile($"static/weapons/{kvp.Value}.png");
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var weaponImage in weaponImages)
|
||||
{
|
||||
var weaponName = Path.GetFileNameWithoutExtension(weaponImage);
|
||||
if (filename.EndsWith(weaponName))
|
||||
{
|
||||
return Response.AsFile(weaponImage);
|
||||
}
|
||||
}
|
||||
|
||||
Trace.TraceWarning("Item image missing: " + filename);
|
||||
|
||||
return Response.AsJson(new { status = "error" }, HttpStatusCode.NotFound);
|
||||
}
|
||||
|
||||
public object PostCommand(dynamic x) {
|
||||
var cmd = this.Bind<CommandRequest>();
|
||||
skyrimInterop.SubmitCommand("COMMAND|" + cmd.Command);
|
||||
|
|
|
@ -48,6 +48,7 @@ You cannot install the loader via any MOD manager (But DSN can be installed via
|
|||
You can find the loader here: https://www.nexusmods.com/skyrimspecialedition/mods/3619]]></description>
|
||||
<files>
|
||||
<folder source="SkyrimSE\Data" destination="" priority="0"/>
|
||||
<folder source="SkyrimVR\Data\Plugins\Sumwunn\EmpathicQbt.ConsoleServer" destination="Plugins\Sumwunn\EmpathicQbt.ConsoleServer" priority="0"/>
|
||||
<file source="fomod/DSN-installed.md" destination="SKSE/DSN/DSN-for-SkyrimSE-installed.md" priority="0"/>
|
||||
</files>
|
||||
<typeDescriptor>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
* {
|
||||
box-sizing: border-box;
|
||||
font-family: sans-serif;
|
||||
font-size: 4.3vh;
|
||||
font-size: 3.8vh;
|
||||
font-weight: 700;
|
||||
color: #fff;
|
||||
margin: 0;
|
||||
|
@ -11,11 +11,12 @@
|
|||
|
||||
html, body {
|
||||
background-color: #0f0;
|
||||
min-height: 99vh;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.2em;
|
||||
margin: .5em 0;
|
||||
margin: 1vh;
|
||||
}
|
||||
|
||||
#content {
|
||||
|
@ -23,16 +24,16 @@ h1 {
|
|||
}
|
||||
|
||||
.favorites {
|
||||
padding: 1em;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.favorites li {
|
||||
display: block;
|
||||
list-style-type: none;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.favorites ul {
|
||||
width: 18.1em;
|
||||
flex-wrap: wrap;
|
||||
display: flex;
|
||||
margin: 0;
|
||||
|
@ -42,17 +43,25 @@ h1 {
|
|||
.favorites h1 {
|
||||
text-align: center;
|
||||
vertical-align: middle;
|
||||
height: 8vh;
|
||||
}
|
||||
|
||||
.favorites button {
|
||||
word-wrap: break-word;
|
||||
width: 5.5em;
|
||||
height: 5.5em;
|
||||
margin: .25em;
|
||||
width: 15vw;
|
||||
height: 15vw;
|
||||
margin: .3vw;
|
||||
border: .15em solid black;
|
||||
border-radius: .25em;
|
||||
opacity: 0.8;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.favorites button img {
|
||||
width: 100%;
|
||||
padding: .3em 1.5em .1em 1.5em;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.favorites__left ul {
|
||||
|
|
|
@ -89,7 +89,10 @@ const render = async () => {
|
|||
e('h1', null, 'Left Hand'),
|
||||
e('ul', null, state.favorites.map(item =>
|
||||
e('li', null,
|
||||
e('button', { onclick: () => equip(item, 'left') }, item.itemName),
|
||||
e('button', { onclick: () => equip(item, 'left') }, [
|
||||
e('img', { src: `/weapons/${item.formId.toString(16).padStart(8, '0')}.png` }),
|
||||
item.itemName,
|
||||
]),
|
||||
),
|
||||
)),
|
||||
]),
|
||||
|
@ -97,7 +100,10 @@ const render = async () => {
|
|||
e('h1', null, 'Right Hand'),
|
||||
e('ul', null, state.favorites.map(item =>
|
||||
e('li', null,
|
||||
e('button', { onclick: () => equip(item, 'right') }, item.itemName),
|
||||
e('button', { onclick: () => equip(item, 'right') }, [
|
||||
e('img', { src: `/weapons/${item.formId.toString(16).padStart(8, '0')}.png` }),
|
||||
item.itemName,
|
||||
]),
|
||||
),
|
||||
)),
|
||||
]),
|
||||
|
|
BIN
EmpathicQubit.ConsoleServer/static/weapons/00012e46.png
Normal file
After Width: | Height: | Size: 227 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00012e4b.png
Normal file
After Width: | Height: | Size: 189 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00012e4d.png
Normal file
After Width: | Height: | Size: 211 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00012eb6.png
Normal file
After Width: | Height: | Size: 644 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00012eb7.png
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001359d.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/000135A6.png
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/000135b8.png
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013790.png
Normal file
After Width: | Height: | Size: 82 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013841.png
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013910.png
Normal file
After Width: | Height: | Size: 161 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013911.png
Normal file
After Width: | Height: | Size: 213 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013912.png
Normal file
After Width: | Height: | Size: 226 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013913.png
Normal file
After Width: | Height: | Size: 141 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013914.png
Normal file
After Width: | Height: | Size: 418 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001391a.png
Normal file
After Width: | Height: | Size: 152 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001391c.png
Normal file
After Width: | Height: | Size: 207 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001391d.png
Normal file
After Width: | Height: | Size: 128 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001391e.png
Normal file
After Width: | Height: | Size: 304 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013920.png
Normal file
After Width: | Height: | Size: 117 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013921.png
Normal file
After Width: | Height: | Size: 137 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013922.png
Normal file
After Width: | Height: | Size: 128 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001392a.png
Normal file
After Width: | Height: | Size: 282 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013938.png
Normal file
After Width: | Height: | Size: 224 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013939.png
Normal file
After Width: | Height: | Size: 287 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001393a.png
Normal file
After Width: | Height: | Size: 206 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001393b.png
Normal file
After Width: | Height: | Size: 142 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001393c.png
Normal file
After Width: | Height: | Size: 348 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001393d.png
Normal file
After Width: | Height: | Size: 176 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001393e.png
Normal file
After Width: | Height: | Size: 217 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001393f.png
Normal file
After Width: | Height: | Size: 185 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013940.png
Normal file
After Width: | Height: | Size: 117 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013941.png
Normal file
After Width: | Height: | Size: 222 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013946.png
Normal file
After Width: | Height: | Size: 212 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001394b.png
Normal file
After Width: | Height: | Size: 412 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001394c.png
Normal file
After Width: | Height: | Size: 185 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001394d.png
Normal file
After Width: | Height: | Size: 505 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001394e.png
Normal file
After Width: | Height: | Size: 223 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001394f.png
Normal file
After Width: | Height: | Size: 106 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013950.png
Normal file
After Width: | Height: | Size: 342 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013951.png
Normal file
After Width: | Height: | Size: 139 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013952.png
Normal file
After Width: | Height: | Size: 289 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013953.png
Normal file
After Width: | Height: | Size: 218 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013954.png
Normal file
After Width: | Height: | Size: 131 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013955.png
Normal file
After Width: | Height: | Size: 530 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013956.png
Normal file
After Width: | Height: | Size: 188 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013957.png
Normal file
After Width: | Height: | Size: 209 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013958.png
Normal file
After Width: | Height: | Size: 152 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013959.png
Normal file
After Width: | Height: | Size: 77 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001395b.png
Normal file
After Width: | Height: | Size: 148 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001395c.png
Normal file
After Width: | Height: | Size: 225 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001395d.png
Normal file
After Width: | Height: | Size: 178 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001395e.png
Normal file
After Width: | Height: | Size: 122 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013960.png
Normal file
After Width: | Height: | Size: 112 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013961.png
Normal file
After Width: | Height: | Size: 182 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013962.png
Normal file
After Width: | Height: | Size: 125 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013963.png
Normal file
After Width: | Height: | Size: 106 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013964.png
Normal file
After Width: | Height: | Size: 232 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013965.png
Normal file
After Width: | Height: | Size: 260 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013966.png
Normal file
After Width: | Height: | Size: 309 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013967.png
Normal file
After Width: | Height: | Size: 195 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013968.png
Normal file
After Width: | Height: | Size: 240 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013969.png
Normal file
After Width: | Height: | Size: 182 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001396a.png
Normal file
After Width: | Height: | Size: 154 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001396b.png
Normal file
After Width: | Height: | Size: 207 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001396c.png
Normal file
After Width: | Height: | Size: 212 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001396d.png
Normal file
After Width: | Height: | Size: 144 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001396e.png
Normal file
After Width: | Height: | Size: 210 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001397d.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001397e.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001397f.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013980.png
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013981.png
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013982.png
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013983.png
Normal file
After Width: | Height: | Size: 92 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013984.png
Normal file
After Width: | Height: | Size: 106 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013985.png
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013987.png
Normal file
After Width: | Height: | Size: 77 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013988.png
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013989.png
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001398a.png
Normal file
After Width: | Height: | Size: 68 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001398b.png
Normal file
After Width: | Height: | Size: 88 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001398c.png
Normal file
After Width: | Height: | Size: 67 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001398d.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001398e.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/0001398f.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013990.png
Normal file
After Width: | Height: | Size: 65 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013991.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013992.png
Normal file
After Width: | Height: | Size: 61 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013993.png
Normal file
After Width: | Height: | Size: 111 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013994.png
Normal file
After Width: | Height: | Size: 126 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013995.png
Normal file
After Width: | Height: | Size: 98 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013996.png
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
EmpathicQubit.ConsoleServer/static/weapons/00013997.png
Normal file
After Width: | Height: | Size: 113 KiB |