mirror of
https://github.com/Impostor/Impostor.git
synced 2026-10-21 05:37:28 +00:00
Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
df65330e0b | ||
|
|
4de7c26880 |
No files matched your search
@@ -10,6 +10,7 @@ WORKDIR /source
|
||||
|
||||
# Copy csproj and restore.
|
||||
COPY src/Impostor.Server/Impostor.Server.csproj ./src/Impostor.Server/Impostor.Server.csproj
|
||||
COPY src/Impostor.Api.Innersloth.Generator/Impostor.Api.Innersloth.Generator.csproj ./src/Impostor.Api.Innersloth.Generator/Impostor.Api.Innersloth.Generator.csproj
|
||||
COPY src/Impostor.Api/Impostor.Api.csproj ./src/Impostor.Api/Impostor.Api.csproj
|
||||
COPY src/Directory.Build.props ./src/Directory.Build.props
|
||||
|
||||
@@ -20,6 +21,7 @@ RUN case "$TARGETARCH" in \
|
||||
*) echo "unsupported architecture"; exit 1 ;; \
|
||||
esac && \
|
||||
dotnet restore -r "$NETCORE_PLATFORM" ./src/Impostor.Server/Impostor.Server.csproj && \
|
||||
dotnet restore -r "$NETCORE_PLATFORM" ./src/Impostor.Api.Innersloth.Generator/Impostor.Api.Innersloth.Generator.csproj && \
|
||||
dotnet restore -r "$NETCORE_PLATFORM" ./src/Impostor.Api/Impostor.Api.csproj
|
||||
|
||||
# Copy everything else.
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
using System.Numerics;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Generator;
|
||||
|
||||
internal static class Extensions
|
||||
{
|
||||
public static string ToCSharpString(this Vector2 value)
|
||||
{
|
||||
return $"new Vector2({value.X}f, {value.Y}f)";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
using System.Collections.Immutable;
|
||||
using System.Linq;
|
||||
using Microsoft.CodeAnalysis;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Generator.Generators;
|
||||
|
||||
public abstract class BaseGenerator
|
||||
{
|
||||
protected SourceProductionContext _sourceProductionContext;
|
||||
protected ImmutableArray<(string RelativePath, string Content)> _files;
|
||||
|
||||
protected BaseGenerator(SourceProductionContext sourceProductionContext, ImmutableArray<(string RelativePath, string Content)> files)
|
||||
{
|
||||
_sourceProductionContext = sourceProductionContext;
|
||||
_files = files;
|
||||
}
|
||||
|
||||
protected string GetFileContent(string path)
|
||||
{
|
||||
return _files.Single(x => x.RelativePath == path).Content;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Immutable;
|
||||
using System.Text.Json;
|
||||
using CSharpPoet;
|
||||
using Microsoft.CodeAnalysis;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Generator.Generators;
|
||||
|
||||
public sealed class EnumGenerator : BaseGenerator
|
||||
{
|
||||
public EnumGenerator(SourceProductionContext sourceProductionContext, ImmutableArray<(string RelativePath, string Content)> files) : base(sourceProductionContext, files)
|
||||
{
|
||||
}
|
||||
|
||||
public void Generate(string name, string? @namespace = null, string? sourceName = null, bool flags = false, CSharpEnumUnderlyingType underlyingType = CSharpEnumUnderlyingType.Int)
|
||||
{
|
||||
var dictionary = JsonSerializer.Deserialize<Dictionary<string, long>>(GetFileContent($"enums/{sourceName ?? name}.json"))!;
|
||||
|
||||
var @enum = new CSharpEnum(name, underlyingType);
|
||||
|
||||
foreach (var pair in dictionary)
|
||||
{
|
||||
var value = flags && pair.Value > 0
|
||||
? $"1 << {Math.Log(pair.Value, 2)}"
|
||||
: pair.Value.ToString();
|
||||
|
||||
@enum.Members.Add(new CSharpEnum.Member(pair.Key, value));
|
||||
}
|
||||
|
||||
if (flags)
|
||||
{
|
||||
@enum.Attributes.Add(new CSharpAttribute("System.FlagsAttribute"));
|
||||
}
|
||||
|
||||
var source = new CSharpFile(@namespace ?? "Impostor.Api.Innersloth") { @enum }.ToString();
|
||||
_sourceProductionContext.AddSource(name, source);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,210 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Immutable;
|
||||
using System.Numerics;
|
||||
using System.Text.Json;
|
||||
using CSharpPoet;
|
||||
using Microsoft.CodeAnalysis;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Generator.Generators;
|
||||
|
||||
public sealed class MapDataGenerator : BaseGenerator
|
||||
{
|
||||
public MapDataGenerator(SourceProductionContext sourceProductionContext, ImmutableArray<(string RelativePath, string Content)> files) : base(sourceProductionContext, files)
|
||||
{
|
||||
}
|
||||
|
||||
private T? Deserialize<T>(string name, string fileName)
|
||||
{
|
||||
return JsonSerializer.Deserialize<T>(
|
||||
GetFileContent($"maps/{name}/{fileName}.json"),
|
||||
new JsonSerializerOptions
|
||||
{
|
||||
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
|
||||
Converters =
|
||||
{
|
||||
new Vector2Converter(),
|
||||
},
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
public void Generate(string name)
|
||||
{
|
||||
var className = name + "Data";
|
||||
|
||||
var spawnInfo = Deserialize<SpawnInfo>(name, "spawn")!;
|
||||
var tasks = Deserialize<Dictionary<int, TaskInfo>>(name, "tasks")!;
|
||||
var vents = Deserialize<Dictionary<int, VentInfo>>(name, "vents")!;
|
||||
var doors = Deserialize<Dictionary<int, DoorInfo>>(name, "doors")!;
|
||||
|
||||
var ventsData = new DictionaryData("VentData", "Vents", writer =>
|
||||
{
|
||||
foreach (var pair in vents)
|
||||
{
|
||||
var id = pair.Key;
|
||||
var vent = pair.Value;
|
||||
|
||||
var connections = "";
|
||||
if (vent.Left != null) connections += ", left: " + vent.Left.Value;
|
||||
if (vent.Center != null) connections += ", center: " + vent.Center.Value;
|
||||
if (vent.Right != null) connections += ", right: " + vent.Right.Value;
|
||||
|
||||
writer.WriteLine($"[{id}] = new(this, {id}, \"{vent.Name}\", {vent.Position.ToCSharpString()}{connections}),");
|
||||
}
|
||||
});
|
||||
|
||||
var tasksData = new DictionaryData("TaskData", "Tasks", writer =>
|
||||
{
|
||||
foreach (var pair in tasks)
|
||||
{
|
||||
var id = pair.Key;
|
||||
var task = pair.Value;
|
||||
|
||||
writer.WriteLine($"[{id}] = new({id}, TaskTypes.{task.TaskType}, TaskCategories.{task.Length}Task),");
|
||||
}
|
||||
});
|
||||
|
||||
var doorsData = new DictionaryData("DoorData", "Doors", writer =>
|
||||
{
|
||||
foreach (var pair in doors)
|
||||
{
|
||||
var id = pair.Key;
|
||||
var door = pair.Value;
|
||||
|
||||
writer.WriteLine($"[{id}] = new({id}, SystemTypes.{door.Room}, {door.Position.ToCSharpString()}),");
|
||||
}
|
||||
});
|
||||
|
||||
var constructor = new CSharpMethod(Visibility.Internal, className, ".ctor")
|
||||
{
|
||||
Body = writer =>
|
||||
{
|
||||
ventsData.WriteInitializer(writer);
|
||||
writer.WriteLine();
|
||||
tasksData.WriteInitializer(writer);
|
||||
writer.WriteLine();
|
||||
doorsData.WriteInitializer(writer);
|
||||
},
|
||||
};
|
||||
|
||||
var @class = new CSharpClass(className)
|
||||
{
|
||||
IsSealed = true,
|
||||
Extends = { "MapData" },
|
||||
Members =
|
||||
{
|
||||
constructor,
|
||||
|
||||
ventsData.CreateProperty(),
|
||||
tasksData.CreateProperty(),
|
||||
doorsData.CreateProperty(),
|
||||
|
||||
new CSharpBlankLine(),
|
||||
|
||||
CreateSimpleProperty("float", "SpawnRadius", spawnInfo.SpawnRadius + "f"),
|
||||
CreateSimpleProperty("Vector2", "InitialSpawnCenter", spawnInfo.InitialSpawnCenter.ToCSharpString()),
|
||||
CreateSimpleProperty("Vector2", "MeetingSpawnCenter", spawnInfo.MeetingSpawnCenter.ToCSharpString()),
|
||||
CreateSimpleProperty("Vector2", "MeetingSpawnCenter2", spawnInfo.MeetingSpawnCenter2.ToCSharpString()),
|
||||
},
|
||||
};
|
||||
|
||||
var source = new CSharpFile("Impostor.Api.Innersloth.Maps")
|
||||
{
|
||||
Usings = { "System.Collections.Generic", "System.Numerics" },
|
||||
Members = { @class },
|
||||
}.ToString();
|
||||
_sourceProductionContext.AddSource(className, source);
|
||||
}
|
||||
|
||||
private static CSharpProperty CreateSimpleProperty(string type, string name, string value)
|
||||
{
|
||||
return new CSharpProperty(type, name)
|
||||
{
|
||||
Getter = new CSharpProperty.Accessor { Body = writer => writer.Write(value + ";") },
|
||||
IsOverride = true,
|
||||
};
|
||||
}
|
||||
|
||||
private sealed class DictionaryData
|
||||
{
|
||||
private readonly string _keyType;
|
||||
private readonly string _valueType;
|
||||
private readonly string _name;
|
||||
private readonly Action<CodeWriter> _body;
|
||||
|
||||
public DictionaryData(string keyType, string valueType, string name, Action<CodeWriter> body)
|
||||
{
|
||||
_keyType = keyType;
|
||||
_valueType = valueType;
|
||||
_name = name;
|
||||
_body = body;
|
||||
}
|
||||
|
||||
public DictionaryData(string valueType, string name, Action<CodeWriter> body) : this("int", valueType, name, body)
|
||||
{
|
||||
}
|
||||
|
||||
public void WriteInitializer(CodeWriter writer)
|
||||
{
|
||||
writer.WriteLine($"{_name} = new Dictionary<{_keyType}, {_valueType}>");
|
||||
writer.WriteLine("{");
|
||||
|
||||
using (writer.Indent())
|
||||
{
|
||||
_body(writer);
|
||||
}
|
||||
|
||||
writer.WriteLine("}.AsReadOnly();");
|
||||
}
|
||||
|
||||
public CSharpProperty CreateProperty()
|
||||
{
|
||||
return new CSharpProperty($"IReadOnlyDictionary<{_keyType}, {_valueType}>", _name)
|
||||
{
|
||||
Getter = new CSharpProperty.Accessor(),
|
||||
IsOverride = true,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public sealed class SpawnInfo
|
||||
{
|
||||
public required Vector2 InitialSpawnCenter { get; init; }
|
||||
public required Vector2 MeetingSpawnCenter { get; init; }
|
||||
public required Vector2 MeetingSpawnCenter2 { get; init; }
|
||||
public required float SpawnRadius { get; init; }
|
||||
}
|
||||
|
||||
public sealed class TaskInfo
|
||||
{
|
||||
public required string Type { get; init; }
|
||||
public required string TaskType { get; init; }
|
||||
public required string HudText { get; init; }
|
||||
public required string Length { get; init; }
|
||||
public required TaskConsole[] Consoles { get; init; }
|
||||
}
|
||||
|
||||
public sealed class TaskConsole
|
||||
{
|
||||
public required int Id { get; init; }
|
||||
public required string Room { get; init; }
|
||||
public required Vector2 Position { get; init; }
|
||||
public required float UsableDistance { get; init; }
|
||||
}
|
||||
|
||||
public sealed class VentInfo
|
||||
{
|
||||
public required string Name { get; init; }
|
||||
public required Vector2 Position { get; init; }
|
||||
public required int? Left { get; init; }
|
||||
public required int? Center { get; init; }
|
||||
public required int? Right { get; init; }
|
||||
}
|
||||
|
||||
public sealed class DoorInfo
|
||||
{
|
||||
public required string Room { get; init; }
|
||||
public required Vector2 Position { get; init; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<DebugType>embedded</DebugType>
|
||||
<Nullable>enable</Nullable>
|
||||
<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.7.0" PrivateAssets="all" />
|
||||
<PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.4" PrivateAssets="all" />
|
||||
<PackageReference Include="PolySharp" Version="1.13.2" PrivateAssets="all" />
|
||||
|
||||
<PackageReference Include="System.Text.Json" Version="7.0.3" Private="true" GeneratePathProperty="true" />
|
||||
<PackageReference Include="CSharpPoet" Version="0.3.0" Private="true" GeneratePathProperty="true" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<GetTargetPathDependsOn>$(GetTargetPathDependsOn);GetDependencyTargetPaths</GetTargetPathDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="GetDependencyTargetPaths">
|
||||
<ItemGroup>
|
||||
<TargetPathWithTargetPlatformMoniker Include="$(PkgSystem_Text_Json)\lib\netstandard2.0\System.Text.Json.dll" IncludeRuntimeDependency="false" />
|
||||
<TargetPathWithTargetPlatformMoniker Include="$(PkgCSharpPoet)\lib\netstandard2.0\CSharpPoet.dll" IncludeRuntimeDependency="false" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/launchsettings.json",
|
||||
"profiles": {
|
||||
"Generator": {
|
||||
"commandName": "DebugRoslynComponent",
|
||||
"targetProject": "../Impostor.Api/Impostor.Api.csproj"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
using System;
|
||||
using CSharpPoet;
|
||||
using Impostor.Api.Innersloth.Generator.Generators;
|
||||
using Microsoft.CodeAnalysis;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Generator;
|
||||
|
||||
[Generator(LanguageNames.CSharp)]
|
||||
public sealed class SourceGenerator : IIncrementalGenerator
|
||||
{
|
||||
private record struct Options(string ProjectDirectory);
|
||||
|
||||
public void Initialize(IncrementalGeneratorInitializationContext context)
|
||||
{
|
||||
var optionsProvider = context.AnalyzerConfigOptionsProvider
|
||||
.Select((analyzerConfigOptions, _) =>
|
||||
{
|
||||
if (!analyzerConfigOptions.GlobalOptions.TryGetValue("build_property.projectdir", out var projectDirectory))
|
||||
{
|
||||
throw new Exception("Couldn't get project directory");
|
||||
}
|
||||
|
||||
return new Options(projectDirectory);
|
||||
});
|
||||
|
||||
var filesProvider = context.AdditionalTextsProvider.Combine(optionsProvider)
|
||||
.Where(static pair =>
|
||||
{
|
||||
var (file, options) = pair;
|
||||
return file.Path.StartsWith(options.ProjectDirectory) &&
|
||||
file.Path[options.ProjectDirectory.Length..].StartsWith("Innersloth/Data/") &&
|
||||
file.Path.EndsWith(".json");
|
||||
})
|
||||
.Select(static (pair, cancellationToken) =>
|
||||
{
|
||||
var (file, options) = pair;
|
||||
return (
|
||||
RelativePath: file.Path[(options.ProjectDirectory.Length + "Innersloth/Data/".Length)..],
|
||||
Content: file.GetText(cancellationToken)!.ToString()
|
||||
);
|
||||
})
|
||||
.Collect();
|
||||
|
||||
context.RegisterSourceOutput(filesProvider, (spc, files) =>
|
||||
{
|
||||
var enumGenerator = new EnumGenerator(spc, files);
|
||||
|
||||
enumGenerator.Generate("ColorType", "Impostor.Api.Innersloth.Customization");
|
||||
|
||||
enumGenerator.Generate("DisconnectReason", sourceName: "DisconnectReasons");
|
||||
enumGenerator.Generate("GameKeywords", flags: true, underlyingType: CSharpEnumUnderlyingType.UnsignedInt);
|
||||
enumGenerator.Generate("GameOverReason", underlyingType: CSharpEnumUnderlyingType.Byte);
|
||||
enumGenerator.Generate("Platforms");
|
||||
enumGenerator.Generate("RoleTypes", underlyingType: CSharpEnumUnderlyingType.UnsignedShort);
|
||||
enumGenerator.Generate("StringNames");
|
||||
enumGenerator.Generate("SystemTypes", underlyingType: CSharpEnumUnderlyingType.Byte);
|
||||
enumGenerator.Generate("Language", sourceName: "SupportedLangs");
|
||||
enumGenerator.Generate("TaskTypes");
|
||||
|
||||
enumGenerator.Generate("RpcCalls", "Impostor.Api.Net.Inner", underlyingType: CSharpEnumUnderlyingType.Byte);
|
||||
|
||||
var mapDataGenerator = new MapDataGenerator(spc, files);
|
||||
|
||||
var mapNames = new[] { "Skeld", "Mira", "April", "Polus", "Airship", "Fungle" };
|
||||
foreach (var mapName in mapNames)
|
||||
{
|
||||
mapDataGenerator.Generate(mapName);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using System.Numerics;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Generator;
|
||||
|
||||
public class Vector2Converter : JsonConverter<Vector2>
|
||||
{
|
||||
public override Vector2 Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
{
|
||||
if (reader.TokenType != JsonTokenType.StartObject) throw new JsonException();
|
||||
|
||||
float x = 0;
|
||||
float y = 0;
|
||||
|
||||
while (reader.Read())
|
||||
{
|
||||
if (reader.TokenType == JsonTokenType.EndObject) break;
|
||||
|
||||
switch (reader.GetString())
|
||||
{
|
||||
case "x":
|
||||
reader.Read();
|
||||
x = reader.GetSingle();
|
||||
break;
|
||||
|
||||
case "y":
|
||||
reader.Read();
|
||||
y = reader.GetSingle();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return new Vector2(x, y);
|
||||
}
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, Vector2 value, JsonSerializerOptions options)
|
||||
{
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,155 @@
|
||||
{
|
||||
"version": 1,
|
||||
"dependencies": {
|
||||
".NETStandard,Version=v2.0": {
|
||||
"CSharpPoet": {
|
||||
"type": "Direct",
|
||||
"requested": "[0.3.0, )",
|
||||
"resolved": "0.3.0",
|
||||
"contentHash": "3QDh9rMuiNhMtNWOLj0FItiZruON7lj3zD0CXC9IHq4JWpF5OjbaZ2s1X0u6gftE73KCoTezXIgKvxacps78Fw=="
|
||||
},
|
||||
"Microsoft.CodeAnalysis.Analyzers": {
|
||||
"type": "Direct",
|
||||
"requested": "[3.3.4, )",
|
||||
"resolved": "3.3.4",
|
||||
"contentHash": "AxkxcPR+rheX0SmvpLVIGLhOUXAKG56a64kV9VQZ4y9gR9ZmPXnqZvHJnmwLSwzrEP6junUF11vuc+aqo5r68g=="
|
||||
},
|
||||
"Microsoft.CodeAnalysis.CSharp": {
|
||||
"type": "Direct",
|
||||
"requested": "[4.7.0, )",
|
||||
"resolved": "4.7.0",
|
||||
"contentHash": "JHCP2L6lB0oJ3tQoHkC67SFZxW+KbJVOnAo+6L01K5r/NlBlSUhTk5nUAldWhTVwGdzqNeHqGtnEqpsCmGSwQA==",
|
||||
"dependencies": {
|
||||
"Microsoft.CodeAnalysis.Common": "[4.7.0]"
|
||||
}
|
||||
},
|
||||
"NETStandard.Library": {
|
||||
"type": "Direct",
|
||||
"requested": "[2.0.3, )",
|
||||
"resolved": "2.0.3",
|
||||
"contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
|
||||
"dependencies": {
|
||||
"Microsoft.NETCore.Platforms": "1.1.0"
|
||||
}
|
||||
},
|
||||
"PolySharp": {
|
||||
"type": "Direct",
|
||||
"requested": "[1.13.2, )",
|
||||
"resolved": "1.13.2",
|
||||
"contentHash": "XwNhfkr7IeUiH8AE4pzob8YioxfL6nxgAx+fHEeWCObY/NZuBMfWLh39FznXbneKvagiqeeI7quIvZ6P1eVaEA=="
|
||||
},
|
||||
"System.Text.Json": {
|
||||
"type": "Direct",
|
||||
"requested": "[7.0.3, )",
|
||||
"resolved": "7.0.3",
|
||||
"contentHash": "AyjhwXN1zTFeIibHimfJn6eAsZ7rTBib79JQpzg8WAuR/HKDu9JGNHTuu3nbbXQ/bgI+U4z6HtZmCHNXB1QXrQ==",
|
||||
"dependencies": {
|
||||
"Microsoft.Bcl.AsyncInterfaces": "7.0.0",
|
||||
"System.Buffers": "4.5.1",
|
||||
"System.Memory": "4.5.5",
|
||||
"System.Numerics.Vectors": "4.5.0",
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0",
|
||||
"System.Text.Encodings.Web": "7.0.0",
|
||||
"System.Threading.Tasks.Extensions": "4.5.4"
|
||||
}
|
||||
},
|
||||
"Microsoft.Bcl.AsyncInterfaces": {
|
||||
"type": "Transitive",
|
||||
"resolved": "7.0.0",
|
||||
"contentHash": "3aeMZ1N0lJoSyzqiP03hqemtb1BijhsJADdobn/4nsMJ8V1H+CrpuduUe4hlRdx+ikBQju1VGjMD1GJ3Sk05Eg==",
|
||||
"dependencies": {
|
||||
"System.Threading.Tasks.Extensions": "4.5.4"
|
||||
}
|
||||
},
|
||||
"Microsoft.CodeAnalysis.Common": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.7.0",
|
||||
"contentHash": "pD5S14xMUebSGYe75kt0q/aaS/ftvktSo/pEv7aX7hNPHfdZS+SZeXvkvcffGxWkunYOyRF9m1oN7zzSdYj9dQ==",
|
||||
"dependencies": {
|
||||
"Microsoft.CodeAnalysis.Analyzers": "3.3.4",
|
||||
"System.Collections.Immutable": "7.0.0",
|
||||
"System.Memory": "4.5.5",
|
||||
"System.Reflection.Metadata": "7.0.0",
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0",
|
||||
"System.Text.Encoding.CodePages": "7.0.0",
|
||||
"System.Threading.Tasks.Extensions": "4.5.4"
|
||||
}
|
||||
},
|
||||
"Microsoft.NETCore.Platforms": {
|
||||
"type": "Transitive",
|
||||
"resolved": "1.1.0",
|
||||
"contentHash": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A=="
|
||||
},
|
||||
"System.Buffers": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.1",
|
||||
"contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg=="
|
||||
},
|
||||
"System.Collections.Immutable": {
|
||||
"type": "Transitive",
|
||||
"resolved": "7.0.0",
|
||||
"contentHash": "dQPcs0U1IKnBdRDBkrCTi1FoajSTBzLcVTpjO4MBCMC7f4pDOIPzgBoX8JjG7X6uZRJ8EBxsi8+DR1JuwjnzOQ==",
|
||||
"dependencies": {
|
||||
"System.Memory": "4.5.5",
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||
}
|
||||
},
|
||||
"System.Memory": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.5",
|
||||
"contentHash": "XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==",
|
||||
"dependencies": {
|
||||
"System.Buffers": "4.5.1",
|
||||
"System.Numerics.Vectors": "4.4.0",
|
||||
"System.Runtime.CompilerServices.Unsafe": "4.5.3"
|
||||
}
|
||||
},
|
||||
"System.Numerics.Vectors": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.0",
|
||||
"contentHash": "QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ=="
|
||||
},
|
||||
"System.Reflection.Metadata": {
|
||||
"type": "Transitive",
|
||||
"resolved": "7.0.0",
|
||||
"contentHash": "MclTG61lsD9sYdpNz9xsKBzjsmsfCtcMZYXz/IUr2zlhaTaABonlr1ESeompTgM+Xk+IwtGYU7/voh3YWB/fWw==",
|
||||
"dependencies": {
|
||||
"System.Collections.Immutable": "7.0.0",
|
||||
"System.Memory": "4.5.5"
|
||||
}
|
||||
},
|
||||
"System.Runtime.CompilerServices.Unsafe": {
|
||||
"type": "Transitive",
|
||||
"resolved": "6.0.0",
|
||||
"contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg=="
|
||||
},
|
||||
"System.Text.Encoding.CodePages": {
|
||||
"type": "Transitive",
|
||||
"resolved": "7.0.0",
|
||||
"contentHash": "LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==",
|
||||
"dependencies": {
|
||||
"System.Memory": "4.5.5",
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||
}
|
||||
},
|
||||
"System.Text.Encodings.Web": {
|
||||
"type": "Transitive",
|
||||
"resolved": "7.0.0",
|
||||
"contentHash": "OP6umVGxc0Z0MvZQBVigj4/U31Pw72ITihDWP9WiWDm+q5aoe0GaJivsfYGq53o6dxH7DcXWiCTl7+0o2CGdmg==",
|
||||
"dependencies": {
|
||||
"System.Buffers": "4.5.1",
|
||||
"System.Memory": "4.5.5",
|
||||
"System.Runtime.CompilerServices.Unsafe": "6.0.0"
|
||||
}
|
||||
},
|
||||
"System.Threading.Tasks.Extensions": {
|
||||
"type": "Transitive",
|
||||
"resolved": "4.5.4",
|
||||
"contentHash": "zteT+G8xuGu6mS+mzDzYXbzS7rd3K6Fjb9RiZlYlJPam2/hU7JCBZBVEcywNuR+oZ1ncTvc/cq0faRr3P01OVg==",
|
||||
"dependencies": {
|
||||
"System.Runtime.CompilerServices.Unsafe": "4.5.3"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Maps;
|
||||
|
||||
namespace Impostor.Api.Events.Player
|
||||
{
|
||||
@@ -10,6 +10,6 @@ namespace Impostor.Api.Events.Player
|
||||
/// <summary>
|
||||
/// Gets the entered vent.
|
||||
/// </summary>
|
||||
public IVent Vent { get; }
|
||||
public VentData Vent { get; }
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Maps;
|
||||
|
||||
namespace Impostor.Api.Events.Player
|
||||
{
|
||||
@@ -10,6 +10,6 @@ namespace Impostor.Api.Events.Player
|
||||
/// <summary>
|
||||
/// Gets the exited vent.
|
||||
/// </summary>
|
||||
public IVent Vent { get; }
|
||||
public VentData Vent { get; }
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Maps;
|
||||
|
||||
namespace Impostor.Api.Events.Player
|
||||
{
|
||||
@@ -10,6 +10,6 @@ namespace Impostor.Api.Events.Player
|
||||
/// <summary>
|
||||
/// Gets the vent player moved to.
|
||||
/// </summary>
|
||||
public IVent NewVent { get; }
|
||||
public VentData NewVent { get; }
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,9 @@
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="7.0.0" />
|
||||
<PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.435" PrivateAssets="all" />
|
||||
<PackageReference Include="Impostor.Hazel.Abstractions" Version="1.0.0" />
|
||||
|
||||
<ProjectReference Include="..\Impostor.Api.Innersloth.Generator\Impostor.Api.Innersloth.Generator.csproj" ReferenceOutputAssembly="false" OutputItemType="Analyzer" />
|
||||
<AdditionalFiles Include="Innersloth/Data/**/*.json" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -1,24 +0,0 @@
|
||||
namespace Impostor.Api.Innersloth.Customization
|
||||
{
|
||||
public enum ColorType
|
||||
{
|
||||
Red = 0,
|
||||
Blue = 1,
|
||||
Green = 2,
|
||||
Pink = 3,
|
||||
Orange = 4,
|
||||
Yellow = 5,
|
||||
Black = 6,
|
||||
White = 7,
|
||||
Purple = 8,
|
||||
Brown = 9,
|
||||
Cyan = 10,
|
||||
Lime = 11,
|
||||
Maroon = 12,
|
||||
Rose = 13,
|
||||
Banana = 14,
|
||||
Gray = 15,
|
||||
Tan = 16,
|
||||
Coral = 17,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"0": "SkeldShipStatus",
|
||||
"1": "MeetingHud",
|
||||
"2": "LobbyBehaviour",
|
||||
"3": "GameData",
|
||||
"4": "PlayerControl",
|
||||
"5": "MiraShipStatus",
|
||||
"6": "PolusShipStatus",
|
||||
"7": "ShipStatus",
|
||||
"8": "AirshipStatus",
|
||||
"9": "HideAndSeekManager",
|
||||
"10": "NormalGameManager",
|
||||
"13": "FungleShipStatus"
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"Red": 0,
|
||||
"Blue": 1,
|
||||
"Green": 2,
|
||||
"Pink": 3,
|
||||
"Orange": 4,
|
||||
"Yellow": 5,
|
||||
"Black": 6,
|
||||
"White": 7,
|
||||
"Purple": 8,
|
||||
"Brown": 9,
|
||||
"Cyan": 10,
|
||||
"Lime": 11,
|
||||
"Maroon": 12,
|
||||
"Rose": 13,
|
||||
"Banana": 14,
|
||||
"Gray": 15,
|
||||
"Tan": 16,
|
||||
"Coral": 17
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"ExitGame": 0,
|
||||
"GameFull": 1,
|
||||
"GameStarted": 2,
|
||||
"GameNotFound": 3,
|
||||
"IncorrectVersion": 5,
|
||||
"Banned": 6,
|
||||
"Kicked": 7,
|
||||
"Custom": 8,
|
||||
"InvalidName": 9,
|
||||
"Hacking": 10,
|
||||
"NotAuthorized": 11,
|
||||
"ConnectionLimit": 12,
|
||||
"Destroy": 16,
|
||||
"Error": 17,
|
||||
"IncorrectGame": 18,
|
||||
"ServerRequest": 19,
|
||||
"ServerFull": 20,
|
||||
"InternalPlayerMissing": 100,
|
||||
"InternalNonceFailure": 101,
|
||||
"InternalConnectionToken": 102,
|
||||
"PlatformLock": 103,
|
||||
"LobbyInactivity": 104,
|
||||
"MatchmakerInactivity": 105,
|
||||
"InvalidGameOptions": 106,
|
||||
"NoServersAvailable": 107,
|
||||
"QuickmatchDisabled": 108,
|
||||
"TooManyGames": 109,
|
||||
"QuickchatLock": 110,
|
||||
"MatchmakerFull": 111,
|
||||
"Sanctions": 112,
|
||||
"ServerError": 113,
|
||||
"SelfPlatformLock": 114,
|
||||
"DuplicateConnectionDetected": 115,
|
||||
"TooManyRequests": 116,
|
||||
"FocusLostBackground": 207,
|
||||
"IntentionalLeaving": 208,
|
||||
"FocusLost": 209,
|
||||
"NewConnection": 210,
|
||||
"PlatformParentalControlsBlock": 211,
|
||||
"PlatformUserBlock": 212,
|
||||
"PlatformFailedToGetUserBlock": 213,
|
||||
"ServerNotFound": 214,
|
||||
"ClientTimeout": 215,
|
||||
"Unknown": 255
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"All": 0,
|
||||
"Other": 1,
|
||||
"SpanishLA": 2,
|
||||
"Korean": 4,
|
||||
"Russian": 8,
|
||||
"Portuguese": 16,
|
||||
"Arabic": 32,
|
||||
"Filipino": 64,
|
||||
"Polish": 128,
|
||||
"English": 256,
|
||||
"Japanese": 512,
|
||||
"SpanishEU": 1024,
|
||||
"Brazilian": 2048,
|
||||
"Dutch": 4096,
|
||||
"French": 8192,
|
||||
"German": 16384,
|
||||
"Italian": 32768,
|
||||
"SChinese": 65536,
|
||||
"TChinese": 131072,
|
||||
"Irish": 262144
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"HumansByVote": 0,
|
||||
"HumansByTask": 1,
|
||||
"ImpostorByVote": 2,
|
||||
"ImpostorByKill": 3,
|
||||
"ImpostorBySabotage": 4,
|
||||
"ImpostorDisconnect": 5,
|
||||
"HumansDisconnect": 6,
|
||||
"HideAndSeek_ByTimer": 7,
|
||||
"HideAndSeek_ByKills": 8
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"Unknown": 0,
|
||||
"StandaloneEpicPC": 1,
|
||||
"StandaloneSteamPC": 2,
|
||||
"StandaloneMac": 3,
|
||||
"StandaloneWin10": 4,
|
||||
"StandaloneItch": 5,
|
||||
"IPhone": 6,
|
||||
"Android": 7,
|
||||
"Switch": 8,
|
||||
"Xbox": 9,
|
||||
"Playstation": 10
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"Crewmate": 0,
|
||||
"Impostor": 1,
|
||||
"Scientist": 2,
|
||||
"Engineer": 3,
|
||||
"GuardianAngel": 4,
|
||||
"Shapeshifter": 5,
|
||||
"CrewmateGhost": 6,
|
||||
"ImpostorGhost": 7
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"PlayAnimation": 0,
|
||||
"CompleteTask": 1,
|
||||
"SyncSettings": 2,
|
||||
"SetInfected": 3,
|
||||
"Exiled": 4,
|
||||
"CheckName": 5,
|
||||
"SetName": 6,
|
||||
"CheckColor": 7,
|
||||
"SetColor": 8,
|
||||
"SetHat": 9,
|
||||
"SetSkin": 10,
|
||||
"ReportDeadBody": 11,
|
||||
"MurderPlayer": 12,
|
||||
"SendChat": 13,
|
||||
"StartMeeting": 14,
|
||||
"SetScanner": 15,
|
||||
"SendChatNote": 16,
|
||||
"SetPet": 17,
|
||||
"SetStartCounter": 18,
|
||||
"EnterVent": 19,
|
||||
"ExitVent": 20,
|
||||
"SnapTo": 21,
|
||||
"CloseMeeting": 22,
|
||||
"VotingComplete": 23,
|
||||
"CastVote": 24,
|
||||
"ClearVote": 25,
|
||||
"AddVote": 26,
|
||||
"CloseDoorsOfType": 27,
|
||||
"SetTasks": 29,
|
||||
"ClimbLadder": 31,
|
||||
"UsePlatform": 32,
|
||||
"SendQuickChat": 33,
|
||||
"BootFromVent": 34,
|
||||
"UpdateSystem": 35,
|
||||
"SetVisor": 36,
|
||||
"SetNamePlate": 37,
|
||||
"SetLevel": 38,
|
||||
"SetHatStr": 39,
|
||||
"SetSkinStr": 40,
|
||||
"SetPetStr": 41,
|
||||
"SetVisorStr": 42,
|
||||
"SetNamePlateStr": 43,
|
||||
"SetRole": 44,
|
||||
"ProtectPlayer": 45,
|
||||
"Shapeshift": 46,
|
||||
"CheckMurder": 47,
|
||||
"CheckProtect": 48,
|
||||
"Pet": 49,
|
||||
"CancelPet": 50,
|
||||
"CheckZipline": 51,
|
||||
"UseZipline": 52,
|
||||
"TriggerSpores": 53,
|
||||
"CheckSpore": 54,
|
||||
"CheckShapeshift": 55,
|
||||
"RejectShapeshift": 56,
|
||||
"LobbyTimeExpiring": 60,
|
||||
"ExtendLobbyTimer": 61
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"English": 0,
|
||||
"Latam": 1,
|
||||
"Brazilian": 2,
|
||||
"Portuguese": 3,
|
||||
"Korean": 4,
|
||||
"Russian": 5,
|
||||
"Dutch": 6,
|
||||
"Filipino": 7,
|
||||
"French": 8,
|
||||
"German": 9,
|
||||
"Italian": 10,
|
||||
"Japanese": 11,
|
||||
"Spanish": 12,
|
||||
"SChinese": 13,
|
||||
"TChinese": 14,
|
||||
"Irish": 15
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"Hallway": 0,
|
||||
"Storage": 1,
|
||||
"Cafeteria": 2,
|
||||
"Reactor": 3,
|
||||
"UpperEngine": 4,
|
||||
"Nav": 5,
|
||||
"Admin": 6,
|
||||
"Electrical": 7,
|
||||
"LifeSupp": 8,
|
||||
"Shields": 9,
|
||||
"MedBay": 10,
|
||||
"Security": 11,
|
||||
"Weapons": 12,
|
||||
"LowerEngine": 13,
|
||||
"Comms": 14,
|
||||
"ShipTasks": 15,
|
||||
"Doors": 16,
|
||||
"Sabotage": 17,
|
||||
"Decontamination": 18,
|
||||
"Launchpad": 19,
|
||||
"LockerRoom": 20,
|
||||
"Laboratory": 21,
|
||||
"Balcony": 22,
|
||||
"Office": 23,
|
||||
"Greenhouse": 24,
|
||||
"Dropship": 25,
|
||||
"Decontamination2": 26,
|
||||
"Outside": 27,
|
||||
"Specimens": 28,
|
||||
"BoilerRoom": 29,
|
||||
"VaultRoom": 30,
|
||||
"Cockpit": 31,
|
||||
"Armory": 32,
|
||||
"Kitchen": 33,
|
||||
"ViewingDeck": 34,
|
||||
"HallOfPortraits": 35,
|
||||
"CargoBay": 36,
|
||||
"Ventilation": 37,
|
||||
"Showers": 38,
|
||||
"Engine": 39,
|
||||
"Brig": 40,
|
||||
"MeetingRoom": 41,
|
||||
"Records": 42,
|
||||
"Lounge": 43,
|
||||
"GapRoom": 44,
|
||||
"MainHall": 45,
|
||||
"Medical": 46,
|
||||
"Decontamination3": 47,
|
||||
"Zipline": 48,
|
||||
"MiningPit": 49,
|
||||
"FishingDock": 50,
|
||||
"RecRoom": 51,
|
||||
"Lookout": 52,
|
||||
"Beach": 53,
|
||||
"Highlands": 54,
|
||||
"Jungle": 55,
|
||||
"SleepingQuarters": 56,
|
||||
"MushroomMixupSabotage": 57,
|
||||
"HeliSabotage": 58
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"SubmitScan": 0,
|
||||
"PrimeShields": 1,
|
||||
"FuelEngines": 2,
|
||||
"ChartCourse": 3,
|
||||
"StartReactor": 4,
|
||||
"SwipeCard": 5,
|
||||
"ClearAsteroids": 6,
|
||||
"UploadData": 7,
|
||||
"InspectSample": 8,
|
||||
"EmptyChute": 9,
|
||||
"EmptyGarbage": 10,
|
||||
"AlignEngineOutput": 11,
|
||||
"FixWiring": 12,
|
||||
"CalibrateDistributor": 13,
|
||||
"DivertPower": 14,
|
||||
"UnlockManifolds": 15,
|
||||
"ResetReactor": 16,
|
||||
"FixLights": 17,
|
||||
"CleanO2Filter": 18,
|
||||
"FixComms": 19,
|
||||
"RestoreOxy": 20,
|
||||
"StabilizeSteering": 21,
|
||||
"AssembleArtifact": 22,
|
||||
"SortSamples": 23,
|
||||
"MeasureWeather": 24,
|
||||
"EnterIdCode": 25,
|
||||
"BuyBeverage": 26,
|
||||
"ProcessData": 27,
|
||||
"RunDiagnostics": 28,
|
||||
"WaterPlants": 29,
|
||||
"MonitorOxygen": 30,
|
||||
"StoreArtifacts": 31,
|
||||
"FillCanisters": 32,
|
||||
"FixWeatherNode": 33,
|
||||
"InsertKeys": 34,
|
||||
"ResetSeismic": 35,
|
||||
"ScanBoardingPass": 36,
|
||||
"OpenWaterways": 37,
|
||||
"ReplaceWaterJug": 38,
|
||||
"RepairDrill": 39,
|
||||
"AlignTelescope": 40,
|
||||
"RecordTemperature": 41,
|
||||
"RebootWifi": 42,
|
||||
"PolishRuby": 43,
|
||||
"ResetBreakers": 44,
|
||||
"Decontaminate": 45,
|
||||
"MakeBurger": 46,
|
||||
"UnlockSafe": 47,
|
||||
"SortRecords": 48,
|
||||
"PutAwayPistols": 49,
|
||||
"FixShower": 50,
|
||||
"CleanToilet": 51,
|
||||
"DressMannequin": 52,
|
||||
"PickUpTowels": 53,
|
||||
"RewindTapes": 54,
|
||||
"StartFans": 55,
|
||||
"DevelopPhotos": 56,
|
||||
"GetBiggolSword": 57,
|
||||
"PutAwayRifles": 58,
|
||||
"StopCharles": 59,
|
||||
"VentCleaning": 60,
|
||||
"None": 61,
|
||||
"BuildSandcastle": 62,
|
||||
"CatchFish": 63,
|
||||
"CollectShells": 64,
|
||||
"LiftWeights": 65,
|
||||
"RoastMarshmallow": 66,
|
||||
"TestFrisbee": 67,
|
||||
"CollectSamples": 68,
|
||||
"CollectVegetables": 69,
|
||||
"HoistSupplies": 70,
|
||||
"MineOres": 71,
|
||||
"PolishGem": 72,
|
||||
"ReplaceParts": 73,
|
||||
"HelpCritter": 74,
|
||||
"CrankGenerator": 75,
|
||||
"FixAntenna": 76,
|
||||
"TuneRadio": 77,
|
||||
"MushroomMixupSabotage": 78,
|
||||
"ExtractFuel": 79,
|
||||
"MonitorMushroom": 80,
|
||||
"PlayVideogame": 81
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"dumpostorVersion": "1.0.0",
|
||||
"gameVersion": "2023.10.24",
|
||||
"platformType": "StandaloneSteamPC"
|
||||
}
|
||||
@@ -0,0 +1,149 @@
|
||||
{
|
||||
"0": {
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": -16.191698,
|
||||
"y": -0.90999997
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": -8.663198,
|
||||
"y": -0.9099996
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": -13.362299,
|
||||
"y": -0.015400052
|
||||
}
|
||||
},
|
||||
"3": {
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": -10.975999,
|
||||
"y": -2.3309999
|
||||
}
|
||||
},
|
||||
"4": {
|
||||
"room": "Brig",
|
||||
"position": {
|
||||
"x": -0.9260999,
|
||||
"y": 7.100799
|
||||
}
|
||||
},
|
||||
"5": {
|
||||
"room": "Brig",
|
||||
"position": {
|
||||
"x": -3.6364996,
|
||||
"y": 8.784999
|
||||
}
|
||||
},
|
||||
"6": {
|
||||
"room": "Brig",
|
||||
"position": {
|
||||
"x": 2.7145998,
|
||||
"y": 8.850798
|
||||
}
|
||||
},
|
||||
"7": {
|
||||
"room": "Kitchen",
|
||||
"position": {
|
||||
"x": -8.764699,
|
||||
"y": -7.2687993
|
||||
}
|
||||
},
|
||||
"8": {
|
||||
"room": "Kitchen",
|
||||
"position": {
|
||||
"x": -8.764699,
|
||||
"y": -11.976298
|
||||
}
|
||||
},
|
||||
"9": {
|
||||
"room": "Kitchen",
|
||||
"position": {
|
||||
"x": -1.4979999,
|
||||
"y": -12.040699
|
||||
}
|
||||
},
|
||||
"10": {
|
||||
"room": "MainHall",
|
||||
"position": {
|
||||
"x": 4.2496986,
|
||||
"y": 0.042
|
||||
}
|
||||
},
|
||||
"11": {
|
||||
"room": "MainHall",
|
||||
"position": {
|
||||
"x": 17.490198,
|
||||
"y": 0.04619999
|
||||
}
|
||||
},
|
||||
"12": {
|
||||
"room": "Records",
|
||||
"position": {
|
||||
"x": 16.382797,
|
||||
"y": 9.368099
|
||||
}
|
||||
},
|
||||
"13": {
|
||||
"room": "Records",
|
||||
"position": {
|
||||
"x": 23.97472,
|
||||
"y": 9.368099
|
||||
}
|
||||
},
|
||||
"14": {
|
||||
"room": "Records",
|
||||
"position": {
|
||||
"x": 19.858297,
|
||||
"y": 5.601399
|
||||
}
|
||||
},
|
||||
"15": {
|
||||
"room": "Lounge",
|
||||
"position": {
|
||||
"x": 29.2544,
|
||||
"y": 6.6990004
|
||||
}
|
||||
},
|
||||
"16": {
|
||||
"room": "Lounge",
|
||||
"position": {
|
||||
"x": 30.7944,
|
||||
"y": 6.6990004
|
||||
}
|
||||
},
|
||||
"17": {
|
||||
"room": "Lounge",
|
||||
"position": {
|
||||
"x": 32.2924,
|
||||
"y": 6.6990004
|
||||
}
|
||||
},
|
||||
"18": {
|
||||
"room": "Lounge",
|
||||
"position": {
|
||||
"x": 33.7771,
|
||||
"y": 6.6990004
|
||||
}
|
||||
},
|
||||
"19": {
|
||||
"room": "Medical",
|
||||
"position": {
|
||||
"x": 21.314297,
|
||||
"y": -8.416099
|
||||
}
|
||||
},
|
||||
"20": {
|
||||
"room": "Medical",
|
||||
"position": {
|
||||
"x": 32.540195,
|
||||
"y": -4.694899
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"initialSpawnCenter": {
|
||||
"x": -25,
|
||||
"y": 40
|
||||
},
|
||||
"meetingSpawnCenter": {
|
||||
"x": 20,
|
||||
"y": 9
|
||||
},
|
||||
"meetingSpawnCenter2": {
|
||||
"x": 20,
|
||||
"y": 9
|
||||
},
|
||||
"spawnRadius": 1.55
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"Electrical": "SwitchSystem",
|
||||
"MedBay": "MedScanSystem",
|
||||
"Doors": "DoorsSystemType",
|
||||
"Comms": "HudOverrideSystemType",
|
||||
"GapRoom": "MovingPlatformBehaviour",
|
||||
"HeliSabotage": "HeliSabotageSystem",
|
||||
"Decontamination": "ElectricalDoors",
|
||||
"Decontamination2": "AutoDoorsSystemType",
|
||||
"Security": "SecurityCameraSystemType",
|
||||
"Ventilation": "VentilationSystem",
|
||||
"Sabotage": "SabotageSystemType"
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,122 @@
|
||||
{
|
||||
"0": {
|
||||
"name": "VaultVent",
|
||||
"position": {
|
||||
"x": -12.632198,
|
||||
"y": 8.4735
|
||||
},
|
||||
"left": 1,
|
||||
"center": null,
|
||||
"right": null
|
||||
},
|
||||
"1": {
|
||||
"name": "CockpitVent",
|
||||
"position": {
|
||||
"x": -22.098999,
|
||||
"y": -1.5120001
|
||||
},
|
||||
"left": 0,
|
||||
"center": null,
|
||||
"right": 2
|
||||
},
|
||||
"2": {
|
||||
"name": "EjectionVent",
|
||||
"position": {
|
||||
"x": -15.658999,
|
||||
"y": -11.6991005
|
||||
},
|
||||
"left": 1,
|
||||
"center": null,
|
||||
"right": null
|
||||
},
|
||||
"3": {
|
||||
"name": "EngineVent",
|
||||
"position": {
|
||||
"x": 0.20299996,
|
||||
"y": -2.5361004
|
||||
},
|
||||
"left": 4,
|
||||
"center": null,
|
||||
"right": 5
|
||||
},
|
||||
"4": {
|
||||
"name": "KitchenVent",
|
||||
"position": {
|
||||
"x": -2.6018999,
|
||||
"y": -9.338
|
||||
},
|
||||
"left": 3,
|
||||
"center": null,
|
||||
"right": 5
|
||||
},
|
||||
"5": {
|
||||
"name": "HallwayVent1",
|
||||
"position": {
|
||||
"x": 7.0210004,
|
||||
"y": -3.7309995
|
||||
},
|
||||
"left": 3,
|
||||
"center": null,
|
||||
"right": 4
|
||||
},
|
||||
"6": {
|
||||
"name": "HallwayVent2",
|
||||
"position": {
|
||||
"x": 9.814,
|
||||
"y": 3.2060003
|
||||
},
|
||||
"left": 8,
|
||||
"center": null,
|
||||
"right": 7
|
||||
},
|
||||
"7": {
|
||||
"name": "GaproomVent2",
|
||||
"position": {
|
||||
"x": 12.663,
|
||||
"y": 5.922
|
||||
},
|
||||
"left": 8,
|
||||
"center": null,
|
||||
"right": 6
|
||||
},
|
||||
"8": {
|
||||
"name": "GaproomVent1",
|
||||
"position": {
|
||||
"x": 3.6049998,
|
||||
"y": 6.9230003
|
||||
},
|
||||
"left": 7,
|
||||
"center": null,
|
||||
"right": 6
|
||||
},
|
||||
"9": {
|
||||
"name": "ShowersVent",
|
||||
"position": {
|
||||
"x": 23.9869,
|
||||
"y": -1.386
|
||||
},
|
||||
"left": 10,
|
||||
"center": null,
|
||||
"right": 11
|
||||
},
|
||||
"10": {
|
||||
"name": "RecordsVent",
|
||||
"position": {
|
||||
"x": 23.279898,
|
||||
"y": 8.259998
|
||||
},
|
||||
"left": 9,
|
||||
"center": null,
|
||||
"right": 11
|
||||
},
|
||||
"11": {
|
||||
"name": "StorageVent",
|
||||
"position": {
|
||||
"x": 30.440897,
|
||||
"y": -3.5770001
|
||||
},
|
||||
"left": 9,
|
||||
"center": null,
|
||||
"right": 10
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"0": {
|
||||
"room": "Cafeteria",
|
||||
"position": {
|
||||
"x": 6.3936,
|
||||
"y": 1.33848
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"room": "Storage",
|
||||
"position": {
|
||||
"x": 5.268,
|
||||
"y": -14.2884
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"room": "UpperEngine",
|
||||
"position": {
|
||||
"x": 16.930801,
|
||||
"y": -2.1276002
|
||||
}
|
||||
},
|
||||
"3": {
|
||||
"room": "Cafeteria",
|
||||
"position": {
|
||||
"x": 0.708,
|
||||
"y": -4.992
|
||||
}
|
||||
},
|
||||
"4": {
|
||||
"room": "LowerEngine",
|
||||
"position": {
|
||||
"x": 14.6808,
|
||||
"y": -11.472
|
||||
}
|
||||
},
|
||||
"5": {
|
||||
"room": "UpperEngine",
|
||||
"position": {
|
||||
"x": 14.676002,
|
||||
"y": 1.3406401
|
||||
}
|
||||
},
|
||||
"6": {
|
||||
"room": "Security",
|
||||
"position": {
|
||||
"x": 14.734801,
|
||||
"y": -5.1417603
|
||||
}
|
||||
},
|
||||
"7": {
|
||||
"room": "Storage",
|
||||
"position": {
|
||||
"x": -1.1316001,
|
||||
"y": -11.98128
|
||||
}
|
||||
},
|
||||
"8": {
|
||||
"room": "Cafeteria",
|
||||
"position": {
|
||||
"x": -5.1432004,
|
||||
"y": 1.3355999
|
||||
}
|
||||
},
|
||||
"9": {
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": 9.53616,
|
||||
"y": -13.416001
|
||||
}
|
||||
},
|
||||
"10": {
|
||||
"room": "MedBay",
|
||||
"position": {
|
||||
"x": 9.1452,
|
||||
"y": -0.4439999
|
||||
}
|
||||
},
|
||||
"11": {
|
||||
"room": "LowerEngine",
|
||||
"position": {
|
||||
"x": 16.930801,
|
||||
"y": -8.9664
|
||||
}
|
||||
},
|
||||
"12": {
|
||||
"room": "Storage",
|
||||
"position": {
|
||||
"x": 0.70919997,
|
||||
"y": -8.560801
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"initialSpawnCenter": {
|
||||
"x": -0.72,
|
||||
"y": 0.62
|
||||
},
|
||||
"meetingSpawnCenter": {
|
||||
"x": -0.72,
|
||||
"y": 0.62
|
||||
},
|
||||
"meetingSpawnCenter2": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"spawnRadius": 1.6
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"Electrical": "SwitchSystem",
|
||||
"MedBay": "MedScanSystem",
|
||||
"Doors": "AutoDoorsSystemType",
|
||||
"Comms": "HudOverrideSystemType",
|
||||
"Security": "SecurityCameraSystemType",
|
||||
"Reactor": "ReactorSystemType",
|
||||
"LifeSupp": "LifeSuppSystemType",
|
||||
"Ventilation": "VentilationSystem",
|
||||
"Sabotage": "SabotageSystemType"
|
||||
}
|
||||
@@ -0,0 +1,509 @@
|
||||
{
|
||||
"0": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "SwipeCard",
|
||||
"hudText": "Admin: Swipe Card",
|
||||
"length": "Common",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": -5.6352005,
|
||||
"y": -8.632801
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"1": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "FixWiring",
|
||||
"hudText": "Electrical: Fix Wiring (0/3)",
|
||||
"length": "Common",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": -1.392,
|
||||
"y": -6.4092
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"room": "Cafeteria",
|
||||
"position": {
|
||||
"x": 5.2811995,
|
||||
"y": 5.2464
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"room": "Nav",
|
||||
"position": {
|
||||
"x": -14.5199995,
|
||||
"y": -3.7740002
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": 7.7279997,
|
||||
"y": -7.6668
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Storage",
|
||||
"position": {
|
||||
"x": 1.932,
|
||||
"y": -8.7204
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"room": "Security",
|
||||
"position": {
|
||||
"x": 15.5592,
|
||||
"y": -4.5923996
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"2": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "ClearAsteroids",
|
||||
"hudText": "Weapons: Clear Asteroids (0/20)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Weapons",
|
||||
"position": {
|
||||
"x": -9.087601,
|
||||
"y": 1.812
|
||||
},
|
||||
"usableDistance": 1.2
|
||||
}
|
||||
]
|
||||
},
|
||||
"3": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "AlignEngineOutput",
|
||||
"hudText": "Upper Engine: Align Engine Output (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "LowerEngine",
|
||||
"position": {
|
||||
"x": 19.150799,
|
||||
"y": -12.618
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "UpperEngine",
|
||||
"position": {
|
||||
"x": 19.176,
|
||||
"y": -0.41442212
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"4": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "SubmitScan",
|
||||
"hudText": "MedBay: Submit Scan",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "MedBay",
|
||||
"position": {
|
||||
"x": 7.3284,
|
||||
"y": -5.2476006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"5": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "InspectSample",
|
||||
"hudText": "MedBay: Inspect Sample",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "MedBay",
|
||||
"position": {
|
||||
"x": 6.144,
|
||||
"y": -4.2599998
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"6": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "FuelEngines",
|
||||
"hudText": "Storage: Fuel Engines (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": []
|
||||
},
|
||||
"7": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "StartReactor",
|
||||
"hudText": "Reactor: Start Reactor",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 21.792,
|
||||
"y": -5.5728
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"8": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "EmptyChute",
|
||||
"hudText": "O2: Empty Chute (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": []
|
||||
},
|
||||
"9": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "EmptyGarbage",
|
||||
"hudText": "Cafeteria: Empty Garbage (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": []
|
||||
},
|
||||
"10": {
|
||||
"type": "UploadDataTask",
|
||||
"taskType": "UploadData",
|
||||
"hudText": "Communications: Download Data (0/2) ",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": -2.5079997,
|
||||
"y": -6.2652006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"11": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "CalibrateDistributor",
|
||||
"hudText": "Electrical: Calibrate Distributor",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": 5.8644004,
|
||||
"y": -7.4772
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"12": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "ChartCourse",
|
||||
"hudText": "Navigation: Chart Course",
|
||||
"length": "Short",
|
||||
"consoles": []
|
||||
},
|
||||
"13": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "CleanO2Filter",
|
||||
"hudText": "O2: Clean O2 Filter",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "LifeSupp",
|
||||
"position": {
|
||||
"x": -5.7432,
|
||||
"y": -2.9772
|
||||
},
|
||||
"usableDistance": 0.8
|
||||
}
|
||||
]
|
||||
},
|
||||
"14": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "UnlockManifolds",
|
||||
"hudText": "Reactor: Unlock Manifolds",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 22.536001,
|
||||
"y": -2.4996
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"15": {
|
||||
"type": "UploadDataTask",
|
||||
"taskType": "UploadData",
|
||||
"hudText": "Electrical: Download Data (0/2) ",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": -2.5079997,
|
||||
"y": -6.2652006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"16": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "StabilizeSteering",
|
||||
"hudText": "Navigation: Stabilize Steering",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Nav",
|
||||
"position": {
|
||||
"x": -18.732,
|
||||
"y": -4.728
|
||||
},
|
||||
"usableDistance": 1.25
|
||||
}
|
||||
]
|
||||
},
|
||||
"17": {
|
||||
"type": "UploadDataTask",
|
||||
"taskType": "UploadData",
|
||||
"hudText": "Weapons: Download Data (0/2) ",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": -2.5079997,
|
||||
"y": -6.2652006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"18": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "PrimeShields",
|
||||
"hudText": "Shields: Prime Shields",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Shields",
|
||||
"position": {
|
||||
"x": -7.526399,
|
||||
"y": -13.981199
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"19": {
|
||||
"type": "UploadDataTask",
|
||||
"taskType": "UploadData",
|
||||
"hudText": "Cafeteria: Download Data (0/2) ",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": -2.5079997,
|
||||
"y": -6.2652006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"20": {
|
||||
"type": "UploadDataTask",
|
||||
"taskType": "UploadData",
|
||||
"hudText": "Navigation: Download Data (0/2) ",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": -2.5079997,
|
||||
"y": -6.2652006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"21": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Electrical: Divert Power to Shields (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": 9,
|
||||
"y": -7.2936006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"22": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Electrical: Divert Power to Weapons (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": 9,
|
||||
"y": -7.2936006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"23": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Electrical: Divert Power to Communications (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": 9,
|
||||
"y": -7.2936006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"24": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Electrical: Divert Power to Upper Engine (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": 9,
|
||||
"y": -7.2936006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"25": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Electrical: Divert Power to O2 (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": 9,
|
||||
"y": -7.2936006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"26": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Electrical: Divert Power to Navigation (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": 9,
|
||||
"y": -7.2936006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"27": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Electrical: Divert Power to Lower Engine (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": 9,
|
||||
"y": -7.2936006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"28": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Electrical: Divert Power to Security (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": 9,
|
||||
"y": -7.2936006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"0": {
|
||||
"name": "AdminVent",
|
||||
"position": {
|
||||
"x": -2.544,
|
||||
"y": -9.955201
|
||||
},
|
||||
"left": 2,
|
||||
"center": null,
|
||||
"right": 1
|
||||
},
|
||||
"1": {
|
||||
"name": "BigYVent",
|
||||
"position": {
|
||||
"x": -9.384,
|
||||
"y": -6.438
|
||||
},
|
||||
"left": 0,
|
||||
"center": null,
|
||||
"right": 2
|
||||
},
|
||||
"2": {
|
||||
"name": "CafeVent",
|
||||
"position": {
|
||||
"x": -4.2588,
|
||||
"y": -0.27600002
|
||||
},
|
||||
"left": 0,
|
||||
"center": null,
|
||||
"right": 1
|
||||
},
|
||||
"3": {
|
||||
"name": "ElecVent",
|
||||
"position": {
|
||||
"x": 9.7764,
|
||||
"y": -8.034
|
||||
},
|
||||
"left": 5,
|
||||
"center": null,
|
||||
"right": 6
|
||||
},
|
||||
"4": {
|
||||
"name": "LEngineVent",
|
||||
"position": {
|
||||
"x": 15.288,
|
||||
"y": 2.52
|
||||
},
|
||||
"left": 11,
|
||||
"center": null,
|
||||
"right": null
|
||||
},
|
||||
"5": {
|
||||
"name": "LifeSuppVent",
|
||||
"position": {
|
||||
"x": 12.534,
|
||||
"y": -6.9492
|
||||
},
|
||||
"left": 6,
|
||||
"center": null,
|
||||
"right": 3
|
||||
},
|
||||
"6": {
|
||||
"name": "MedVent",
|
||||
"position": {
|
||||
"x": 10.608001,
|
||||
"y": -4.176
|
||||
},
|
||||
"left": 5,
|
||||
"center": null,
|
||||
"right": 3
|
||||
},
|
||||
"7": {
|
||||
"name": "WeaponsVent",
|
||||
"position": {
|
||||
"x": -8.820001,
|
||||
"y": 3.3240001
|
||||
},
|
||||
"left": null,
|
||||
"center": null,
|
||||
"right": 12
|
||||
},
|
||||
"8": {
|
||||
"name": "ReactorVent",
|
||||
"position": {
|
||||
"x": 20.796001,
|
||||
"y": -6.9528003
|
||||
},
|
||||
"left": 9,
|
||||
"center": null,
|
||||
"right": null
|
||||
},
|
||||
"9": {
|
||||
"name": "REngineVent",
|
||||
"position": {
|
||||
"x": 15.2508,
|
||||
"y": -13.656001
|
||||
},
|
||||
"left": 8,
|
||||
"center": null,
|
||||
"right": null
|
||||
},
|
||||
"10": {
|
||||
"name": "ShieldsVent",
|
||||
"position": {
|
||||
"x": -9.5232,
|
||||
"y": -14.337601
|
||||
},
|
||||
"left": 13,
|
||||
"center": null,
|
||||
"right": null
|
||||
},
|
||||
"11": {
|
||||
"name": "UpperReactorVent",
|
||||
"position": {
|
||||
"x": 21.876,
|
||||
"y": -3.0516002
|
||||
},
|
||||
"left": 4,
|
||||
"center": null,
|
||||
"right": null
|
||||
},
|
||||
"12": {
|
||||
"name": "NavVentNorth",
|
||||
"position": {
|
||||
"x": -16.008001,
|
||||
"y": -3.1680002
|
||||
},
|
||||
"left": null,
|
||||
"center": null,
|
||||
"right": 7
|
||||
},
|
||||
"13": {
|
||||
"name": "NavVentSouth",
|
||||
"position": {
|
||||
"x": -16.008001,
|
||||
"y": -6.3840003
|
||||
},
|
||||
"left": null,
|
||||
"center": null,
|
||||
"right": 10
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"0": {
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": 24.067001,
|
||||
"y": 11.974
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": 18.48,
|
||||
"y": 13.298
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"room": "Kitchen",
|
||||
"position": {
|
||||
"x": -15.509,
|
||||
"y": -5.913
|
||||
}
|
||||
},
|
||||
"3": {
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": -4.3,
|
||||
"y": -7.759
|
||||
}
|
||||
},
|
||||
"4": {
|
||||
"room": "Lookout",
|
||||
"position": {
|
||||
"x": 11.063,
|
||||
"y": 3.1330001
|
||||
}
|
||||
},
|
||||
"5": {
|
||||
"room": "MiningPit",
|
||||
"position": {
|
||||
"x": 12.733,
|
||||
"y": 6.4160004
|
||||
}
|
||||
},
|
||||
"6": {
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 19.43,
|
||||
"y": -6.59
|
||||
}
|
||||
},
|
||||
"7": {
|
||||
"room": "Storage",
|
||||
"position": {
|
||||
"x": -1.6159999,
|
||||
"y": 4.6280003
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"initialSpawnCenter": {
|
||||
"x": -9.81,
|
||||
"y": 1
|
||||
},
|
||||
"meetingSpawnCenter": {
|
||||
"x": -3,
|
||||
"y": -2.1
|
||||
},
|
||||
"meetingSpawnCenter2": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"spawnRadius": 1.5
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"Ventilation": "VentilationSystem",
|
||||
"Comms": "HqHudSystemType",
|
||||
"Reactor": "ReactorSystemType",
|
||||
"Doors": "DoorsSystemType",
|
||||
"MushroomMixupSabotage": "MushroomMixupSabotageSystem",
|
||||
"Sabotage": "SabotageSystemType"
|
||||
}
|
||||
@@ -0,0 +1,549 @@
|
||||
{
|
||||
"0": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "CollectSamples",
|
||||
"hudText": "Jungle: Collect Samples (0/2)",
|
||||
"length": "Common",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": -6.373,
|
||||
"y": -8.884999
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"1": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "EnterIdCode",
|
||||
"hudText": "Lookout: Enter Id Code",
|
||||
"length": "Common",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Lookout",
|
||||
"position": {
|
||||
"x": 8.446,
|
||||
"y": 5.27
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"2": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "ReplaceParts",
|
||||
"hudText": "Reactor: Replace Parts (0/2)",
|
||||
"length": "Common",
|
||||
"consoles": []
|
||||
},
|
||||
"3": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "RoastMarshmallow",
|
||||
"hudText": "Beach: Collect Stick (0/2)",
|
||||
"length": "Common",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Beach",
|
||||
"position": {
|
||||
"x": -9.788,
|
||||
"y": 1.641
|
||||
},
|
||||
"usableDistance": 1.35
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Beach",
|
||||
"position": {
|
||||
"x": -18.372,
|
||||
"y": -3.849
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Beach",
|
||||
"position": {
|
||||
"x": -20.07,
|
||||
"y": 3.303
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"room": "Beach",
|
||||
"position": {
|
||||
"x": -11.333,
|
||||
"y": 7.898
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"room": "Beach",
|
||||
"position": {
|
||||
"x": -9.309,
|
||||
"y": -3.507
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"4": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "CatchFish",
|
||||
"hudText": "Dock: Catch Fish (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "FishingDock",
|
||||
"position": {
|
||||
"x": -24.359001,
|
||||
"y": -6.8320003
|
||||
},
|
||||
"usableDistance": 1.28
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Kitchen",
|
||||
"position": {
|
||||
"x": -12.645,
|
||||
"y": -9.364001
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"5": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "CollectVegetables",
|
||||
"hudText": "Greenhouse: Collect Vegetables (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": []
|
||||
},
|
||||
"6": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "ExtractFuel",
|
||||
"hudText": "Upper Engine: Extract Fuel (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": []
|
||||
},
|
||||
"7": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "HelpCritter",
|
||||
"hudText": "Jungle: Help Critter (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": []
|
||||
},
|
||||
"8": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "HoistSupplies",
|
||||
"hudText": "Jungle: Hoist Supplies",
|
||||
"length": "Long",
|
||||
"consoles": []
|
||||
},
|
||||
"9": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "PolishGem",
|
||||
"hudText": "Mining Pit: Polish Gem",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "MiningPit",
|
||||
"position": {
|
||||
"x": 14.353,
|
||||
"y": 10.241
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"10": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "MineOres",
|
||||
"hudText": "Mining Pit: Mine Ores",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 1,
|
||||
"room": "MiningPit",
|
||||
"position": {
|
||||
"x": 11.076,
|
||||
"y": 10.651
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"11": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "ReplaceWaterJug",
|
||||
"hudText": "Storage: Replace Water Jug (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": []
|
||||
},
|
||||
"12": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "WaterPlants",
|
||||
"hudText": "Storage: Water Plants (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": []
|
||||
},
|
||||
"13": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "AssembleArtifact",
|
||||
"hudText": "Laboratory: Assemble Artifact",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": -6.2650003,
|
||||
"y": -9.592999
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"14": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "BuildSandcastle",
|
||||
"hudText": "Splash Zone: Build Sandcastle",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 1,
|
||||
"room": "RecRoom",
|
||||
"position": {
|
||||
"x": -21.474998,
|
||||
"y": 0.36600006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"15": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "CollectShells",
|
||||
"hudText": "Splash Zone: Collect Shells",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 2,
|
||||
"room": "RecRoom",
|
||||
"position": {
|
||||
"x": -20.28,
|
||||
"y": -2.4299998
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Beach",
|
||||
"position": {
|
||||
"x": 3.16,
|
||||
"y": 1.51
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Beach",
|
||||
"position": {
|
||||
"x": -7.95,
|
||||
"y": -1.9399999
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"room": "Beach",
|
||||
"position": {
|
||||
"x": -3.178,
|
||||
"y": 8.14
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"16": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "CrankGenerator",
|
||||
"hudText": "Kitchen: Crank Generator",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": 20.751,
|
||||
"y": 14.603
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Kitchen",
|
||||
"position": {
|
||||
"x": -12.999001,
|
||||
"y": -6.3429995
|
||||
},
|
||||
"usableDistance": 1.25
|
||||
}
|
||||
]
|
||||
},
|
||||
"17": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "EmptyGarbage",
|
||||
"hudText": "Cafeteria: Empty Garbage",
|
||||
"length": "Short",
|
||||
"consoles": []
|
||||
},
|
||||
"18": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "EmptyGarbage",
|
||||
"hudText": "Splash Zone: Empty Garbage",
|
||||
"length": "Short",
|
||||
"consoles": []
|
||||
},
|
||||
"19": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "FixAntenna",
|
||||
"hudText": "Communications: Fix Antenna",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": 23.389,
|
||||
"y": 14.826
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"20": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "FixWiring",
|
||||
"hudText": "Dropship: Fix Wiring",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 4,
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": 19.373001,
|
||||
"y": 14.288
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Dropship",
|
||||
"position": {
|
||||
"x": -11.108,
|
||||
"y": 13.398
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"21": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "LiftWeights",
|
||||
"hudText": "Splash Zone: Lift Weights",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 1,
|
||||
"room": "RecRoom",
|
||||
"position": {
|
||||
"x": -19.151,
|
||||
"y": 0.88100004
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"22": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "MonitorMushroom",
|
||||
"hudText": "Jungle: Monitor Mushroom",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Jungle",
|
||||
"position": {
|
||||
"x": 12.791,
|
||||
"y": -15.567999
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"23": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "PlayVideogame",
|
||||
"hudText": "The Dorm: Play Video Game (0/20)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "SleepingQuarters",
|
||||
"position": {
|
||||
"x": 3.251,
|
||||
"y": -1.0879999
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"24": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "RecordTemperature",
|
||||
"hudText": "Laboratory: Record Temperature",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Greenhouse",
|
||||
"position": {
|
||||
"x": 8.677,
|
||||
"y": -11.279
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": -2.8840003,
|
||||
"y": -7.8939996
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 23.401001,
|
||||
"y": -6.928
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"25": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "RecordTemperature",
|
||||
"hudText": "Greenhouse: Record Temperature",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Greenhouse",
|
||||
"position": {
|
||||
"x": 8.677,
|
||||
"y": -11.279
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": -2.8840003,
|
||||
"y": -7.8939996
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 23.401001,
|
||||
"y": -6.928
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"26": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "RecordTemperature",
|
||||
"hudText": "Reactor: Record Temperature",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Greenhouse",
|
||||
"position": {
|
||||
"x": 8.677,
|
||||
"y": -11.279
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": -2.8840003,
|
||||
"y": -7.8939996
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 23.401001,
|
||||
"y": -6.928
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"27": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "TestFrisbee",
|
||||
"hudText": "Splash Zone: Throw Frisbee",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 1,
|
||||
"room": "RecRoom",
|
||||
"position": {
|
||||
"x": -18.647,
|
||||
"y": -0.88699996
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"28": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "TuneRadio",
|
||||
"hudText": "Communications: Find Signal (0/1)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": 19.62,
|
||||
"y": 12.764
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
{
|
||||
"0": {
|
||||
"name": "CommunicationsVent",
|
||||
"position": {
|
||||
"x": 25.220001,
|
||||
"y": 10.965
|
||||
},
|
||||
"left": 2,
|
||||
"center": null,
|
||||
"right": 5
|
||||
},
|
||||
"1": {
|
||||
"name": "KitchenVent",
|
||||
"position": {
|
||||
"x": -15.359,
|
||||
"y": -9.783001
|
||||
},
|
||||
"left": 6,
|
||||
"center": null,
|
||||
"right": null
|
||||
},
|
||||
"2": {
|
||||
"name": "LookoutVent",
|
||||
"position": {
|
||||
"x": 9.366,
|
||||
"y": 0.63
|
||||
},
|
||||
"left": 0,
|
||||
"center": null,
|
||||
"right": 5
|
||||
},
|
||||
"3": {
|
||||
"name": "StorageVent",
|
||||
"position": {
|
||||
"x": 2.864,
|
||||
"y": 0.9180002
|
||||
},
|
||||
"left": 9,
|
||||
"center": null,
|
||||
"right": 4
|
||||
},
|
||||
"4": {
|
||||
"name": "NorthWestJungleVent",
|
||||
"position": {
|
||||
"x": -2.518,
|
||||
"y": -8.986
|
||||
},
|
||||
"left": 8,
|
||||
"center": null,
|
||||
"right": 3
|
||||
},
|
||||
"5": {
|
||||
"name": "NorthEastJungleVent",
|
||||
"position": {
|
||||
"x": 22.677,
|
||||
"y": -8.497
|
||||
},
|
||||
"left": 2,
|
||||
"center": null,
|
||||
"right": 0
|
||||
},
|
||||
"6": {
|
||||
"name": "SouthWestJungleVent",
|
||||
"position": {
|
||||
"x": 1.3000002,
|
||||
"y": -10.515
|
||||
},
|
||||
"left": 1,
|
||||
"center": null,
|
||||
"right": 7
|
||||
},
|
||||
"7": {
|
||||
"name": "SouthEastJungleVent",
|
||||
"position": {
|
||||
"x": 15.150001,
|
||||
"y": -16.42
|
||||
},
|
||||
"left": 6,
|
||||
"center": null,
|
||||
"right": null
|
||||
},
|
||||
"8": {
|
||||
"name": "RecRoomVent",
|
||||
"position": {
|
||||
"x": -16.9,
|
||||
"y": -2.571
|
||||
},
|
||||
"left": 9,
|
||||
"center": null,
|
||||
"right": 4
|
||||
},
|
||||
"9": {
|
||||
"name": "MeetingRoomVent",
|
||||
"position": {
|
||||
"x": -12.233,
|
||||
"y": 8.061
|
||||
},
|
||||
"left": 8,
|
||||
"center": null,
|
||||
"right": 3
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"initialSpawnCenter": {
|
||||
"x": -4.4,
|
||||
"y": 2.2
|
||||
},
|
||||
"meetingSpawnCenter": {
|
||||
"x": 24.043,
|
||||
"y": 1.72
|
||||
},
|
||||
"meetingSpawnCenter2": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"spawnRadius": 1.55
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"Electrical": "SwitchSystem",
|
||||
"MedBay": "MedScanSystem",
|
||||
"Comms": "HqHudSystemType",
|
||||
"Reactor": "ReactorSystemType",
|
||||
"LifeSupp": "LifeSuppSystemType",
|
||||
"Ventilation": "VentilationSystem",
|
||||
"Sabotage": "SabotageSystemType"
|
||||
}
|
||||
@@ -0,0 +1,547 @@
|
||||
{
|
||||
"0": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "FixWiring",
|
||||
"hudText": "Storage: Fix Wiring (0/3)",
|
||||
"length": "Common",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Storage",
|
||||
"position": {
|
||||
"x": 18.39,
|
||||
"y": 1.2
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 12.096,
|
||||
"y": 8.04
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": 6.125,
|
||||
"y": 14.958
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"room": "LockerRoom",
|
||||
"position": {
|
||||
"x": 4.3559995,
|
||||
"y": 2.5340002
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"room": "Greenhouse",
|
||||
"position": {
|
||||
"x": 16.980001,
|
||||
"y": 21.394
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"1": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "EnterIdCode",
|
||||
"hudText": "Admin: Enter Id Code",
|
||||
"length": "Common",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": 19.894001,
|
||||
"y": 19.024
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"2": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "SubmitScan",
|
||||
"hudText": "MedBay: Submit Scan",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "MedBay",
|
||||
"position": {
|
||||
"x": 16.233,
|
||||
"y": 0.262
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"3": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "ClearAsteroids",
|
||||
"hudText": "Balcony: Clear Asteroids (0/20)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Weapons",
|
||||
"position": {
|
||||
"x": 19.213,
|
||||
"y": -2.414
|
||||
},
|
||||
"usableDistance": 1.8
|
||||
}
|
||||
]
|
||||
},
|
||||
"4": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Reactor: Divert Power to Admin (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 0.77700007,
|
||||
"y": 11.484
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"5": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Reactor: Divert Power to Cafeteria (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 0.77700007,
|
||||
"y": 11.484
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"6": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Reactor: Divert Power to Communications (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 0.77700007,
|
||||
"y": 11.484
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"7": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Reactor: Divert Power to Launchpad (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 0.77700007,
|
||||
"y": 11.484
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"8": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Reactor: Divert Power to MedBay (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 0.77700007,
|
||||
"y": 11.484
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"9": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Reactor: Divert Power to Office (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 0.77700007,
|
||||
"y": 11.484
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"10": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "WaterPlants",
|
||||
"hudText": "Storage: Water Plants (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": []
|
||||
},
|
||||
"11": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "StartReactor",
|
||||
"hudText": "Reactor: Start Reactor",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 2.549,
|
||||
"y": 12.407001
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"12": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Reactor: Divert Power to Greenhouse (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 0.77700007,
|
||||
"y": 11.484
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"13": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "ChartCourse",
|
||||
"hudText": "Admin: Chart Course",
|
||||
"length": "Short",
|
||||
"consoles": []
|
||||
},
|
||||
"14": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "CleanO2Filter",
|
||||
"hudText": "Greenhouse: Clean O2 Filter",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Greenhouse",
|
||||
"position": {
|
||||
"x": 17.221,
|
||||
"y": 24.505001
|
||||
},
|
||||
"usableDistance": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"15": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "FuelEngines",
|
||||
"hudText": "Launchpad: Fuel Engines",
|
||||
"length": "Short",
|
||||
"consoles": []
|
||||
},
|
||||
"16": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "AssembleArtifact",
|
||||
"hudText": "Laboratory: Assemble Artifact",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": 9.402,
|
||||
"y": 14.568001
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"17": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "SortSamples",
|
||||
"hudText": "Laboratory: Sort Samples",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": 9.660001,
|
||||
"y": 11.115001
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"18": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "PrimeShields",
|
||||
"hudText": "Admin: Prime Shields",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": 21.169,
|
||||
"y": 17.945
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"19": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "EmptyGarbage",
|
||||
"hudText": "Cafeteria: Empty Garbage",
|
||||
"length": "Short",
|
||||
"consoles": []
|
||||
},
|
||||
"20": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "MeasureWeather",
|
||||
"hudText": "Balcony: Measure Weather",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Balcony",
|
||||
"position": {
|
||||
"x": 28.911999,
|
||||
"y": -1.701
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"21": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Reactor: Divert Power to Laboratory (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 0.77700007,
|
||||
"y": 11.484
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"22": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "BuyBeverage",
|
||||
"hudText": "Cafeteria: Buy Beverage",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Cafeteria",
|
||||
"position": {
|
||||
"x": 27.49,
|
||||
"y": 5.665
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"23": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "ProcessData",
|
||||
"hudText": "Office: Process Data",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Office",
|
||||
"position": {
|
||||
"x": 15.776001,
|
||||
"y": 21.403
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"24": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "RunDiagnostics",
|
||||
"hudText": "Launchpad: Run Diagnostics",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Launchpad",
|
||||
"position": {
|
||||
"x": -2.499,
|
||||
"y": 1.8730001
|
||||
},
|
||||
"usableDistance": 1.5
|
||||
}
|
||||
]
|
||||
},
|
||||
"25": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "UnlockManifolds",
|
||||
"hudText": "Reactor: Unlock Manifolds",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 0.44200015,
|
||||
"y": 13.2560005
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"26": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "VentCleaning",
|
||||
"hudText": "Admin: Clean Vent",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 11,
|
||||
"room": "Launchpad",
|
||||
"position": {
|
||||
"x": -6.1800003,
|
||||
"y": 3.5600002
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Balcony",
|
||||
"position": {
|
||||
"x": 23.769999,
|
||||
"y": -1.9399999
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 23.9,
|
||||
"y": 7.1800003
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": 0.48000014,
|
||||
"y": 10.6970005
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": 11.606001,
|
||||
"y": 13.816
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"room": "LockerRoom",
|
||||
"position": {
|
||||
"x": 4.29,
|
||||
"y": 0.52999973
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": 22.390001,
|
||||
"y": 17.23
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"room": "Office",
|
||||
"position": {
|
||||
"x": 13.280001,
|
||||
"y": 20.13
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"room": "Greenhouse",
|
||||
"position": {
|
||||
"x": 17.85,
|
||||
"y": 25.23
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"room": "MedBay",
|
||||
"position": {
|
||||
"x": 15.41,
|
||||
"y": -1.8199997
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"room": "Decontamination",
|
||||
"position": {
|
||||
"x": 6.83,
|
||||
"y": 3.145
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"1": {
|
||||
"name": "BalconyVent",
|
||||
"position": {
|
||||
"x": 23.769999,
|
||||
"y": -1.9399999
|
||||
},
|
||||
"left": 8,
|
||||
"center": null,
|
||||
"right": 2
|
||||
},
|
||||
"2": {
|
||||
"name": "YHallRightVent",
|
||||
"position": {
|
||||
"x": 23.9,
|
||||
"y": 7.1800003
|
||||
},
|
||||
"left": 6,
|
||||
"center": null,
|
||||
"right": 1
|
||||
},
|
||||
"3": {
|
||||
"name": "ReactorVent",
|
||||
"position": {
|
||||
"x": 0.48000014,
|
||||
"y": 10.6970005
|
||||
},
|
||||
"left": 4,
|
||||
"center": 9,
|
||||
"right": 11
|
||||
},
|
||||
"4": {
|
||||
"name": "LabVent",
|
||||
"position": {
|
||||
"x": 11.606001,
|
||||
"y": 13.816
|
||||
},
|
||||
"left": 3,
|
||||
"center": 9,
|
||||
"right": 5
|
||||
},
|
||||
"5": {
|
||||
"name": "OfficeVent",
|
||||
"position": {
|
||||
"x": 13.280001,
|
||||
"y": 20.13
|
||||
},
|
||||
"left": 4,
|
||||
"center": 6,
|
||||
"right": 7
|
||||
},
|
||||
"6": {
|
||||
"name": "AdminVent",
|
||||
"position": {
|
||||
"x": 22.390001,
|
||||
"y": 17.23
|
||||
},
|
||||
"left": 7,
|
||||
"center": 2,
|
||||
"right": 5
|
||||
},
|
||||
"7": {
|
||||
"name": "AgriVent",
|
||||
"position": {
|
||||
"x": 17.85,
|
||||
"y": 25.23
|
||||
},
|
||||
"left": 6,
|
||||
"center": null,
|
||||
"right": 5
|
||||
},
|
||||
"8": {
|
||||
"name": "MedVent",
|
||||
"position": {
|
||||
"x": 15.41,
|
||||
"y": -1.8199997
|
||||
},
|
||||
"left": 1,
|
||||
"center": null,
|
||||
"right": 10
|
||||
},
|
||||
"9": {
|
||||
"name": "DeconVent",
|
||||
"position": {
|
||||
"x": 6.83,
|
||||
"y": 3.145
|
||||
},
|
||||
"left": 3,
|
||||
"center": 10,
|
||||
"right": 4
|
||||
},
|
||||
"10": {
|
||||
"name": "LockerVent",
|
||||
"position": {
|
||||
"x": 4.29,
|
||||
"y": 0.52999973
|
||||
},
|
||||
"left": 8,
|
||||
"center": 11,
|
||||
"right": 9
|
||||
},
|
||||
"11": {
|
||||
"name": "LaunchVent",
|
||||
"position": {
|
||||
"x": -6.1800003,
|
||||
"y": 3.5600002
|
||||
},
|
||||
"left": 3,
|
||||
"center": null,
|
||||
"right": 10
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"0": {
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": 11.255,
|
||||
"y": -9.4473
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": 7.4827003,
|
||||
"y": -10.922001
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": 5.4228,
|
||||
"y": -13.496
|
||||
}
|
||||
},
|
||||
"3": {
|
||||
"room": "LifeSupp",
|
||||
"position": {
|
||||
"x": 5.492,
|
||||
"y": -18.301
|
||||
}
|
||||
},
|
||||
"4": {
|
||||
"room": "LifeSupp",
|
||||
"position": {
|
||||
"x": 5.9068003,
|
||||
"y": -22.348
|
||||
}
|
||||
},
|
||||
"5": {
|
||||
"room": "Weapons",
|
||||
"position": {
|
||||
"x": 13.0322,
|
||||
"y": -20.701
|
||||
}
|
||||
},
|
||||
"6": {
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": 10.8987,
|
||||
"y": -19.159
|
||||
}
|
||||
},
|
||||
"7": {
|
||||
"room": "Office",
|
||||
"position": {
|
||||
"x": 28.757002,
|
||||
"y": -17.0636
|
||||
}
|
||||
},
|
||||
"8": {
|
||||
"room": "Office",
|
||||
"position": {
|
||||
"x": 17.417002,
|
||||
"y": -21.7231
|
||||
}
|
||||
},
|
||||
"9": {
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": 26.608002,
|
||||
"y": -8.808
|
||||
}
|
||||
},
|
||||
"10": {
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": 24.780003,
|
||||
"y": -9.5651
|
||||
}
|
||||
},
|
||||
"11": {
|
||||
"room": "Storage",
|
||||
"position": {
|
||||
"x": 17.293001,
|
||||
"y": -10.882
|
||||
}
|
||||
},
|
||||
"12": {
|
||||
"room": "Decontamination",
|
||||
"position": {
|
||||
"x": 25.512001,
|
||||
"y": -24.559002
|
||||
}
|
||||
},
|
||||
"13": {
|
||||
"room": "Decontamination",
|
||||
"position": {
|
||||
"x": 23.897001,
|
||||
"y": -23.512001
|
||||
}
|
||||
},
|
||||
"14": {
|
||||
"room": "Decontamination",
|
||||
"position": {
|
||||
"x": 37.992004,
|
||||
"y": -9.6214
|
||||
}
|
||||
},
|
||||
"15": {
|
||||
"room": "Decontamination",
|
||||
"position": {
|
||||
"x": 39.067,
|
||||
"y": -11.361
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"initialSpawnCenter": {
|
||||
"x": 16.64,
|
||||
"y": -2.46
|
||||
},
|
||||
"meetingSpawnCenter": {
|
||||
"x": 17.4,
|
||||
"y": -16.286
|
||||
},
|
||||
"meetingSpawnCenter2": {
|
||||
"x": 17.4,
|
||||
"y": -17.515
|
||||
},
|
||||
"spawnRadius": 1
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"Electrical": "SwitchSystem",
|
||||
"MedBay": "MedScanSystem",
|
||||
"Doors": "DoorsSystemType",
|
||||
"Comms": "HudOverrideSystemType",
|
||||
"Security": "SecurityCameraSystemType",
|
||||
"Ventilation": "VentilationSystem",
|
||||
"Laboratory": "ReactorSystemType",
|
||||
"Sabotage": "SabotageSystemType"
|
||||
}
|
||||
@@ -0,0 +1,884 @@
|
||||
{
|
||||
"0": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "SwipeCard",
|
||||
"hudText": "Office: Swipe Card",
|
||||
"length": "Common",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Office",
|
||||
"position": {
|
||||
"x": 24.816444,
|
||||
"y": -16.217522
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"1": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "InsertKeys",
|
||||
"hudText": "Dropship: Insert Keys",
|
||||
"length": "Common",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Dropship",
|
||||
"position": {
|
||||
"x": 17.38076,
|
||||
"y": 0.08402014
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"2": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "ScanBoardingPass",
|
||||
"hudText": "Office: Scan Boarding Pass",
|
||||
"length": "Common",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Office",
|
||||
"position": {
|
||||
"x": 25.75001,
|
||||
"y": -16.03081
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"3": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "FixWiring",
|
||||
"hudText": "O2: Fix Wiring (0/3)",
|
||||
"length": "Common",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": 3.0672798,
|
||||
"y": -8.691476
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "LifeSupp",
|
||||
"position": {
|
||||
"x": 6.499,
|
||||
"y": -18.458
|
||||
},
|
||||
"usableDistance": 0.77
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Office",
|
||||
"position": {
|
||||
"x": 16.373749,
|
||||
"y": -18.505589
|
||||
},
|
||||
"usableDistance": 0.8
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"room": "Decontamination",
|
||||
"position": {
|
||||
"x": 40.61,
|
||||
"y": -8.96
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": 37.321003,
|
||||
"y": -8.944
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": 32.975002,
|
||||
"y": -9.031365
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"4": {
|
||||
"type": "UploadDataTask",
|
||||
"taskType": "UploadData",
|
||||
"hudText": "Weapons: Download Data (0/2) ",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": 11.71978,
|
||||
"y": -15.145192
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"5": {
|
||||
"type": "UploadDataTask",
|
||||
"taskType": "UploadData",
|
||||
"hudText": "Office: Download Data (0/2) ",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": 11.71978,
|
||||
"y": -15.145192
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"6": {
|
||||
"type": "UploadDataTask",
|
||||
"taskType": "UploadData",
|
||||
"hudText": "Electrical: Download Data (0/2) ",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": 11.71978,
|
||||
"y": -15.145192
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"7": {
|
||||
"type": "UploadDataTask",
|
||||
"taskType": "UploadData",
|
||||
"hudText": "Specimen Room: Download Data (0/2) ",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": 11.71978,
|
||||
"y": -15.145192
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"8": {
|
||||
"type": "UploadDataTask",
|
||||
"taskType": "UploadData",
|
||||
"hudText": "O2: Download Data (0/2) ",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": 11.71978,
|
||||
"y": -15.145192
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"9": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "StartReactor",
|
||||
"hudText": "Specimen Room: Start Reactor",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Specimens",
|
||||
"position": {
|
||||
"x": 34.757774,
|
||||
"y": -18.878536
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"10": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "FuelEngines",
|
||||
"hudText": "Storage: Fuel Engines (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": []
|
||||
},
|
||||
"11": {
|
||||
"type": "WaterWayTask",
|
||||
"taskType": "OpenWaterways",
|
||||
"hudText": "Boiler Room: Open Waterways (0/3)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "BoilerRoom",
|
||||
"position": {
|
||||
"x": 3.669,
|
||||
"y": -24.15
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "BoilerRoom",
|
||||
"position": {
|
||||
"x": 0.9430001,
|
||||
"y": -24.15
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"room": "BoilerRoom",
|
||||
"position": {
|
||||
"x": 18.417002,
|
||||
"y": -23.72
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"12": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "InspectSample",
|
||||
"hudText": "MedBay: Inspect Sample",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 36.52848,
|
||||
"y": -5.5693474
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"13": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "ReplaceWaterJug",
|
||||
"hudText": "Boiler Room: Replace Water Jug (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": []
|
||||
},
|
||||
"14": {
|
||||
"type": "WeatherNodeTask",
|
||||
"taskType": "FixWeatherNode",
|
||||
"hudText": "Node_GI: Fix Weather Node (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 23.04,
|
||||
"y": -6.94
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 8.37,
|
||||
"y": -15.46
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 7.16,
|
||||
"y": -25.36
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 14.96,
|
||||
"y": -25.44
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 14.48,
|
||||
"y": -12.17
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 30.86,
|
||||
"y": -12.23
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"15": {
|
||||
"type": "WeatherNodeTask",
|
||||
"taskType": "FixWeatherNode",
|
||||
"hudText": "Node_IRO: Fix Weather Node (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 23.04,
|
||||
"y": -6.94
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 8.37,
|
||||
"y": -15.46
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 7.16,
|
||||
"y": -25.36
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 14.96,
|
||||
"y": -25.44
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 14.48,
|
||||
"y": -12.17
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 30.86,
|
||||
"y": -12.23
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"16": {
|
||||
"type": "WeatherNodeTask",
|
||||
"taskType": "FixWeatherNode",
|
||||
"hudText": "Node_PD: Fix Weather Node (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 23.04,
|
||||
"y": -6.94
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 8.37,
|
||||
"y": -15.46
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 7.16,
|
||||
"y": -25.36
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 14.96,
|
||||
"y": -25.44
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 14.48,
|
||||
"y": -12.17
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 30.86,
|
||||
"y": -12.23
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"17": {
|
||||
"type": "WeatherNodeTask",
|
||||
"taskType": "FixWeatherNode",
|
||||
"hudText": "Node_TB: Fix Weather Node (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 23.04,
|
||||
"y": -6.94
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 8.37,
|
||||
"y": -15.46
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 7.16,
|
||||
"y": -25.36
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 14.96,
|
||||
"y": -25.44
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 14.48,
|
||||
"y": -12.17
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 30.86,
|
||||
"y": -12.23
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"18": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "RebootWifi",
|
||||
"hudText": "Communications: Reboot Wifi",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Comms",
|
||||
"position": {
|
||||
"x": 11.047999,
|
||||
"y": -15.297912
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"19": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "MonitorOxygen",
|
||||
"hudText": "O2: Monitor Tree",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 1.654,
|
||||
"y": -16.012001
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"20": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "UnlockManifolds",
|
||||
"hudText": "Specimen Room: Unlock Manifolds",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Specimens",
|
||||
"position": {
|
||||
"x": 34.381306,
|
||||
"y": -19.486675
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"21": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "StoreArtifacts",
|
||||
"hudText": "Specimen Room: Store Artifacts",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Specimens",
|
||||
"position": {
|
||||
"x": 36.481117,
|
||||
"y": -18.82867
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"22": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "FillCanisters",
|
||||
"hudText": "O2: Fill Canisters",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "LifeSupp",
|
||||
"position": {
|
||||
"x": 1.1431961,
|
||||
"y": -19.525873
|
||||
},
|
||||
"usableDistance": 0.6
|
||||
}
|
||||
]
|
||||
},
|
||||
"23": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "EmptyGarbage",
|
||||
"hudText": "O2: Empty Garbage",
|
||||
"length": "Short",
|
||||
"consoles": []
|
||||
},
|
||||
"24": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "ChartCourse",
|
||||
"hudText": "Dropship: Chart Course",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Dropship",
|
||||
"position": {
|
||||
"x": 15.974811,
|
||||
"y": 0.08402014
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"25": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "SubmitScan",
|
||||
"hudText": "MedBay: Submit Scan",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "MedBay",
|
||||
"position": {
|
||||
"x": 40.327003,
|
||||
"y": -7.082
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"26": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "ClearAsteroids",
|
||||
"hudText": "Weapons: Clear Asteroids (0/20)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Weapons",
|
||||
"position": {
|
||||
"x": 9.929073,
|
||||
"y": -22.390993
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"27": {
|
||||
"type": "WeatherNodeTask",
|
||||
"taskType": "FixWeatherNode",
|
||||
"hudText": "Node_CA: Fix Weather Node (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 23.04,
|
||||
"y": -6.94
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 8.37,
|
||||
"y": -15.46
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 7.16,
|
||||
"y": -25.36
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 14.96,
|
||||
"y": -25.44
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 14.48,
|
||||
"y": -12.17
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 30.86,
|
||||
"y": -12.23
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"28": {
|
||||
"type": "WeatherNodeTask",
|
||||
"taskType": "FixWeatherNode",
|
||||
"hudText": "Node_MLG: Fix Weather Node (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 23.04,
|
||||
"y": -6.94
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 8.37,
|
||||
"y": -15.46
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 7.16,
|
||||
"y": -25.36
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 14.96,
|
||||
"y": -25.44
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 14.48,
|
||||
"y": -12.17
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 30.86,
|
||||
"y": -12.23
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"29": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "AlignTelescope",
|
||||
"hudText": "Laboratory: Align Telescope",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": 33.868427,
|
||||
"y": -5.4712653
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"30": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "RepairDrill",
|
||||
"hudText": "Laboratory: Repair Drill",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": 27.42095,
|
||||
"y": -6.982279
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"31": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "RecordTemperature",
|
||||
"hudText": "Laboratory: Record Temperature",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": 31.34464,
|
||||
"y": -6.67142
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Outside",
|
||||
"position": {
|
||||
"x": 30.93255,
|
||||
"y": -15.324791
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"32": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "RecordTemperature",
|
||||
"hudText": "Outside: Record Temperature",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Laboratory",
|
||||
"position": {
|
||||
"x": 31.34464,
|
||||
"y": -6.67142
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Outside",
|
||||
"position": {
|
||||
"x": 30.93255,
|
||||
"y": -15.324791
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
{
|
||||
"0": {
|
||||
"name": "ElectricalVent",
|
||||
"position": {
|
||||
"x": 1.9289999,
|
||||
"y": -9.558001
|
||||
},
|
||||
"left": 2,
|
||||
"center": null,
|
||||
"right": 1
|
||||
},
|
||||
"1": {
|
||||
"name": "ElecFenceVent",
|
||||
"position": {
|
||||
"x": 6.9,
|
||||
"y": -14.41
|
||||
},
|
||||
"left": 2,
|
||||
"center": null,
|
||||
"right": 0
|
||||
},
|
||||
"2": {
|
||||
"name": "LifeSuppVent",
|
||||
"position": {
|
||||
"x": 3.51,
|
||||
"y": -16.58
|
||||
},
|
||||
"left": 1,
|
||||
"center": null,
|
||||
"right": 0
|
||||
},
|
||||
"3": {
|
||||
"name": "CommsVent",
|
||||
"position": {
|
||||
"x": 12.304,
|
||||
"y": -18.897999
|
||||
},
|
||||
"left": 8,
|
||||
"center": null,
|
||||
"right": 4
|
||||
},
|
||||
"4": {
|
||||
"name": "OfficeVent",
|
||||
"position": {
|
||||
"x": 16.379,
|
||||
"y": -19.599
|
||||
},
|
||||
"left": 3,
|
||||
"center": null,
|
||||
"right": 8
|
||||
},
|
||||
"5": {
|
||||
"name": "AdminVent",
|
||||
"position": {
|
||||
"x": 20.089003,
|
||||
"y": -25.517
|
||||
},
|
||||
"left": 11,
|
||||
"center": null,
|
||||
"right": 7
|
||||
},
|
||||
"6": {
|
||||
"name": "BathroomVent",
|
||||
"position": {
|
||||
"x": 32.963,
|
||||
"y": -9.526
|
||||
},
|
||||
"left": null,
|
||||
"center": null,
|
||||
"right": 7
|
||||
},
|
||||
"7": {
|
||||
"name": "SubBathroomVent",
|
||||
"position": {
|
||||
"x": 30.907003,
|
||||
"y": -11.860001
|
||||
},
|
||||
"left": 6,
|
||||
"center": null,
|
||||
"right": 5
|
||||
},
|
||||
"8": {
|
||||
"name": "StorageVent",
|
||||
"position": {
|
||||
"x": 22,
|
||||
"y": -12.190001
|
||||
},
|
||||
"left": 3,
|
||||
"center": null,
|
||||
"right": 4
|
||||
},
|
||||
"9": {
|
||||
"name": "ScienceBuildingVent",
|
||||
"position": {
|
||||
"x": 23.72,
|
||||
"y": -7.82
|
||||
},
|
||||
"left": 10,
|
||||
"center": null,
|
||||
"right": null
|
||||
},
|
||||
"10": {
|
||||
"name": "ElectricBuildingVent",
|
||||
"position": {
|
||||
"x": 9.64,
|
||||
"y": -7.72
|
||||
},
|
||||
"left": 9,
|
||||
"center": null,
|
||||
"right": null
|
||||
},
|
||||
"11": {
|
||||
"name": "SouthVent",
|
||||
"position": {
|
||||
"x": 18.93,
|
||||
"y": -24.85
|
||||
},
|
||||
"left": null,
|
||||
"center": null,
|
||||
"right": 5
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"0": {
|
||||
"room": "Cafeteria",
|
||||
"position": {
|
||||
"x": -6.3936,
|
||||
"y": 1.33848
|
||||
}
|
||||
},
|
||||
"1": {
|
||||
"room": "Storage",
|
||||
"position": {
|
||||
"x": -5.268,
|
||||
"y": -14.2884
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"room": "UpperEngine",
|
||||
"position": {
|
||||
"x": -16.930801,
|
||||
"y": -2.1276002
|
||||
}
|
||||
},
|
||||
"3": {
|
||||
"room": "Cafeteria",
|
||||
"position": {
|
||||
"x": -0.708,
|
||||
"y": -4.992
|
||||
}
|
||||
},
|
||||
"4": {
|
||||
"room": "LowerEngine",
|
||||
"position": {
|
||||
"x": -14.6808,
|
||||
"y": -11.472
|
||||
}
|
||||
},
|
||||
"5": {
|
||||
"room": "UpperEngine",
|
||||
"position": {
|
||||
"x": -14.676002,
|
||||
"y": 1.3406401
|
||||
}
|
||||
},
|
||||
"6": {
|
||||
"room": "Security",
|
||||
"position": {
|
||||
"x": -14.734801,
|
||||
"y": -5.1417603
|
||||
}
|
||||
},
|
||||
"7": {
|
||||
"room": "Storage",
|
||||
"position": {
|
||||
"x": 1.1316001,
|
||||
"y": -11.98128
|
||||
}
|
||||
},
|
||||
"8": {
|
||||
"room": "Cafeteria",
|
||||
"position": {
|
||||
"x": 5.1432004,
|
||||
"y": 1.3355999
|
||||
}
|
||||
},
|
||||
"9": {
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": -9.53616,
|
||||
"y": -13.416001
|
||||
}
|
||||
},
|
||||
"10": {
|
||||
"room": "MedBay",
|
||||
"position": {
|
||||
"x": -9.1452,
|
||||
"y": -0.4439999
|
||||
}
|
||||
},
|
||||
"11": {
|
||||
"room": "LowerEngine",
|
||||
"position": {
|
||||
"x": -16.930801,
|
||||
"y": -8.9664
|
||||
}
|
||||
},
|
||||
"12": {
|
||||
"room": "Storage",
|
||||
"position": {
|
||||
"x": -0.70919997,
|
||||
"y": -8.560801
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"initialSpawnCenter": {
|
||||
"x": -0.72,
|
||||
"y": 0.62
|
||||
},
|
||||
"meetingSpawnCenter": {
|
||||
"x": -0.72,
|
||||
"y": 0.62
|
||||
},
|
||||
"meetingSpawnCenter2": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"spawnRadius": 1.6
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"Electrical": "SwitchSystem",
|
||||
"MedBay": "MedScanSystem",
|
||||
"Doors": "AutoDoorsSystemType",
|
||||
"Comms": "HudOverrideSystemType",
|
||||
"Security": "SecurityCameraSystemType",
|
||||
"Reactor": "ReactorSystemType",
|
||||
"LifeSupp": "LifeSuppSystemType",
|
||||
"Ventilation": "VentilationSystem",
|
||||
"Sabotage": "SabotageSystemType"
|
||||
}
|
||||
@@ -0,0 +1,643 @@
|
||||
{
|
||||
"0": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "SwipeCard",
|
||||
"hudText": "Admin: Swipe Card",
|
||||
"length": "Common",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": 5.6352005,
|
||||
"y": -8.632801
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"1": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "FixWiring",
|
||||
"hudText": "Storage: Fix Wiring (0/3)",
|
||||
"length": "Common",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": 1.392,
|
||||
"y": -6.4092
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"room": "Cafeteria",
|
||||
"position": {
|
||||
"x": -5.2811995,
|
||||
"y": 5.2464
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"room": "Nav",
|
||||
"position": {
|
||||
"x": 14.5199995,
|
||||
"y": -3.7740002
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": -7.7279997,
|
||||
"y": -7.6668
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Storage",
|
||||
"position": {
|
||||
"x": -1.932,
|
||||
"y": -8.7204
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"room": "Security",
|
||||
"position": {
|
||||
"x": -15.5592,
|
||||
"y": -4.5923996
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"2": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "ClearAsteroids",
|
||||
"hudText": "Weapons: Clear Asteroids (0/20)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Weapons",
|
||||
"position": {
|
||||
"x": 9.087601,
|
||||
"y": 1.812
|
||||
},
|
||||
"usableDistance": 1.2
|
||||
}
|
||||
]
|
||||
},
|
||||
"3": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "AlignEngineOutput",
|
||||
"hudText": "Upper Engine: Align Engine Output (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 1,
|
||||
"room": "LowerEngine",
|
||||
"position": {
|
||||
"x": -19.150799,
|
||||
"y": -12.618
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"room": "UpperEngine",
|
||||
"position": {
|
||||
"x": -19.176,
|
||||
"y": -0.41442212
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"4": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "SubmitScan",
|
||||
"hudText": "MedBay: Submit Scan",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "MedBay",
|
||||
"position": {
|
||||
"x": -7.3284,
|
||||
"y": -5.2476006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"5": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "InspectSample",
|
||||
"hudText": "MedBay: Inspect Sample",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "MedBay",
|
||||
"position": {
|
||||
"x": -6.144,
|
||||
"y": -4.2599998
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"6": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "FuelEngines",
|
||||
"hudText": "Storage: Fuel Engines (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": []
|
||||
},
|
||||
"7": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "StartReactor",
|
||||
"hudText": "Reactor: Start Reactor",
|
||||
"length": "Long",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": -21.792,
|
||||
"y": -5.5728
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"8": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "EmptyChute",
|
||||
"hudText": "O2: Empty Chute (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": []
|
||||
},
|
||||
"9": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "EmptyGarbage",
|
||||
"hudText": "Cafeteria: Empty Garbage (0/2)",
|
||||
"length": "Long",
|
||||
"consoles": []
|
||||
},
|
||||
"10": {
|
||||
"type": "UploadDataTask",
|
||||
"taskType": "UploadData",
|
||||
"hudText": "Communications: Download Data (0/2) ",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": 2.5079997,
|
||||
"y": -6.2652006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"11": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "CalibrateDistributor",
|
||||
"hudText": "Electrical: Calibrate Distributor",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": -5.8644004,
|
||||
"y": -7.4772
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"12": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "ChartCourse",
|
||||
"hudText": "Navigation: Chart Course",
|
||||
"length": "Short",
|
||||
"consoles": []
|
||||
},
|
||||
"13": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "CleanO2Filter",
|
||||
"hudText": "O2: Clean O2 Filter",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "LifeSupp",
|
||||
"position": {
|
||||
"x": 5.7432,
|
||||
"y": -2.9772
|
||||
},
|
||||
"usableDistance": 0.8
|
||||
}
|
||||
]
|
||||
},
|
||||
"14": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "UnlockManifolds",
|
||||
"hudText": "Reactor: Unlock Manifolds",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": -22.536001,
|
||||
"y": -2.4996
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"15": {
|
||||
"type": "UploadDataTask",
|
||||
"taskType": "UploadData",
|
||||
"hudText": "Electrical: Download Data (0/2) ",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": 2.5079997,
|
||||
"y": -6.2652006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"16": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "StabilizeSteering",
|
||||
"hudText": "Navigation: Stabilize Steering",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Nav",
|
||||
"position": {
|
||||
"x": 18.732,
|
||||
"y": -4.728
|
||||
},
|
||||
"usableDistance": 1.25
|
||||
}
|
||||
]
|
||||
},
|
||||
"17": {
|
||||
"type": "UploadDataTask",
|
||||
"taskType": "UploadData",
|
||||
"hudText": "Weapons: Download Data (0/2) ",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": 2.5079997,
|
||||
"y": -6.2652006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"18": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "PrimeShields",
|
||||
"hudText": "Shields: Prime Shields",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Shields",
|
||||
"position": {
|
||||
"x": 7.526399,
|
||||
"y": -13.981199
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"19": {
|
||||
"type": "UploadDataTask",
|
||||
"taskType": "UploadData",
|
||||
"hudText": "Cafeteria: Download Data (0/2) ",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": 2.5079997,
|
||||
"y": -6.2652006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"20": {
|
||||
"type": "UploadDataTask",
|
||||
"taskType": "UploadData",
|
||||
"hudText": "Navigation: Download Data (0/2) ",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": 2.5079997,
|
||||
"y": -6.2652006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"21": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Electrical: Divert Power to Shields (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": -9,
|
||||
"y": -7.2936006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"22": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Electrical: Divert Power to Weapons (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": -9,
|
||||
"y": -7.2936006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"23": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Electrical: Divert Power to Communications (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": -9,
|
||||
"y": -7.2936006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"24": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Electrical: Divert Power to Upper Engine (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": -9,
|
||||
"y": -7.2936006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"25": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Electrical: Divert Power to O2 (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": -9,
|
||||
"y": -7.2936006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"26": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Electrical: Divert Power to Navigation (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": -9,
|
||||
"y": -7.2936006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"27": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Electrical: Divert Power to Lower Engine (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": -9,
|
||||
"y": -7.2936006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"28": {
|
||||
"type": "DivertPowerTask",
|
||||
"taskType": "DivertPower",
|
||||
"hudText": "Electrical: Divert Power to Security (0/2)",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": -9,
|
||||
"y": -7.2936006
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"29": {
|
||||
"type": "NormalPlayerTask",
|
||||
"taskType": "VentCleaning",
|
||||
"hudText": "Electrical: Clean Vent",
|
||||
"length": "Short",
|
||||
"consoles": [
|
||||
{
|
||||
"id": 0,
|
||||
"room": "Admin",
|
||||
"position": {
|
||||
"x": 2.544,
|
||||
"y": -9.955201
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"room": "Cafeteria",
|
||||
"position": {
|
||||
"x": 4.2588,
|
||||
"y": -0.27600002
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"room": "Nav",
|
||||
"position": {
|
||||
"x": 16.008001,
|
||||
"y": -6.3840003
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"room": "Nav",
|
||||
"position": {
|
||||
"x": 16.008001,
|
||||
"y": -3.1680002
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"room": "Weapons",
|
||||
"position": {
|
||||
"x": 8.820001,
|
||||
"y": 3.3240001
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"room": "Shields",
|
||||
"position": {
|
||||
"x": 9.5232,
|
||||
"y": -14.337601
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"room": "Hallway",
|
||||
"position": {
|
||||
"x": 9.384,
|
||||
"y": -6.438
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"room": "Electrical",
|
||||
"position": {
|
||||
"x": -9.7764,
|
||||
"y": -8.034
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": -20.796001,
|
||||
"y": -6.9528003
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"room": "Reactor",
|
||||
"position": {
|
||||
"x": -21.876,
|
||||
"y": -3.0516002
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"room": "LowerEngine",
|
||||
"position": {
|
||||
"x": -15.2508,
|
||||
"y": -13.656001
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"room": "UpperEngine",
|
||||
"position": {
|
||||
"x": -15.288,
|
||||
"y": 2.52
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"room": "Security",
|
||||
"position": {
|
||||
"x": -12.534,
|
||||
"y": -6.9492
|
||||
},
|
||||
"usableDistance": 1
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"room": "MedBay",
|
||||
"position": {
|
||||
"x": -10.608001,
|
||||
"y": -4.176
|
||||
},
|
||||
"usableDistance": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"0": {
|
||||
"name": "AdminVent",
|
||||
"position": {
|
||||
"x": 2.544,
|
||||
"y": -9.955201
|
||||
},
|
||||
"left": 2,
|
||||
"center": null,
|
||||
"right": 1
|
||||
},
|
||||
"1": {
|
||||
"name": "BigYVent",
|
||||
"position": {
|
||||
"x": 9.384,
|
||||
"y": -6.438
|
||||
},
|
||||
"left": 0,
|
||||
"center": null,
|
||||
"right": 2
|
||||
},
|
||||
"2": {
|
||||
"name": "CafeVent",
|
||||
"position": {
|
||||
"x": 4.2588,
|
||||
"y": -0.27600002
|
||||
},
|
||||
"left": 0,
|
||||
"center": null,
|
||||
"right": 1
|
||||
},
|
||||
"3": {
|
||||
"name": "ElecVent",
|
||||
"position": {
|
||||
"x": -9.7764,
|
||||
"y": -8.034
|
||||
},
|
||||
"left": 5,
|
||||
"center": null,
|
||||
"right": 6
|
||||
},
|
||||
"4": {
|
||||
"name": "LEngineVent",
|
||||
"position": {
|
||||
"x": -15.288,
|
||||
"y": 2.52
|
||||
},
|
||||
"left": 11,
|
||||
"center": null,
|
||||
"right": null
|
||||
},
|
||||
"5": {
|
||||
"name": "SecurityVent",
|
||||
"position": {
|
||||
"x": -12.534,
|
||||
"y": -6.9492
|
||||
},
|
||||
"left": 6,
|
||||
"center": null,
|
||||
"right": 3
|
||||
},
|
||||
"6": {
|
||||
"name": "MedVent",
|
||||
"position": {
|
||||
"x": -10.608001,
|
||||
"y": -4.176
|
||||
},
|
||||
"left": 3,
|
||||
"center": null,
|
||||
"right": 5
|
||||
},
|
||||
"7": {
|
||||
"name": "WeaponsVent",
|
||||
"position": {
|
||||
"x": 8.820001,
|
||||
"y": 3.3240001
|
||||
},
|
||||
"left": null,
|
||||
"center": null,
|
||||
"right": 12
|
||||
},
|
||||
"8": {
|
||||
"name": "ReactorVent",
|
||||
"position": {
|
||||
"x": -20.796001,
|
||||
"y": -6.9528003
|
||||
},
|
||||
"left": null,
|
||||
"center": null,
|
||||
"right": 9
|
||||
},
|
||||
"9": {
|
||||
"name": "REngineVent",
|
||||
"position": {
|
||||
"x": -15.2508,
|
||||
"y": -13.656001
|
||||
},
|
||||
"left": 8,
|
||||
"center": null,
|
||||
"right": null
|
||||
},
|
||||
"10": {
|
||||
"name": "ShieldsVent",
|
||||
"position": {
|
||||
"x": 9.5232,
|
||||
"y": -14.337601
|
||||
},
|
||||
"left": null,
|
||||
"center": null,
|
||||
"right": 13
|
||||
},
|
||||
"11": {
|
||||
"name": "UpperReactorVent",
|
||||
"position": {
|
||||
"x": -21.876,
|
||||
"y": -3.0516002
|
||||
},
|
||||
"left": null,
|
||||
"center": null,
|
||||
"right": 4
|
||||
},
|
||||
"12": {
|
||||
"name": "NavVentNorth",
|
||||
"position": {
|
||||
"x": 16.008001,
|
||||
"y": -3.1680002
|
||||
},
|
||||
"left": 7,
|
||||
"center": null,
|
||||
"right": null
|
||||
},
|
||||
"13": {
|
||||
"name": "NavVentSouth",
|
||||
"position": {
|
||||
"x": 16.008001,
|
||||
"y": -6.3840003
|
||||
},
|
||||
"left": 10,
|
||||
"center": null,
|
||||
"right": null
|
||||
}
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public enum DisconnectReason
|
||||
{
|
||||
ExitGame = 0,
|
||||
Destroy = 16,
|
||||
|
||||
// The game you tried to join is full.
|
||||
// Check with the host to see if you can join next round.
|
||||
GameFull = 1,
|
||||
|
||||
// The game you tried to join already started.
|
||||
// Check with the host to see if you can join next round.
|
||||
GameStarted = 2,
|
||||
|
||||
// Could not find the game you're looking for..
|
||||
GameMissing = 3,
|
||||
IncorrectGame = 18,
|
||||
|
||||
// For this a message can be given, specifying an empty message shows
|
||||
// "An unknown error disconnected you from the server."
|
||||
// 4, 12, 13, 14, 15 also count as Custom
|
||||
Custom = 8,
|
||||
|
||||
// You are running an older version of the game.
|
||||
// Please update to play with others.
|
||||
IncorrectVersion = 5,
|
||||
|
||||
// You were banned from { GameCode ?? "the room" }
|
||||
// You cannot rejoin that room.
|
||||
Banned = 6,
|
||||
|
||||
// You were kicked from { GameCode ?? "the room" }
|
||||
// You can rejoin if the room hasn't started.
|
||||
Kicked = 7,
|
||||
|
||||
// You were banned for hacking.
|
||||
// Please stop.
|
||||
Hacking = 10,
|
||||
|
||||
// GameModes.LocalGame:
|
||||
// You disconnected from the host.
|
||||
// If this happens often, check your WiFi strength.
|
||||
//
|
||||
// GameModes.OnlineGame:
|
||||
// You disconnected from the server.
|
||||
// If this happens often, check your network strength.
|
||||
// This may also be a server issue.
|
||||
Error = 17,
|
||||
|
||||
// The server stopped this game. Possibly due to inactivity.
|
||||
ServerRequest = 19,
|
||||
|
||||
// The Among Us servers are overloaded.
|
||||
// Sorry! Please try again later!
|
||||
ServerFull = 20,
|
||||
|
||||
FocusLostBackground = 207,
|
||||
|
||||
// You may not join another game for another { BanMinutesLeft } minutes after intentionally disconnecting.
|
||||
IntentionalLeaving = 208,
|
||||
|
||||
// You were disconnected because Among Us was suspended by another app.
|
||||
FocusLost = 209,
|
||||
|
||||
NewConnection = 210,
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
using System;
|
||||
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
[Flags]
|
||||
public enum GameKeywords : uint
|
||||
{
|
||||
All = 0,
|
||||
English = 256,
|
||||
SpanishLA = 2,
|
||||
Brazilian = 2048,
|
||||
Portuguese = 16,
|
||||
Korean = 4,
|
||||
Russian = 8,
|
||||
Dutch = 4096,
|
||||
Filipino = 64,
|
||||
French = 8192,
|
||||
German = 16384,
|
||||
Italian = 32768,
|
||||
Japanese = 512,
|
||||
SpanishEU = 1024,
|
||||
Arabic = 32,
|
||||
Polish = 128,
|
||||
SChinese = 65536,
|
||||
TChinese = 131072,
|
||||
Irish = 262144,
|
||||
Other = 1,
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public enum GameOverReason : byte
|
||||
{
|
||||
HumansByVote = 0,
|
||||
HumansByTask = 1,
|
||||
ImpostorByVote = 2,
|
||||
ImpostorByKill = 3,
|
||||
ImpostorBySabotage = 4,
|
||||
ImpostorDisconnect = 5,
|
||||
HumansDisconnect = 6,
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public interface ITask
|
||||
{
|
||||
int Id { get; }
|
||||
|
||||
string Name { get; }
|
||||
|
||||
TaskTypes Type { get; }
|
||||
|
||||
TaskCategories Category { get; }
|
||||
|
||||
bool IsVisual { get; }
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
using System.Numerics;
|
||||
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public interface IVent
|
||||
{
|
||||
int Id { get; }
|
||||
|
||||
string Name { get; }
|
||||
|
||||
Vector2 Position { get; }
|
||||
|
||||
IVent? Left { get; }
|
||||
|
||||
IVent? Center { get; }
|
||||
|
||||
IVent? Right { get; }
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public enum Language
|
||||
{
|
||||
English,
|
||||
SpanishLA,
|
||||
Brazilian,
|
||||
Portuguese,
|
||||
Korean,
|
||||
Russian,
|
||||
Dutch,
|
||||
Filipino,
|
||||
French,
|
||||
German,
|
||||
Italian,
|
||||
Japanese,
|
||||
SpanishEU,
|
||||
}
|
||||
}
|
||||
@@ -5,11 +5,11 @@ namespace Impostor.Api.Innersloth
|
||||
[Flags]
|
||||
public enum MapFlags
|
||||
{
|
||||
Skeld = 1,
|
||||
MiraHQ = 2,
|
||||
Polus = 4,
|
||||
Airship = 16,
|
||||
|
||||
// 8 is taken by Dleks
|
||||
Skeld = 1 << 0,
|
||||
MiraHQ = 1 << 1,
|
||||
Polus = 1 << 2,
|
||||
Dleks = 1 << 3,
|
||||
Airship = 1 << 4,
|
||||
Fungle = 1 << 5,
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,8 @@
|
||||
Skeld = 0,
|
||||
MiraHQ = 1,
|
||||
Polus = 2,
|
||||
Dleks = 3,
|
||||
Airship = 4,
|
||||
Fungle = 5,
|
||||
}
|
||||
}
|
||||
@@ -1,94 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using Impostor.Api.Innersloth.Maps.Tasks;
|
||||
using Impostor.Api.Innersloth.Maps.Vents;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Maps
|
||||
{
|
||||
public class AirshipData : IMapData
|
||||
{
|
||||
private readonly IReadOnlyDictionary<int, IVent> _vents;
|
||||
private readonly IReadOnlyDictionary<int, ITask> _tasks;
|
||||
|
||||
internal AirshipData()
|
||||
{
|
||||
var vents = new[]
|
||||
{
|
||||
new AirshipVent(this, AirshipVent.Ids.Vault, new Vector2(-12.6322f, 8.4735f), left: AirshipVent.Ids.Cockpit),
|
||||
new AirshipVent(this, AirshipVent.Ids.Cockpit, new Vector2(-22.099f, -1.512f), left: AirshipVent.Ids.Vault, right: AirshipVent.Ids.ViewingDeck),
|
||||
new AirshipVent(this, AirshipVent.Ids.ViewingDeck, new Vector2(-15.659f, -11.6991f), left: AirshipVent.Ids.Cockpit),
|
||||
new AirshipVent(this, AirshipVent.Ids.EngineRoom, new Vector2(0.203f, -2.5361f), left: AirshipVent.Ids.Kitchen, right: AirshipVent.Ids.MainHallBottom),
|
||||
new AirshipVent(this, AirshipVent.Ids.Kitchen, new Vector2(-2.6019f, -9.338f), left: AirshipVent.Ids.EngineRoom, right: AirshipVent.Ids.MainHallBottom),
|
||||
new AirshipVent(this, AirshipVent.Ids.MainHallBottom, new Vector2(7.021f, -3.730999f), left: AirshipVent.Ids.EngineRoom, right: AirshipVent.Ids.Kitchen),
|
||||
new AirshipVent(this, AirshipVent.Ids.GapRight, new Vector2(9.814f, 3.206f), left: AirshipVent.Ids.MainHallTop, right: AirshipVent.Ids.GapLeft),
|
||||
new AirshipVent(this, AirshipVent.Ids.GapLeft, new Vector2(12.663f, 5.922f), left: AirshipVent.Ids.MainHallTop, right: AirshipVent.Ids.GapRight),
|
||||
new AirshipVent(this, AirshipVent.Ids.MainHallTop, new Vector2(3.605f, 6.923f), left: AirshipVent.Ids.GapLeft, right: AirshipVent.Ids.GapRight),
|
||||
new AirshipVent(this, AirshipVent.Ids.Showers, new Vector2(23.9869f, -1.386f), left: AirshipVent.Ids.Records, right: AirshipVent.Ids.CargoBay),
|
||||
new AirshipVent(this, AirshipVent.Ids.Records, new Vector2(23.2799f, 8.259998f), left: AirshipVent.Ids.Showers, right: AirshipVent.Ids.CargoBay),
|
||||
new AirshipVent(this, AirshipVent.Ids.CargoBay, new Vector2(30.4409f, -3.577f), left: AirshipVent.Ids.Showers, right: AirshipVent.Ids.Records),
|
||||
};
|
||||
|
||||
Vents = vents.ToDictionary(x => x.Id, x => x).AsReadOnly();
|
||||
_vents = vents.ToDictionary(x => (int)x.Id, x => (IVent)x).AsReadOnly();
|
||||
|
||||
var tasks = new[]
|
||||
{
|
||||
new AirshipTask(AirshipTask.Ids.ElectricalFixWiring, TaskTypes.FixWiring, TaskCategories.CommonTask),
|
||||
new AirshipTask(AirshipTask.Ids.MeetingRoomEnterIDCode, TaskTypes.EnterIdCode, TaskCategories.CommonTask),
|
||||
new AirshipTask(AirshipTask.Ids.ElectricalCalibrateDistributor, TaskTypes.CalibrateDistributor, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.ElectricalResetBreakers, TaskTypes.ResetBreakers, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.VaultRoomDownloadData, TaskTypes.UploadData, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.BrigDownloadData, TaskTypes.UploadData, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.CargoBayDownloadData, TaskTypes.UploadData, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.GapRoomDownloadData, TaskTypes.UploadData, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.RecordsDownloadData, TaskTypes.UploadData, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.CargoBayUnlockSafe, TaskTypes.UnlockSafe, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.VentilationStartFans, TaskTypes.StartFans, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.MainHallEmptyGarbage, TaskTypes.EmptyGarbage, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.MedicalEmptyGarbage, TaskTypes.EmptyGarbage, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.KitchenEmptyGarbage, TaskTypes.EmptyGarbage, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.MainHallDevelopPhotos, TaskTypes.DevelopPhotos, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.CargoBayFuelEngines, TaskTypes.FuelEngines, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.SecurityRewindTapes, TaskTypes.RewindTapes, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.LoungeEmptyGarbage, TaskTypes.EmptyGarbage, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.ShowersEmptyGarbage, TaskTypes.EmptyGarbage, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.VaultRoomPolishRuby, TaskTypes.PolishRuby, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.CockpitStabilizeSteering, TaskTypes.StabilizeSteering, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.ArmoryDownloadData, TaskTypes.UploadData, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.CockpitDownloadData, TaskTypes.UploadData, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.CommsDownloadData, TaskTypes.UploadData, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.MedicalDownloadData, TaskTypes.UploadData, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.ViewingDeckDownloadData, TaskTypes.UploadData, TaskCategories.LongTask),
|
||||
new AirshipTask(AirshipTask.Ids.ElectricalDivertPowerToArmory, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.ElectricalDivertPowerToCockpit, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.ElectricalDivertPowerToGapRoom, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.ElectricalDivertPowerToMainHall, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.ElectricalDivertPowerToMeetingRoom, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.ElectricalDivertPowerToShowers, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.ElectricalDivertPowerToEngine, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.ShowersPickUpTowels, TaskTypes.PickUpTowels, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.LoungeCleanToilet, TaskTypes.CleanToilet, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.VaultRoomDressMannequin, TaskTypes.DressMannequin, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.RecordsSortRecords, TaskTypes.SortRecords, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.ArmoryPutAwayPistols, TaskTypes.PutAwayPistols, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.ArmoryPutAwayRifles, TaskTypes.PutAwayRifles, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.MainHallDecontaminate, TaskTypes.Decontaminate, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.KitchenMakeBurger, TaskTypes.MakeBurger, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.ShowersFixShower, TaskTypes.FixShower, TaskCategories.ShortTask),
|
||||
new AirshipTask(AirshipTask.Ids.CleanVent, TaskTypes.VentCleaning, TaskCategories.ShortTask),
|
||||
};
|
||||
|
||||
Tasks = tasks.ToDictionary(x => x.Id, x => x).AsReadOnly();
|
||||
_tasks = tasks.ToDictionary(x => (int)x.Id, x => (ITask)x).AsReadOnly();
|
||||
}
|
||||
|
||||
public IReadOnlyDictionary<AirshipVent.Ids, AirshipVent> Vents { get; }
|
||||
|
||||
IReadOnlyDictionary<int, IVent> IMapData.Vents => _vents;
|
||||
|
||||
public IReadOnlyDictionary<AirshipTask.Ids, AirshipTask> Tasks { get; }
|
||||
|
||||
IReadOnlyDictionary<int, ITask> IMapData.Tasks => _tasks;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using System.Numerics;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Maps;
|
||||
|
||||
public sealed class DoorData
|
||||
{
|
||||
internal DoorData(int id, SystemTypes room, Vector2 position)
|
||||
{
|
||||
Id = id;
|
||||
Room = room;
|
||||
Position = position;
|
||||
}
|
||||
|
||||
public int Id { get; }
|
||||
|
||||
public SystemTypes Room { get; }
|
||||
|
||||
public Vector2 Position { get; }
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Maps
|
||||
{
|
||||
public interface IMapData
|
||||
{
|
||||
public static IReadOnlyDictionary<MapTypes, IMapData> Maps { get; } = new Dictionary<MapTypes, IMapData>
|
||||
{
|
||||
[MapTypes.Skeld] = new SkeldData(),
|
||||
[MapTypes.MiraHQ] = new MiraData(),
|
||||
[MapTypes.Polus] = new PolusData(),
|
||||
[MapTypes.Airship] = new AirshipData(),
|
||||
}.AsReadOnly();
|
||||
|
||||
IReadOnlyDictionary<int, IVent> Vents { get; }
|
||||
|
||||
IReadOnlyDictionary<int, ITask> Tasks { get; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Maps;
|
||||
|
||||
public abstract class MapData
|
||||
{
|
||||
protected internal MapData()
|
||||
{
|
||||
}
|
||||
|
||||
public static IReadOnlyDictionary<MapTypes, MapData> Maps { get; } = new Dictionary<MapTypes, MapData>
|
||||
{
|
||||
[MapTypes.Skeld] = new SkeldData(),
|
||||
[MapTypes.MiraHQ] = new MiraData(),
|
||||
[MapTypes.Polus] = new PolusData(),
|
||||
[MapTypes.Airship] = new AirshipData(),
|
||||
[MapTypes.Fungle] = new FungleData(),
|
||||
}.AsReadOnly();
|
||||
|
||||
public abstract IReadOnlyDictionary<int, VentData> Vents { get; }
|
||||
|
||||
public abstract IReadOnlyDictionary<int, TaskData> Tasks { get; }
|
||||
|
||||
public abstract IReadOnlyDictionary<int, DoorData> Doors { get; }
|
||||
|
||||
public abstract float SpawnRadius { get; }
|
||||
|
||||
public abstract Vector2 InitialSpawnCenter { get; }
|
||||
|
||||
public abstract Vector2 MeetingSpawnCenter { get; }
|
||||
|
||||
public abstract Vector2 MeetingSpawnCenter2 { get; }
|
||||
}
|
||||
@@ -1,77 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using Impostor.Api.Innersloth.Maps.Tasks;
|
||||
using Impostor.Api.Innersloth.Maps.Vents;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Maps
|
||||
{
|
||||
public class MiraData : IMapData
|
||||
{
|
||||
private readonly IReadOnlyDictionary<int, IVent> _vents;
|
||||
private readonly IReadOnlyDictionary<int, ITask> _tasks;
|
||||
|
||||
internal MiraData()
|
||||
{
|
||||
var vents = new[]
|
||||
{
|
||||
new MiraVent(this, MiraVent.Ids.Balcony, new Vector2(23.77f, -1.94f), left: MiraVent.Ids.Medbay, right: MiraVent.Ids.Cafeteria),
|
||||
new MiraVent(this, MiraVent.Ids.Cafeteria, new Vector2(23.9f, 7.18f), left: MiraVent.Ids.Admin, right: MiraVent.Ids.Balcony),
|
||||
new MiraVent(this, MiraVent.Ids.Reactor, new Vector2(0.4800001f, 10.697f), left: MiraVent.Ids.Laboratory, center: MiraVent.Ids.Decontamination, right: MiraVent.Ids.Launchpad),
|
||||
new MiraVent(this, MiraVent.Ids.Laboratory, new Vector2(11.606f, 13.816f), left: MiraVent.Ids.Reactor, center: MiraVent.Ids.Decontamination, right: MiraVent.Ids.Office),
|
||||
new MiraVent(this, MiraVent.Ids.Office, new Vector2(13.28f, 20.13f), left: MiraVent.Ids.Laboratory, center: MiraVent.Ids.Admin, right: MiraVent.Ids.Greenhouse),
|
||||
new MiraVent(this, MiraVent.Ids.Admin, new Vector2(22.39f, 17.23f), left: MiraVent.Ids.Greenhouse, center: MiraVent.Ids.Cafeteria, right: MiraVent.Ids.Office),
|
||||
new MiraVent(this, MiraVent.Ids.Greenhouse, new Vector2(17.85f, 25.23f), left: MiraVent.Ids.Admin, right: MiraVent.Ids.Office),
|
||||
new MiraVent(this, MiraVent.Ids.Medbay, new Vector2(15.41f, -1.82f), left: MiraVent.Ids.Balcony, right: MiraVent.Ids.LockerRoom),
|
||||
new MiraVent(this, MiraVent.Ids.Decontamination, new Vector2(6.83f, 3.145f), left: MiraVent.Ids.Reactor, center: MiraVent.Ids.LockerRoom, right: MiraVent.Ids.Laboratory),
|
||||
new MiraVent(this, MiraVent.Ids.LockerRoom, new Vector2(4.29f, 0.5299997f), left: MiraVent.Ids.Medbay, center: MiraVent.Ids.Launchpad, right: MiraVent.Ids.Decontamination),
|
||||
new MiraVent(this, MiraVent.Ids.Launchpad, new Vector2(-6.18f, 3.56f), left: MiraVent.Ids.Reactor, right: MiraVent.Ids.LockerRoom),
|
||||
};
|
||||
|
||||
Vents = vents.ToDictionary(x => x.Id, x => x).AsReadOnly();
|
||||
_vents = vents.ToDictionary(x => (int)x.Id, x => (IVent)x).AsReadOnly();
|
||||
|
||||
var tasks = new[]
|
||||
{
|
||||
new MiraTask(MiraTask.Ids.HallwayFixWiring, TaskTypes.FixWiring, TaskCategories.CommonTask),
|
||||
new MiraTask(MiraTask.Ids.AdminEnterIDCode, TaskTypes.EnterIdCode, TaskCategories.CommonTask),
|
||||
new MiraTask(MiraTask.Ids.MedbaySubmitScan, TaskTypes.SubmitScan, TaskCategories.LongTask, true),
|
||||
new MiraTask(MiraTask.Ids.BalconyClearAsteroids, TaskTypes.ClearAsteroids, TaskCategories.LongTask),
|
||||
new MiraTask(MiraTask.Ids.ElectricalDivertPowerToAdmin, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.ElectricalDivertPowerToCafeteria, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.ElectricalDivertPowerToCommunications, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.ElectricalDivertPowerToLaunchpad, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.ElectricalDivertPowerToMedbay, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.ElectricalDivertPowerToOffice, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.StorageWaterPlants, TaskTypes.WaterPlants, TaskCategories.LongTask),
|
||||
new MiraTask(MiraTask.Ids.ReactorStartReactor, TaskTypes.StartReactor, TaskCategories.LongTask),
|
||||
new MiraTask(MiraTask.Ids.ElectricalDivertPowerToGreenhouse, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.AdminChartCourse, TaskTypes.ChartCourse, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.GreenhouseCleanO2Filter, TaskTypes.Filter, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.LaunchpadFuelEngines, TaskTypes.FuelEngines, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.LaboratoryAssembleArtifact, TaskTypes.AssembleArtifact, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.LaboratorySortSamples, TaskTypes.SortSamples, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.AdminPrimeShields, TaskTypes.PrimeShields, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.CafeteriaEmptyGarbage, TaskTypes.EmptyGarbage, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.BalconyMeasureWeather, TaskTypes.MeasureWeather, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.ElectricalDivertPowerToLaboratory, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.CafeteriaBuyBeverage, TaskTypes.BuyBeverage, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.OfficeProcessData, TaskTypes.ProcessData, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.LaunchpadRunDiagnostics, TaskTypes.RunDiagnostics, TaskCategories.LongTask),
|
||||
new MiraTask(MiraTask.Ids.ReactorUnlockManifolds, TaskTypes.UnlockManifolds, TaskCategories.ShortTask),
|
||||
new MiraTask(MiraTask.Ids.CleanVent, TaskTypes.VentCleaning, TaskCategories.ShortTask),
|
||||
};
|
||||
|
||||
Tasks = tasks.ToDictionary(x => x.Id, x => x).AsReadOnly();
|
||||
_tasks = tasks.ToDictionary(x => (int)x.Id, x => (ITask)x).AsReadOnly();
|
||||
}
|
||||
|
||||
public IReadOnlyDictionary<MiraVent.Ids, MiraVent> Vents { get; }
|
||||
|
||||
IReadOnlyDictionary<int, IVent> IMapData.Vents => _vents;
|
||||
|
||||
public IReadOnlyDictionary<MiraTask.Ids, MiraTask> Tasks { get; }
|
||||
|
||||
IReadOnlyDictionary<int, ITask> IMapData.Tasks => _tasks;
|
||||
}
|
||||
}
|
||||
@@ -1,84 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using Impostor.Api.Innersloth.Maps.Tasks;
|
||||
using Impostor.Api.Innersloth.Maps.Vents;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Maps
|
||||
{
|
||||
public class PolusData : IMapData
|
||||
{
|
||||
private readonly IReadOnlyDictionary<int, IVent> _vents;
|
||||
private readonly IReadOnlyDictionary<int, ITask> _tasks;
|
||||
|
||||
internal PolusData()
|
||||
{
|
||||
var vents = new[]
|
||||
{
|
||||
new PolusVent(this, PolusVent.Ids.Security, new Vector2(1.929f, -9.558001f), left: PolusVent.Ids.O2, right: PolusVent.Ids.Electrical),
|
||||
new PolusVent(this, PolusVent.Ids.Electrical, new Vector2(6.9f, -14.41f), left: PolusVent.Ids.O2, right: PolusVent.Ids.Security),
|
||||
new PolusVent(this, PolusVent.Ids.O2, new Vector2(3.51f, -16.58f), left: PolusVent.Ids.Electrical, right: PolusVent.Ids.Security),
|
||||
new PolusVent(this, PolusVent.Ids.Communications, new Vector2(12.304f, -18.898f), left: PolusVent.Ids.Storage, right: PolusVent.Ids.Office),
|
||||
new PolusVent(this, PolusVent.Ids.Office, new Vector2(16.379f, -19.599f), left: PolusVent.Ids.Communications, right: PolusVent.Ids.Storage),
|
||||
new PolusVent(this, PolusVent.Ids.Admin, new Vector2(20.089f, -25.517f), left: PolusVent.Ids.OutsideAdmin, right: PolusVent.Ids.Lava),
|
||||
new PolusVent(this, PolusVent.Ids.Laboratory, new Vector2(32.963f, -9.526f), right: PolusVent.Ids.Lava),
|
||||
new PolusVent(this, PolusVent.Ids.Lava, new Vector2(30.907f, -11.86f), left: PolusVent.Ids.Laboratory, right: PolusVent.Ids.Admin),
|
||||
new PolusVent(this, PolusVent.Ids.Storage, new Vector2(22f, -12.19f), left: PolusVent.Ids.Communications, right: PolusVent.Ids.Office),
|
||||
new PolusVent(this, PolusVent.Ids.RightStabilizer, new Vector2(23.72f, -7.82f), left: PolusVent.Ids.LeftStabilizer),
|
||||
new PolusVent(this, PolusVent.Ids.LeftStabilizer, new Vector2(9.64f, -7.72f), left: PolusVent.Ids.RightStabilizer),
|
||||
new PolusVent(this, PolusVent.Ids.OutsideAdmin, new Vector2(18.93f, -24.85f), right: PolusVent.Ids.Admin),
|
||||
};
|
||||
|
||||
Vents = vents.ToDictionary(x => x.Id, x => x).AsReadOnly();
|
||||
_vents = vents.ToDictionary(x => (int)x.Id, x => (IVent)x).AsReadOnly();
|
||||
|
||||
var tasks = new[]
|
||||
{
|
||||
new PolusTask(PolusTask.Ids.OfficeSwipeCard, TaskTypes.SwipeCard, TaskCategories.CommonTask),
|
||||
new PolusTask(PolusTask.Ids.DropshipInsertKeys, TaskTypes.InsertKeys, TaskCategories.CommonTask),
|
||||
new PolusTask(PolusTask.Ids.OfficeScanBoardingPass, TaskTypes.ScanBoardingPass, TaskCategories.CommonTask),
|
||||
new PolusTask(PolusTask.Ids.ElectricalFixWiring, TaskTypes.FixWiring, TaskCategories.CommonTask),
|
||||
new PolusTask(PolusTask.Ids.WeaponsDownloadData, TaskTypes.UploadData, TaskCategories.ShortTask),
|
||||
new PolusTask(PolusTask.Ids.OfficeDownloadData, TaskTypes.UploadData, TaskCategories.ShortTask),
|
||||
new PolusTask(PolusTask.Ids.ElectricalDownloadData, TaskTypes.UploadData, TaskCategories.ShortTask),
|
||||
new PolusTask(PolusTask.Ids.SpecimenRoomDownloadData, TaskTypes.UploadData, TaskCategories.ShortTask),
|
||||
new PolusTask(PolusTask.Ids.O2DownloadData, TaskTypes.UploadData, TaskCategories.ShortTask),
|
||||
new PolusTask(PolusTask.Ids.SpecimenRoomStartReactor, TaskTypes.StartReactor, TaskCategories.LongTask),
|
||||
new PolusTask(PolusTask.Ids.StorageFuelEngines, TaskTypes.FuelEngines, TaskCategories.LongTask),
|
||||
new PolusTask(PolusTask.Ids.BoilerRoomOpenWaterways, TaskTypes.OpenWaterways, TaskCategories.LongTask),
|
||||
new PolusTask(PolusTask.Ids.MedbayInspectSample, TaskTypes.InspectSample, TaskCategories.LongTask),
|
||||
new PolusTask(PolusTask.Ids.BoilerRoomReplaceWaterJug, TaskTypes.ReplaceWaterJug, TaskCategories.LongTask),
|
||||
new PolusTask(PolusTask.Ids.OutsideFixWeatherNodeNode_GI, TaskTypes.ActivateWeatherNodes, TaskCategories.LongTask),
|
||||
new PolusTask(PolusTask.Ids.OutsideFixWeatherNodeNode_IRO, TaskTypes.ActivateWeatherNodes, TaskCategories.LongTask),
|
||||
new PolusTask(PolusTask.Ids.OutsideFixWeatherNodeNode_PD, TaskTypes.ActivateWeatherNodes, TaskCategories.LongTask),
|
||||
new PolusTask(PolusTask.Ids.OutsideFixWeatherNodeNode_TB, TaskTypes.ActivateWeatherNodes, TaskCategories.LongTask),
|
||||
new PolusTask(PolusTask.Ids.CommunicationsRebootWiFi, TaskTypes.RebootWifi, TaskCategories.LongTask),
|
||||
new PolusTask(PolusTask.Ids.O2MonitorTree, TaskTypes.MonitorOxygen, TaskCategories.ShortTask),
|
||||
new PolusTask(PolusTask.Ids.SpecimenRoomUnlockManifolds, TaskTypes.UnlockManifolds, TaskCategories.ShortTask),
|
||||
new PolusTask(PolusTask.Ids.SpecimenRoomStoreArtifacts, TaskTypes.StoreArtifact, TaskCategories.ShortTask),
|
||||
new PolusTask(PolusTask.Ids.O2FillCanisters, TaskTypes.FillCanisters, TaskCategories.ShortTask),
|
||||
new PolusTask(PolusTask.Ids.O2EmptyGarbage, TaskTypes.EmptyGarbage, TaskCategories.ShortTask),
|
||||
new PolusTask(PolusTask.Ids.DropshipChartCourse, TaskTypes.ChartCourse, TaskCategories.ShortTask),
|
||||
new PolusTask(PolusTask.Ids.MedbaySubmitScan, TaskTypes.SubmitScan, TaskCategories.ShortTask, true),
|
||||
new PolusTask(PolusTask.Ids.WeaponsClearAsteroids, TaskTypes.ClearAsteroids, TaskCategories.ShortTask, true),
|
||||
new PolusTask(PolusTask.Ids.OutsideFixWeatherNodeNode_CA, TaskTypes.ActivateWeatherNodes, TaskCategories.LongTask),
|
||||
new PolusTask(PolusTask.Ids.OutsideFixWeatherNodeNode_MLG, TaskTypes.ActivateWeatherNodes, TaskCategories.LongTask),
|
||||
new PolusTask(PolusTask.Ids.LaboratoryAlignTelescope, TaskTypes.AlignTelescope, TaskCategories.ShortTask),
|
||||
new PolusTask(PolusTask.Ids.LaboratoryRepairDrill, TaskTypes.RepairDrill, TaskCategories.ShortTask),
|
||||
new PolusTask(PolusTask.Ids.LaboratoryRecordTemperature, TaskTypes.RecordTemperature, TaskCategories.ShortTask),
|
||||
new PolusTask(PolusTask.Ids.OutsideRecordTemperature, TaskTypes.RecordTemperature, TaskCategories.ShortTask),
|
||||
};
|
||||
|
||||
Tasks = tasks.ToDictionary(x => x.Id, x => x).AsReadOnly();
|
||||
_tasks = tasks.ToDictionary(x => (int)x.Id, x => (ITask)x).AsReadOnly();
|
||||
}
|
||||
|
||||
public IReadOnlyDictionary<PolusVent.Ids, PolusVent> Vents { get; }
|
||||
|
||||
IReadOnlyDictionary<int, IVent> IMapData.Vents => _vents;
|
||||
|
||||
public IReadOnlyDictionary<PolusTask.Ids, PolusTask> Tasks { get; }
|
||||
|
||||
IReadOnlyDictionary<int, ITask> IMapData.Tasks => _tasks;
|
||||
}
|
||||
}
|
||||
@@ -1,83 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using Impostor.Api.Innersloth.Maps.Tasks;
|
||||
using Impostor.Api.Innersloth.Maps.Vents;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Maps
|
||||
{
|
||||
public class SkeldData : IMapData
|
||||
{
|
||||
private readonly IReadOnlyDictionary<int, IVent> _vents;
|
||||
private readonly IReadOnlyDictionary<int, ITask> _tasks;
|
||||
|
||||
internal SkeldData()
|
||||
{
|
||||
var vents = new[]
|
||||
{
|
||||
new SkeldVent(this, SkeldVent.Ids.Admin, new Vector2(2.544f, -9.955201f), left: SkeldVent.Ids.Cafeteria, right: SkeldVent.Ids.RightHallway),
|
||||
new SkeldVent(this, SkeldVent.Ids.RightHallway, new Vector2(9.384f, -6.438f), left: SkeldVent.Ids.Admin, right: SkeldVent.Ids.Cafeteria),
|
||||
new SkeldVent(this, SkeldVent.Ids.Cafeteria, new Vector2(4.2588f, -0.276f), left: SkeldVent.Ids.Admin, right: SkeldVent.Ids.RightHallway),
|
||||
new SkeldVent(this, SkeldVent.Ids.Electrical, new Vector2(-9.7764f, -8.034f), left: SkeldVent.Ids.Security, right: SkeldVent.Ids.Medbay),
|
||||
new SkeldVent(this, SkeldVent.Ids.UpperEngine, new Vector2(-15.288f, 2.52f), left: SkeldVent.Ids.UpperReactor),
|
||||
new SkeldVent(this, SkeldVent.Ids.Security, new Vector2(-12.534f, -6.9492f), left: SkeldVent.Ids.Medbay, right: SkeldVent.Ids.Electrical),
|
||||
new SkeldVent(this, SkeldVent.Ids.Medbay, new Vector2(-10.608f, -4.176f), left: SkeldVent.Ids.Security, right: SkeldVent.Ids.Electrical),
|
||||
new SkeldVent(this, SkeldVent.Ids.Weapons, new Vector2(8.820001f, 3.324f), right: SkeldVent.Ids.UpperNavigation),
|
||||
new SkeldVent(this, SkeldVent.Ids.LowerReactor, new Vector2(-20.796f, -6.9528f), left: SkeldVent.Ids.LowerEngine),
|
||||
new SkeldVent(this, SkeldVent.Ids.LowerEngine, new Vector2(-15.2508f, -13.656f), left: SkeldVent.Ids.LowerReactor),
|
||||
new SkeldVent(this, SkeldVent.Ids.Shields, new Vector2(9.5232f, -14.3376f), left: SkeldVent.Ids.LowerNavigation),
|
||||
new SkeldVent(this, SkeldVent.Ids.UpperReactor, new Vector2(-21.876f, -3.0516f), left: SkeldVent.Ids.UpperEngine),
|
||||
new SkeldVent(this, SkeldVent.Ids.UpperNavigation, new Vector2(16.008f, -3.168f), right: SkeldVent.Ids.Weapons),
|
||||
new SkeldVent(this, SkeldVent.Ids.LowerNavigation, new Vector2(16.008f, -6.384f), right: SkeldVent.Ids.Shields),
|
||||
};
|
||||
|
||||
Vents = vents.ToDictionary(x => x.Id, x => x).AsReadOnly();
|
||||
_vents = vents.ToDictionary(x => (int)x.Id, x => (IVent)x).AsReadOnly();
|
||||
|
||||
var tasks = new[]
|
||||
{
|
||||
new SkeldTask(SkeldTask.Ids.AdminSwipeCard, TaskTypes.SwipeCard, TaskCategories.CommonTask),
|
||||
new SkeldTask(SkeldTask.Ids.ElectricalFixWiring, TaskTypes.FixWiring, TaskCategories.CommonTask),
|
||||
new SkeldTask(SkeldTask.Ids.WeaponsClearAsteroids, TaskTypes.ClearAsteroids, TaskCategories.LongTask, true),
|
||||
new SkeldTask(SkeldTask.Ids.EnginesAlignEngineOutput, TaskTypes.AlignEngineOutput, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.MedbaySubmitScan, TaskTypes.SubmitScan, TaskCategories.LongTask, true),
|
||||
new SkeldTask(SkeldTask.Ids.MedbayInspectSample, TaskTypes.InspectSample, TaskCategories.LongTask),
|
||||
new SkeldTask(SkeldTask.Ids.StorageFuelEngines, TaskTypes.FuelEngines, TaskCategories.LongTask),
|
||||
new SkeldTask(SkeldTask.Ids.ReactorStartReactor, TaskTypes.StartReactor, TaskCategories.LongTask),
|
||||
new SkeldTask(SkeldTask.Ids.O2EmptyChute, TaskTypes.EmptyChute, TaskCategories.LongTask, true),
|
||||
new SkeldTask(SkeldTask.Ids.CafeteriaEmptyGarbage, TaskTypes.EmptyGarbage, TaskCategories.LongTask, true),
|
||||
new SkeldTask(SkeldTask.Ids.CommunicationsDownloadData, TaskTypes.UploadData, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.ElectricalCalibrateDistributor, TaskTypes.CalibrateDistributor, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.NavigationChartCourse, TaskTypes.ChartCourse, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.O2CleanO2Filter, TaskTypes.Filter, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.ReactorUnlockManifolds, TaskTypes.UnlockManifolds, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.ElectricalDownloadData, TaskTypes.UploadData, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.NavigationStabilizeSteering, TaskTypes.StabilizeSteering, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.WeaponsDownloadData, TaskTypes.UploadData, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.ShieldsPrimeShields, TaskTypes.PrimeShields, TaskCategories.ShortTask, true),
|
||||
new SkeldTask(SkeldTask.Ids.CafeteriaDownloadData, TaskTypes.UploadData, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.NavigationDownloadData, TaskTypes.UploadData, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.ElectricalDivertPowerToShields, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.ElectricalDivertPowerToWeapons, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.ElectricalDivertPowerToCommunications, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.ElectricalDivertPowerToUpperEngine, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.ElectricalDivertPowerToO2, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.ElectricalDivertPowerToNavigation, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.ElectricalDivertPowerToLowerEngine, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.ElectricalDivertPowerToSecurity, TaskTypes.DivertPower, TaskCategories.ShortTask),
|
||||
new SkeldTask(SkeldTask.Ids.CleanVent, TaskTypes.VentCleaning, TaskCategories.ShortTask),
|
||||
};
|
||||
|
||||
Tasks = tasks.ToDictionary(x => x.Id, x => x).AsReadOnly();
|
||||
_tasks = tasks.ToDictionary(x => (int)x.Id, x => (ITask)x).AsReadOnly();
|
||||
}
|
||||
|
||||
public IReadOnlyDictionary<SkeldVent.Ids, SkeldVent> Vents { get; }
|
||||
|
||||
IReadOnlyDictionary<int, IVent> IMapData.Vents => _vents;
|
||||
|
||||
public IReadOnlyDictionary<SkeldTask.Ids, SkeldTask> Tasks { get; }
|
||||
|
||||
IReadOnlyDictionary<int, ITask> IMapData.Tasks => _tasks;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
namespace Impostor.Api.Innersloth.Maps;
|
||||
|
||||
public sealed class TaskData
|
||||
{
|
||||
internal TaskData(int id, TaskTypes type, TaskCategories category, bool isVisual = false)
|
||||
{
|
||||
Id = id;
|
||||
Name = id.ToString();
|
||||
Type = type;
|
||||
Category = category;
|
||||
IsVisual = isVisual;
|
||||
}
|
||||
|
||||
public int Id { get; }
|
||||
|
||||
public string Name { get; }
|
||||
|
||||
public TaskTypes Type { get; }
|
||||
|
||||
public TaskCategories Category { get; }
|
||||
|
||||
public bool IsVisual { get; }
|
||||
}
|
||||
@@ -1,73 +0,0 @@
|
||||
namespace Impostor.Api.Innersloth.Maps.Tasks
|
||||
{
|
||||
public class AirshipTask : ITask
|
||||
{
|
||||
internal AirshipTask(Ids id, TaskTypes type, TaskCategories category, bool isVisual = false)
|
||||
{
|
||||
Id = id;
|
||||
Name = id.ToString();
|
||||
Type = type;
|
||||
Category = category;
|
||||
IsVisual = isVisual;
|
||||
}
|
||||
|
||||
public enum Ids
|
||||
{
|
||||
ElectricalFixWiring = 0,
|
||||
MeetingRoomEnterIDCode = 1,
|
||||
ElectricalCalibrateDistributor = 2,
|
||||
ElectricalResetBreakers = 3,
|
||||
VaultRoomDownloadData = 4,
|
||||
BrigDownloadData = 5,
|
||||
CargoBayDownloadData = 6,
|
||||
GapRoomDownloadData = 7,
|
||||
RecordsDownloadData = 8,
|
||||
CargoBayUnlockSafe = 9,
|
||||
VentilationStartFans = 10,
|
||||
MainHallEmptyGarbage = 11,
|
||||
MedicalEmptyGarbage = 12,
|
||||
KitchenEmptyGarbage = 13,
|
||||
MainHallDevelopPhotos = 14,
|
||||
CargoBayFuelEngines = 15,
|
||||
SecurityRewindTapes = 16,
|
||||
LoungeEmptyGarbage = 17,
|
||||
ShowersEmptyGarbage = 18,
|
||||
VaultRoomPolishRuby = 19,
|
||||
CockpitStabilizeSteering = 20,
|
||||
ArmoryDownloadData = 21,
|
||||
CockpitDownloadData = 22,
|
||||
CommsDownloadData = 23,
|
||||
MedicalDownloadData = 24,
|
||||
ViewingDeckDownloadData = 25,
|
||||
ElectricalDivertPowerToArmory = 26,
|
||||
ElectricalDivertPowerToCockpit = 27,
|
||||
ElectricalDivertPowerToGapRoom = 28,
|
||||
ElectricalDivertPowerToMainHall = 29,
|
||||
ElectricalDivertPowerToMeetingRoom = 30,
|
||||
ElectricalDivertPowerToShowers = 31,
|
||||
ElectricalDivertPowerToEngine = 32,
|
||||
ShowersPickUpTowels = 33,
|
||||
LoungeCleanToilet = 34,
|
||||
VaultRoomDressMannequin = 35,
|
||||
RecordsSortRecords = 36,
|
||||
ArmoryPutAwayPistols = 37,
|
||||
ArmoryPutAwayRifles = 38,
|
||||
MainHallDecontaminate = 39,
|
||||
KitchenMakeBurger = 40,
|
||||
ShowersFixShower = 41,
|
||||
CleanVent = 42,
|
||||
}
|
||||
|
||||
public Ids Id { get; }
|
||||
|
||||
int ITask.Id => (int)Id;
|
||||
|
||||
public string Name { get; }
|
||||
|
||||
public TaskTypes Type { get; }
|
||||
|
||||
public TaskCategories Category { get; }
|
||||
|
||||
public bool IsVisual { get; }
|
||||
}
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
namespace Impostor.Api.Innersloth.Maps.Tasks
|
||||
{
|
||||
public class MiraTask : ITask
|
||||
{
|
||||
internal MiraTask(Ids id, TaskTypes type, TaskCategories category, bool isVisual = false)
|
||||
{
|
||||
Id = id;
|
||||
Name = id.ToString();
|
||||
Type = type;
|
||||
Category = category;
|
||||
IsVisual = isVisual;
|
||||
}
|
||||
|
||||
public enum Ids
|
||||
{
|
||||
HallwayFixWiring = 0,
|
||||
AdminEnterIDCode = 1,
|
||||
MedbaySubmitScan = 2,
|
||||
BalconyClearAsteroids = 3,
|
||||
ElectricalDivertPowerToAdmin = 4,
|
||||
ElectricalDivertPowerToCafeteria = 5,
|
||||
ElectricalDivertPowerToCommunications = 6,
|
||||
ElectricalDivertPowerToLaunchpad = 7,
|
||||
ElectricalDivertPowerToMedbay = 8,
|
||||
ElectricalDivertPowerToOffice = 9,
|
||||
StorageWaterPlants = 10,
|
||||
ReactorStartReactor = 11,
|
||||
ElectricalDivertPowerToGreenhouse = 12,
|
||||
AdminChartCourse = 13,
|
||||
GreenhouseCleanO2Filter = 14,
|
||||
LaunchpadFuelEngines = 15,
|
||||
LaboratoryAssembleArtifact = 16,
|
||||
LaboratorySortSamples = 17,
|
||||
AdminPrimeShields = 18,
|
||||
CafeteriaEmptyGarbage = 19,
|
||||
BalconyMeasureWeather = 20,
|
||||
ElectricalDivertPowerToLaboratory = 21,
|
||||
CafeteriaBuyBeverage = 22,
|
||||
OfficeProcessData = 23,
|
||||
LaunchpadRunDiagnostics = 24,
|
||||
ReactorUnlockManifolds = 25,
|
||||
CleanVent = 26,
|
||||
}
|
||||
|
||||
public Ids Id { get; }
|
||||
|
||||
int ITask.Id => (int)Id;
|
||||
|
||||
public string Name { get; }
|
||||
|
||||
public TaskTypes Type { get; }
|
||||
|
||||
public TaskCategories Category { get; }
|
||||
|
||||
public bool IsVisual { get; }
|
||||
}
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
namespace Impostor.Api.Innersloth.Maps.Tasks
|
||||
{
|
||||
public class PolusTask : ITask
|
||||
{
|
||||
internal PolusTask(Ids id, TaskTypes type, TaskCategories category, bool isVisual = false)
|
||||
{
|
||||
Id = id;
|
||||
Name = id.ToString();
|
||||
Type = type;
|
||||
Category = category;
|
||||
IsVisual = isVisual;
|
||||
}
|
||||
|
||||
public enum Ids
|
||||
{
|
||||
OfficeSwipeCard = 0,
|
||||
DropshipInsertKeys = 1,
|
||||
OfficeScanBoardingPass = 2,
|
||||
ElectricalFixWiring = 3,
|
||||
WeaponsDownloadData = 4,
|
||||
OfficeDownloadData = 5,
|
||||
ElectricalDownloadData = 6,
|
||||
SpecimenRoomDownloadData = 7,
|
||||
O2DownloadData = 8,
|
||||
SpecimenRoomStartReactor = 9,
|
||||
StorageFuelEngines = 10,
|
||||
BoilerRoomOpenWaterways = 11,
|
||||
MedbayInspectSample = 12,
|
||||
BoilerRoomReplaceWaterJug = 13,
|
||||
OutsideFixWeatherNodeNode_GI = 14,
|
||||
OutsideFixWeatherNodeNode_IRO = 15,
|
||||
OutsideFixWeatherNodeNode_PD = 16,
|
||||
OutsideFixWeatherNodeNode_TB = 17,
|
||||
CommunicationsRebootWiFi = 18,
|
||||
O2MonitorTree = 19,
|
||||
SpecimenRoomUnlockManifolds = 20,
|
||||
SpecimenRoomStoreArtifacts = 21,
|
||||
O2FillCanisters = 22,
|
||||
O2EmptyGarbage = 23,
|
||||
DropshipChartCourse = 24,
|
||||
MedbaySubmitScan = 25,
|
||||
WeaponsClearAsteroids = 26,
|
||||
OutsideFixWeatherNodeNode_CA = 27,
|
||||
OutsideFixWeatherNodeNode_MLG = 28,
|
||||
LaboratoryAlignTelescope = 29,
|
||||
LaboratoryRepairDrill = 30,
|
||||
LaboratoryRecordTemperature = 31,
|
||||
OutsideRecordTemperature = 32,
|
||||
}
|
||||
|
||||
public Ids Id { get; }
|
||||
|
||||
int ITask.Id => (int)Id;
|
||||
|
||||
public string Name { get; }
|
||||
|
||||
public TaskTypes Type { get; }
|
||||
|
||||
public TaskCategories Category { get; }
|
||||
|
||||
public bool IsVisual { get; }
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
namespace Impostor.Api.Innersloth.Maps.Tasks
|
||||
{
|
||||
public class SkeldTask : ITask
|
||||
{
|
||||
internal SkeldTask(Ids id, TaskTypes type, TaskCategories category, bool isVisual = false)
|
||||
{
|
||||
Id = id;
|
||||
Name = id.ToString();
|
||||
Type = type;
|
||||
Category = category;
|
||||
IsVisual = isVisual;
|
||||
}
|
||||
|
||||
public enum Ids
|
||||
{
|
||||
AdminSwipeCard = 0,
|
||||
ElectricalFixWiring = 1,
|
||||
WeaponsClearAsteroids = 2,
|
||||
EnginesAlignEngineOutput = 3,
|
||||
MedbaySubmitScan = 4,
|
||||
MedbayInspectSample = 5,
|
||||
StorageFuelEngines = 6,
|
||||
ReactorStartReactor = 7,
|
||||
O2EmptyChute = 8,
|
||||
CafeteriaEmptyGarbage = 9,
|
||||
CommunicationsDownloadData = 10,
|
||||
ElectricalCalibrateDistributor = 11,
|
||||
NavigationChartCourse = 12,
|
||||
O2CleanO2Filter = 13,
|
||||
ReactorUnlockManifolds = 14,
|
||||
ElectricalDownloadData = 15,
|
||||
NavigationStabilizeSteering = 16,
|
||||
WeaponsDownloadData = 17,
|
||||
ShieldsPrimeShields = 18,
|
||||
CafeteriaDownloadData = 19,
|
||||
NavigationDownloadData = 20,
|
||||
ElectricalDivertPowerToShields = 21,
|
||||
ElectricalDivertPowerToWeapons = 22,
|
||||
ElectricalDivertPowerToCommunications = 23,
|
||||
ElectricalDivertPowerToUpperEngine = 24,
|
||||
ElectricalDivertPowerToO2 = 25,
|
||||
ElectricalDivertPowerToNavigation = 26,
|
||||
ElectricalDivertPowerToLowerEngine = 27,
|
||||
ElectricalDivertPowerToSecurity = 28,
|
||||
CleanVent = 29,
|
||||
}
|
||||
|
||||
public Ids Id { get; }
|
||||
|
||||
int ITask.Id => (int)Id;
|
||||
|
||||
public string Name { get; }
|
||||
|
||||
public TaskTypes Type { get; }
|
||||
|
||||
public TaskCategories Category { get; }
|
||||
|
||||
public bool IsVisual { get; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
using System;
|
||||
using System.Numerics;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Maps;
|
||||
|
||||
public class VentData
|
||||
{
|
||||
private readonly Lazy<VentData>? _left;
|
||||
|
||||
private readonly Lazy<VentData>? _center;
|
||||
|
||||
private readonly Lazy<VentData>? _right;
|
||||
|
||||
internal VentData(MapData data, int id, string name, Vector2 position, int? left = null, int? center = null, int? right = null)
|
||||
{
|
||||
Id = id;
|
||||
Name = name;
|
||||
Position = position;
|
||||
|
||||
_left = left == null ? null : new Lazy<VentData>(() => data.Vents[left.Value]);
|
||||
_center = center == null ? null : new Lazy<VentData>(() => data.Vents[center.Value]);
|
||||
_right = right == null ? null : new Lazy<VentData>(() => data.Vents[right.Value]);
|
||||
}
|
||||
|
||||
public int Id { get; }
|
||||
|
||||
public string Name { get; }
|
||||
|
||||
public Vector2 Position { get; }
|
||||
|
||||
public VentData? Left => _left?.Value;
|
||||
|
||||
public VentData? Center => _center?.Value;
|
||||
|
||||
public VentData? Right => _right?.Value;
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
using System;
|
||||
using System.Numerics;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Maps.Vents
|
||||
{
|
||||
public class AirshipVent : IVent
|
||||
{
|
||||
private readonly Lazy<AirshipVent>? _left;
|
||||
|
||||
private readonly Lazy<AirshipVent>? _center;
|
||||
|
||||
private readonly Lazy<AirshipVent>? _right;
|
||||
|
||||
internal AirshipVent(AirshipData data, Ids id, Vector2 position, Ids? left = null, Ids? center = null, Ids? right = null)
|
||||
{
|
||||
Id = id;
|
||||
Name = id.ToString();
|
||||
Position = position;
|
||||
|
||||
_left = left == null ? null : new Lazy<AirshipVent>(() => data.Vents[left.Value]);
|
||||
_center = center == null ? null : new Lazy<AirshipVent>(() => data.Vents[center.Value]);
|
||||
_right = right == null ? null : new Lazy<AirshipVent>(() => data.Vents[right.Value]);
|
||||
}
|
||||
|
||||
public enum Ids
|
||||
{
|
||||
Vault = 0,
|
||||
Cockpit = 1,
|
||||
ViewingDeck = 2,
|
||||
EngineRoom = 3,
|
||||
Kitchen = 4,
|
||||
MainHallBottom = 5,
|
||||
GapRight = 6,
|
||||
GapLeft = 7,
|
||||
MainHallTop = 8,
|
||||
Showers = 9,
|
||||
Records = 10,
|
||||
CargoBay = 11,
|
||||
}
|
||||
|
||||
public Ids Id { get; }
|
||||
|
||||
int IVent.Id => (int)Id;
|
||||
|
||||
public string Name { get; }
|
||||
|
||||
public Vector2 Position { get; }
|
||||
|
||||
public AirshipVent? Left => _left?.Value;
|
||||
|
||||
IVent? IVent.Left => Left;
|
||||
|
||||
public AirshipVent? Center => _center?.Value;
|
||||
|
||||
IVent? IVent.Center => Center;
|
||||
|
||||
public AirshipVent? Right => _right?.Value;
|
||||
|
||||
IVent? IVent.Right => Right;
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
using System;
|
||||
using System.Numerics;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Maps.Vents
|
||||
{
|
||||
public class MiraVent : IVent
|
||||
{
|
||||
private readonly Lazy<MiraVent>? _left;
|
||||
|
||||
private readonly Lazy<MiraVent>? _center;
|
||||
|
||||
private readonly Lazy<MiraVent>? _right;
|
||||
|
||||
internal MiraVent(MiraData data, Ids id, Vector2 position, Ids? left = null, Ids? center = null, Ids? right = null)
|
||||
{
|
||||
Id = id;
|
||||
Name = id.ToString();
|
||||
Position = position;
|
||||
|
||||
_left = left == null ? null : new Lazy<MiraVent>(() => data.Vents[left.Value]);
|
||||
_center = center == null ? null : new Lazy<MiraVent>(() => data.Vents[center.Value]);
|
||||
_right = right == null ? null : new Lazy<MiraVent>(() => data.Vents[right.Value]);
|
||||
}
|
||||
|
||||
public enum Ids
|
||||
{
|
||||
Balcony = 1,
|
||||
Cafeteria = 2,
|
||||
Reactor = 3,
|
||||
Laboratory = 4,
|
||||
Office = 5,
|
||||
Admin = 6,
|
||||
Greenhouse = 7,
|
||||
Medbay = 8,
|
||||
Decontamination = 9,
|
||||
LockerRoom = 10,
|
||||
Launchpad = 11,
|
||||
}
|
||||
|
||||
public Ids Id { get; }
|
||||
|
||||
int IVent.Id => (int)Id;
|
||||
|
||||
public string Name { get; }
|
||||
|
||||
public Vector2 Position { get; }
|
||||
|
||||
public MiraVent? Left => _left?.Value;
|
||||
|
||||
IVent? IVent.Left => Left;
|
||||
|
||||
public MiraVent? Center => _center?.Value;
|
||||
|
||||
IVent? IVent.Center => Center;
|
||||
|
||||
public MiraVent? Right => _right?.Value;
|
||||
|
||||
IVent? IVent.Right => Right;
|
||||
}
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
using System;
|
||||
using System.Numerics;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Maps.Vents
|
||||
{
|
||||
public class PolusVent : IVent
|
||||
{
|
||||
private readonly Lazy<PolusVent>? _left;
|
||||
|
||||
private readonly Lazy<PolusVent>? _center;
|
||||
|
||||
private readonly Lazy<PolusVent>? _right;
|
||||
|
||||
internal PolusVent(PolusData data, Ids id, Vector2 position, Ids? left = null, Ids? center = null, Ids? right = null)
|
||||
{
|
||||
Id = id;
|
||||
Name = id.ToString();
|
||||
Position = position;
|
||||
|
||||
_left = left == null ? null : new Lazy<PolusVent>(() => data.Vents[left.Value]);
|
||||
_center = center == null ? null : new Lazy<PolusVent>(() => data.Vents[center.Value]);
|
||||
_right = right == null ? null : new Lazy<PolusVent>(() => data.Vents[right.Value]);
|
||||
}
|
||||
|
||||
public enum Ids
|
||||
{
|
||||
Security = 0,
|
||||
Electrical = 1,
|
||||
O2 = 2,
|
||||
Communications = 3,
|
||||
Office = 4,
|
||||
Admin = 5,
|
||||
Laboratory = 6,
|
||||
Lava = 7,
|
||||
Storage = 8,
|
||||
RightStabilizer = 9,
|
||||
LeftStabilizer = 10,
|
||||
OutsideAdmin = 11,
|
||||
}
|
||||
|
||||
public Ids Id { get; }
|
||||
|
||||
int IVent.Id => (int)Id;
|
||||
|
||||
public string Name { get; }
|
||||
|
||||
public Vector2 Position { get; }
|
||||
|
||||
public PolusVent? Left => _left?.Value;
|
||||
|
||||
IVent? IVent.Left => Left;
|
||||
|
||||
public PolusVent? Center => _center?.Value;
|
||||
|
||||
IVent? IVent.Center => Center;
|
||||
|
||||
public PolusVent? Right => _right?.Value;
|
||||
|
||||
IVent? IVent.Right => Right;
|
||||
}
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
using System;
|
||||
using System.Numerics;
|
||||
|
||||
namespace Impostor.Api.Innersloth.Maps.Vents
|
||||
{
|
||||
public class SkeldVent : IVent
|
||||
{
|
||||
private readonly Lazy<SkeldVent>? _left;
|
||||
|
||||
private readonly Lazy<SkeldVent>? _center;
|
||||
|
||||
private readonly Lazy<SkeldVent>? _right;
|
||||
|
||||
internal SkeldVent(SkeldData data, Ids id, Vector2 position, Ids? left = null, Ids? center = null, Ids? right = null)
|
||||
{
|
||||
Id = id;
|
||||
Name = id.ToString();
|
||||
Position = position;
|
||||
|
||||
_left = left == null ? null : new Lazy<SkeldVent>(() => data.Vents[left.Value]);
|
||||
_center = center == null ? null : new Lazy<SkeldVent>(() => data.Vents[center.Value]);
|
||||
_right = right == null ? null : new Lazy<SkeldVent>(() => data.Vents[right.Value]);
|
||||
}
|
||||
|
||||
public enum Ids
|
||||
{
|
||||
Admin = 0,
|
||||
RightHallway = 1,
|
||||
Cafeteria = 2,
|
||||
Electrical = 3,
|
||||
UpperEngine = 4,
|
||||
Security = 5,
|
||||
Medbay = 6,
|
||||
Weapons = 7,
|
||||
LowerReactor = 8,
|
||||
LowerEngine = 9,
|
||||
Shields = 10,
|
||||
UpperReactor = 11,
|
||||
UpperNavigation = 12,
|
||||
LowerNavigation = 13,
|
||||
}
|
||||
|
||||
public Ids Id { get; }
|
||||
|
||||
int IVent.Id => (int)Id;
|
||||
|
||||
public string Name { get; }
|
||||
|
||||
public Vector2 Position { get; }
|
||||
|
||||
public SkeldVent? Left => _left?.Value;
|
||||
|
||||
IVent? IVent.Left => Left;
|
||||
|
||||
public SkeldVent? Center => _center?.Value;
|
||||
|
||||
IVent? IVent.Center => Center;
|
||||
|
||||
public SkeldVent? Right => _right?.Value;
|
||||
|
||||
IVent? IVent.Right => Right;
|
||||
}
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public enum Platforms
|
||||
{
|
||||
Unknown = 0,
|
||||
StandaloneEpicPC = 1,
|
||||
StandaloneSteamPC = 2,
|
||||
StandaloneMac = 3,
|
||||
StandaloneWin10 = 4,
|
||||
StandaloneItch = 5,
|
||||
IPhone = 6,
|
||||
Android = 7,
|
||||
Switch = 8,
|
||||
Xbox = 9,
|
||||
Playstation = 10,
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public enum RoleTypes : ushort
|
||||
{
|
||||
Crewmate,
|
||||
Impostor,
|
||||
Scientist,
|
||||
Engineer,
|
||||
GuardianAngel,
|
||||
Shapeshifter,
|
||||
CrewmateGhost,
|
||||
ImpostorGhost,
|
||||
}
|
||||
}
|
||||
@@ -1,101 +0,0 @@
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public enum SystemTypes : byte
|
||||
{
|
||||
Hallway = 0,
|
||||
|
||||
Storage = 1,
|
||||
|
||||
Cafeteria = 2,
|
||||
|
||||
Reactor = 3,
|
||||
|
||||
UpperEngine = 4,
|
||||
|
||||
Nav = 5,
|
||||
|
||||
Admin = 6,
|
||||
|
||||
Electrical = 7,
|
||||
|
||||
LifeSupp = 8,
|
||||
|
||||
Shields = 9,
|
||||
|
||||
MedBay = 10,
|
||||
|
||||
Security = 11,
|
||||
|
||||
Weapons = 12,
|
||||
|
||||
LowerEngine = 13,
|
||||
|
||||
Comms = 14,
|
||||
|
||||
ShipTasks = 15,
|
||||
|
||||
Doors = 16,
|
||||
|
||||
Sabotage = 17,
|
||||
|
||||
/// <remarks>The only decontamination on Mira and bottom decontamination on Polus.</remarks>
|
||||
Decontamination = 18,
|
||||
|
||||
Launchpad = 19,
|
||||
|
||||
LockerRoom = 20,
|
||||
|
||||
Laboratory = 21,
|
||||
|
||||
Balcony = 22,
|
||||
|
||||
Office = 23,
|
||||
|
||||
Greenhouse = 24,
|
||||
|
||||
Dropship = 25,
|
||||
|
||||
/// <remarks>Top decontamination on Polus.</remarks>
|
||||
Decontamination2 = 26,
|
||||
|
||||
Outside = 27,
|
||||
|
||||
Specimens = 28,
|
||||
|
||||
BoilerRoom = 29,
|
||||
|
||||
VaultRoom = 30,
|
||||
|
||||
Cockpit = 31,
|
||||
|
||||
Armory = 32,
|
||||
|
||||
Kitchen = 33,
|
||||
|
||||
ViewingDeck = 34,
|
||||
|
||||
HallOfPortraits = 35,
|
||||
|
||||
CargoBay = 36,
|
||||
|
||||
Ventilation = 37,
|
||||
|
||||
Showers = 38,
|
||||
|
||||
Engine = 39,
|
||||
|
||||
Brig = 40,
|
||||
|
||||
MeetingRoom = 41,
|
||||
|
||||
Records = 42,
|
||||
|
||||
Lounge = 43,
|
||||
|
||||
GapRoom = 44,
|
||||
|
||||
MainHall = 45,
|
||||
|
||||
Medical = 46,
|
||||
}
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
namespace Impostor.Api.Innersloth
|
||||
{
|
||||
public enum TaskTypes : uint
|
||||
{
|
||||
SubmitScan = 0,
|
||||
PrimeShields = 1,
|
||||
FuelEngines = 2,
|
||||
ChartCourse = 3,
|
||||
StartReactor = 4,
|
||||
SwipeCard = 5,
|
||||
ClearAsteroids = 6,
|
||||
UploadData = 7,
|
||||
InspectSample = 8,
|
||||
EmptyChute = 9,
|
||||
EmptyGarbage = 10,
|
||||
AlignEngineOutput = 11,
|
||||
FixWiring = 12,
|
||||
CalibrateDistributor = 13,
|
||||
DivertPower = 14,
|
||||
UnlockManifolds = 15,
|
||||
ResetReactor = 16,
|
||||
FixLights = 17,
|
||||
Filter = 18,
|
||||
FixComms = 19,
|
||||
RestoreOxy = 20,
|
||||
StabilizeSteering = 21,
|
||||
AssembleArtifact = 22,
|
||||
SortSamples = 23,
|
||||
MeasureWeather = 24,
|
||||
EnterIdCode = 25,
|
||||
BuyBeverage = 26,
|
||||
ProcessData = 27,
|
||||
RunDiagnostics = 28,
|
||||
WaterPlants = 29,
|
||||
MonitorOxygen = 30,
|
||||
StoreArtifact = 31,
|
||||
FillCanisters = 32,
|
||||
ActivateWeatherNodes = 33,
|
||||
InsertKeys = 34,
|
||||
ResetSeismic = 35,
|
||||
ScanBoardingPass = 36,
|
||||
OpenWaterways = 37,
|
||||
ReplaceWaterJug = 38,
|
||||
RepairDrill = 39,
|
||||
AlignTelescope = 40,
|
||||
RecordTemperature = 41,
|
||||
RebootWifi = 42,
|
||||
PolishRuby = 43,
|
||||
ResetBreakers = 44,
|
||||
Decontaminate = 45,
|
||||
MakeBurger = 46,
|
||||
UnlockSafe = 47,
|
||||
SortRecords = 48,
|
||||
PutAwayPistols = 49,
|
||||
FixShower = 50,
|
||||
CleanToilet = 51,
|
||||
DressMannequin = 52,
|
||||
PickUpTowels = 53,
|
||||
RewindTapes = 54,
|
||||
StartFans = 55,
|
||||
DevelopPhotos = 56,
|
||||
GetBiggolSword = 57,
|
||||
PutAwayRifles = 58,
|
||||
StopCharles = 59,
|
||||
VentCleaning = 60,
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
using System.Threading.Tasks;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Maps;
|
||||
|
||||
namespace Impostor.Api.Net.Inner.Objects
|
||||
{
|
||||
@@ -7,7 +7,7 @@ namespace Impostor.Api.Net.Inner.Objects
|
||||
{
|
||||
uint Id { get; }
|
||||
|
||||
ITask? Task { get; }
|
||||
TaskData? Task { get; }
|
||||
|
||||
bool Complete { get; }
|
||||
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
namespace Impostor.Api.Net.Inner
|
||||
{
|
||||
public enum RpcCalls : byte
|
||||
{
|
||||
PlayAnimation = 0,
|
||||
CompleteTask = 1,
|
||||
SyncSettings = 2,
|
||||
SetInfected = 3,
|
||||
Exiled = 4,
|
||||
CheckName = 5,
|
||||
SetName = 6,
|
||||
CheckColor = 7,
|
||||
SetColor = 8,
|
||||
ReportDeadBody = 11,
|
||||
MurderPlayer = 12,
|
||||
SendChat = 13,
|
||||
StartMeeting = 14,
|
||||
SetScanner = 15,
|
||||
SendChatNote = 16,
|
||||
SetStartCounter = 18,
|
||||
EnterVent = 19,
|
||||
ExitVent = 20,
|
||||
SnapTo = 21,
|
||||
Close = 22,
|
||||
VotingComplete = 23,
|
||||
CastVote = 24,
|
||||
ClearVote = 25,
|
||||
AddVote = 26,
|
||||
CloseDoorsOfType = 27,
|
||||
RepairSystem = 28,
|
||||
SetTasks = 29,
|
||||
ClimbLadder = 31,
|
||||
UsePlatform = 32,
|
||||
SendQuickChat = 33,
|
||||
BootFromVent = 34,
|
||||
UpdateSystem = 35,
|
||||
SetLevel = 38,
|
||||
SetHat = 39,
|
||||
SetSkin = 40,
|
||||
SetPet = 41,
|
||||
SetVisor = 42,
|
||||
SetNamePlate = 43,
|
||||
SetRole = 44,
|
||||
ProtectPlayer = 45,
|
||||
Shapeshift = 46,
|
||||
CheckMurder = 47,
|
||||
CheckProtect = 48,
|
||||
Pet = 49,
|
||||
CancelPet = 50,
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace Impostor.Api.Net.Messages.Rpcs
|
||||
{
|
||||
public static class Rpc38SetLevel
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, uint level)
|
||||
{
|
||||
writer.WritePacked(level);
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, out uint level)
|
||||
{
|
||||
level = reader.ReadPackedUInt32();
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
namespace Impostor.Api.Net.Messages.Rpcs
|
||||
{
|
||||
public static class Rpc39SetHat
|
||||
public static class Rpc39SetHatStr
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, string hat)
|
||||
{
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
namespace Impostor.Api.Net.Messages.Rpcs
|
||||
{
|
||||
public static class Rpc40SetSkin
|
||||
public static class Rpc40SetSkinStr
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, string skin)
|
||||
{
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
namespace Impostor.Api.Net.Messages.Rpcs
|
||||
{
|
||||
public static class Rpc41SetPet
|
||||
public static class Rpc41SetPetStr
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, string pet)
|
||||
{
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace Impostor.Api.Net.Messages.Rpcs
|
||||
{
|
||||
public static class Rpc42SetVisorStr
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, string visor)
|
||||
{
|
||||
writer.Write(visor);
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, out string visor)
|
||||
{
|
||||
visor = reader.ReadString();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
namespace Impostor.Api.Net.Messages.Rpcs
|
||||
{
|
||||
public static class Rpc43SetNamePlateStr
|
||||
{
|
||||
public static void Serialize(IMessageWriter writer, string namePlate)
|
||||
{
|
||||
writer.Write(namePlate);
|
||||
}
|
||||
|
||||
public static void Deserialize(IMessageReader reader, out string namePlate)
|
||||
{
|
||||
namePlate = reader.ReadString();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,4 @@
|
||||
using Impostor.Api.Events;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
namespace Impostor.Plugins.Example.Handlers
|
||||
|
||||
@@ -111,19 +111,19 @@ namespace Impostor.Plugins.Example.Handlers
|
||||
[EventListener]
|
||||
public void OnPlayerEnterVentEvent(IPlayerEnterVentEvent e)
|
||||
{
|
||||
_logger.LogInformation("Player {player} entered the vent in {vent}", e.PlayerControl.PlayerInfo.PlayerName, e.Vent.Name);
|
||||
_logger.LogInformation("Player {player} entered the vent in {vent} ({ventId})", e.PlayerControl.PlayerInfo.PlayerName, e.Vent.Name, e.Vent.Id);
|
||||
}
|
||||
|
||||
[EventListener]
|
||||
public void OnPlayerExitVentEvent(IPlayerExitVentEvent e)
|
||||
{
|
||||
_logger.LogInformation("Player {player} exited the vent in {vent}", e.PlayerControl.PlayerInfo.PlayerName, e.Vent.Name);
|
||||
_logger.LogInformation("Player {player} exited the vent in {vent} ({ventId})", e.PlayerControl.PlayerInfo.PlayerName, e.Vent.Name, e.Vent.Id);
|
||||
}
|
||||
|
||||
[EventListener]
|
||||
public void OnPlayerVentEvent(IPlayerVentEvent e)
|
||||
{
|
||||
_logger.LogInformation("Player {player} vented to {vent}", e.PlayerControl.PlayerInfo.PlayerName, e.NewVent.Name);
|
||||
_logger.LogInformation("Player {player} vented to {vent} ({ventId})", e.PlayerControl.PlayerInfo.PlayerName, e.NewVent.Name, e.NewVent.Id);
|
||||
}
|
||||
|
||||
[EventListener]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using Impostor.Api.Events.Player;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Maps;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace Impostor.Server.Events.Player
|
||||
{
|
||||
public class PlayerEnterVentEvent : IPlayerEnterVentEvent
|
||||
{
|
||||
public PlayerEnterVentEvent(IGame game, IClientPlayer sender, IInnerPlayerControl innerPlayerPhysics, IVent vent)
|
||||
public PlayerEnterVentEvent(IGame game, IClientPlayer sender, IInnerPlayerControl innerPlayerPhysics, VentData vent)
|
||||
{
|
||||
Game = game;
|
||||
ClientPlayer = sender;
|
||||
@@ -22,6 +22,6 @@ namespace Impostor.Server.Events.Player
|
||||
|
||||
public IInnerPlayerControl PlayerControl { get; }
|
||||
|
||||
public IVent Vent { get; }
|
||||
public VentData Vent { get; }
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
using Impostor.Api.Events.Player;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Maps;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace Impostor.Server.Events.Player
|
||||
{
|
||||
public class PlayerExitVentEvent : IPlayerExitVentEvent
|
||||
{
|
||||
public PlayerExitVentEvent(IGame game, IClientPlayer sender, IInnerPlayerControl innerPlayerPhysics, IVent vent)
|
||||
public PlayerExitVentEvent(IGame game, IClientPlayer sender, IInnerPlayerControl innerPlayerPhysics, VentData vent)
|
||||
{
|
||||
Game = game;
|
||||
ClientPlayer = sender;
|
||||
@@ -22,6 +22,6 @@ namespace Impostor.Server.Events.Player
|
||||
|
||||
public IInnerPlayerControl PlayerControl { get; }
|
||||
|
||||
public IVent Vent { get; }
|
||||
public VentData Vent { get; }
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
using Impostor.Api.Events.Player;
|
||||
using Impostor.Api.Games;
|
||||
using Impostor.Api.Innersloth;
|
||||
using Impostor.Api.Innersloth.Maps;
|
||||
using Impostor.Api.Net;
|
||||
using Impostor.Api.Net.Inner.Objects;
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace Impostor.Server.Events.Player
|
||||
{
|
||||
public class PlayerVentEvent : IPlayerVentEvent
|
||||
{
|
||||
public PlayerVentEvent(IGame game, IClientPlayer sender, IInnerPlayerControl innerPlayerPhysics, IVent vent)
|
||||
public PlayerVentEvent(IGame game, IClientPlayer sender, IInnerPlayerControl innerPlayerPhysics, VentData vent)
|
||||
{
|
||||
Game = game;
|
||||
ClientPlayer = sender;
|
||||
@@ -22,6 +22,6 @@ namespace Impostor.Server.Events.Player
|
||||
|
||||
public IInnerPlayerControl PlayerControl { get; }
|
||||
|
||||
public IVent NewVent { get; }
|
||||
public VentData NewVent { get; }
|
||||
}
|
||||
}
|
||||
Loaded 100 of 115 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user