using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using System.Text.RegularExpressions;
using BepInEx;
using BepInEx.Configuration;
using HarmonyLib;
using Microsoft.CodeAnalysis;
using Patchers;
using UnityEngine;
using UnityEngine.SceneManagement;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")]
[assembly: IgnoresAccessChecksTo("")]
[assembly: AssemblyCompany("LC_JapaneseLocalization")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyDescription("Lethal Company Japanese Localization Mod")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("LC_JapaneseLocalization")]
[assembly: AssemblyTitle("LC_JapaneseLocalization")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
internal sealed class EmbeddedAttribute : Attribute
{
}
}
namespace System.Runtime.CompilerServices
{
[CompilerGenerated]
[Microsoft.CodeAnalysis.Embedded]
[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
internal sealed class RefSafetyRulesAttribute : Attribute
{
public readonly int Version;
public RefSafetyRulesAttribute(int P_0)
{
Version = P_0;
}
}
}
internal class Dictionaries
{
public static readonly Dictionary<string, string> Nodes = new Dictionary<string, string>
{
{ "0_Bestiary", "BESTIARY\n\n特定の生物に関する情報を調べるには\n\"INFO\"の後にその英語名を入力します\n---------------------------------\n\n[currentScannedEnemiesList]\n\n" },
{ "0_StoreHub", "当社のストアへようこそ\n商品を購入するには\"BUY\"\n詳しく見るには\"INFO\"を入力してください\n商品名の後に数量を入力しての注文も可能です\n____________________________\n\n[buyableItemsList]\n\n* Cruiser // Price: $370\n\n船のアップグレード:\n* Loud horn // Price: $150\n* Teleporter // Price: $375\n* Inverse-Teleporter // Price: $425\n* Signal Translator // Price: $255\n\n船内装飾(ノルマごとにラインナップ入替):\n____________________________[unlockablesSelectionList]\n\n" },
{ "AlreadyOnThisPlanet", "船はすでに指定された衛星軌道上を周回中です!\n\n" },
{ "AlreadyUnlocked", "すでにアンロックされています!\n\n" },
{ "CancelPurchase", "注文がキャンセルされました\n\n" },
{ "CancelRoute", "ルート設定がキャンセルされました\n\n" },
{ "CannotAfford", "アイテムを購入できる残高がありません\n\n請求額:[totalCost]\n残高:[playerCredits]\n\n" },
{ "CompanyMoonroute", "現在のスクラップ売却価格は[companyBuyingPercent]です\n\n本社にルートを設定しますか?\n\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "CompanyMoonRouteConfirm", "オートパイロットのルートを本社に設定します\n\n良い旅を\n\n" },
{ "ConfirmEject", "全てのクルーメンバーを船から「排出」しますか?(船が軌道上にいる必要があります)\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "CouldNotReroute", "現在、航路を設定することはできません\nオートパイロットの航路を設定するためには衛星軌道上にいる必要があります\n衛星軌道に入るには運転席のメインレバーを操作してください\n\n" },
{ "DenyEject", "排出シーケンスが中止されました\n\n" },
{ "EjectPlayers", "クルーを全員「排出」します\n\n" },
{ "EnteredCode", "コードを送信\n\n" },
{ "FlashedRadarBooster", "レーダーブースターのフラッシュを実行\n\n" },
{ "GeneralError", "エラーが発生しました!もう一度お試しください\n\n" },
{ "Help", "\n\n>MOONS\n航行可能な衛星のリストを表示\n\n>STORE\nストアで販売されている便利なアイテムを表示\n\n>BESTIARY\n野生動物のリストを表示\n\n>STORAGE\nストレージに置かれたオブジェクトを表示\n\n>OTHER\nその他のコマンドリストを表示\n\n[numberOfItemsOnRoute]\n\n" },
{ "HelpCommands", "MOONS\n航行可能な衛星のリストを表示\n\n>STORE\nストアで販売されている便利なアイテムを表示\n\n>BESTIARY\n野生動物のリストを表示\n\n>STORAGE\nストレージに置かれたオブジェクトを表示\n\n>OTHER\nその他のコマンドリストを表示\n\n[numberOfItemsOnRoute]\n\n" },
{ "ItemsInStorage", "家具を[B]で移動中に、[X]を押してそれをストレージに送ることができます\nここでストレージから呼び戻すことができます\n\nこれらのアイテムはストレージにあります:\n\n[storedUnlockablesList]\n\n" },
{ "LockedForDemo", "この項目はデモ版ではロックされています!\n\n" },
{ "MustBeInOrbit", "船の着陸中は装飾品を購入できません\n\n" },
{ "NoCreatureData", "この生物に関するデータは収集されていません\nスキャンが必要です\n\n" },
{ "NoUnlockedStoryLogs", "[破損または上書きされたデータ]\n\n" },
{ "NotInStock", "この商品は現在利用できません!\n\n" },
{ "OtherCommands", "コマンド:\n\n>VIEW MONITOR\nターミナルに船内モニターの映像を表示\n\n>SWITCH [クルー名]\n対応するクルーに表示切替\n\n>PING [レーダーブースターの名称]\n対象のレーダーブースターにpingを送信\n\n>FLASH [レーダーブースターの名称]\n対象のレーダーブースターにフラッシュ指示\n\n>TRANSMIT [メッセージ]\n全クルーにメッセージを送信(信号送信機が必要)\n\n>SCAN\n現在の衛星に残っているアイテムの数をスキャン\n\n" },
{ "ParserError1", "[この言葉に関連するアクションはありません]\n\n" },
{ "ParserError2", "[アクションに関連付けられたオブジェクトが提供されていない\nまたは入力した用語が正しくないか、存在しません]\n\n" },
{ "ParserError3", "[このアクションはオブジェクトと互換性がありません]\n\n" },
{ "PingedRadarBooster", "レーダーブースターにPingを送信しました\n\n" },
{ "ReturnedFromStorage", "アイテムがストレージから取り出されました!\n\n" },
{ "SendSignalTranslator", "メッセージを送信\n\n" },
{ "ShipInMotion", "現在この船は離着陸不可能です!\n\n" },
{ "Start", "FORTUNE-9 OSへようこそ\n\tこのソフトウェアはカンパニーより提供されております\n\nよい[currentDay]を!\n\n\"Help\"と入力することでコマンドを参照できます\n\n\n\n\n" },
{ "StartFirstTime", " __ _____ _ ___ ___ __ __ ___ \n \\ \\ / | __| | / __/ _ \\| \\/ | __|\n \\ \\/\\/ /| _|| |_| (_| (_) | |\\/| | _| \n \\_/\\_/ |___|____\\___\\___/|_| |_|___|\n\nWelcome to the FORTUNE-9 OS\n\tCourtesy of the Company\n\n\"Help\"と入力することでコマンドを参照できます\n\n" },
{ "SwitchRadarCamPlayer 1", "対象クルーを切り替え\n\n" },
{ "SwitchRadarCamPlayer", "対象クルーを切り替え\n\n" },
{ "SwitchedCam", "指定されたクルーに切り替え\n\n" },
{ "TooManyItems", "補給ポッドには一度に12個以上の商品を積載することはできません\n着荷時にお受け取りください!\n\n" },
{ "ViewInsideShipCam 1", "レーダー画面に切換\n\n" },
{ "WelcomeNode", "BG IG,A System-Act Ally\nCopyright (C) 2084-2108, Halden Electronics Inc.\n\n\n\nBios for FORTUNE-9 87.7/10MHZ SYSTEM\n\n2532/7/3 (Tue)\n8:03:32.15\n\n好きな動物を入力:" },
{ "WelcomeNode2", "\nチーム内でのあなたの役割を入力: " },
{ "buyBeltBag", "Tactical belt bags(ポーチ)を注文しますか?\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buyBeltBag2", "Tactical belt bags(ポーチ)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "buyBoombox", "Boom boxes(ラジカセ)を注文しますか?\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buyBoombox2", "Boom boxes(ラジカセ)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "buyCruiser", "Company Cruiser(クルーザー)を注文しますか?\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buyCruiser2", "Company Cruiser(クルーザー)を注文しました\n購入後の残高は[playerCredits]です\n\n私たちはこの製品の品質に自信を持っており、生涯保証が付いています!\n万が一Cruiserを紛失・破損された場合、1回に限り無料で交換いたします\nまた、Cruiserを配送中に他の商品を購入することはできません\n\n" },
{ "buyExtensLadder", "Extension ladders(伸縮はしご)を注文しますか?\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buyExtensLadder2", "Extension ladders(伸縮はしご)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "buyFlash", "Flashlights(フラッシュライト)を注文しますか?\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buyFlash2", "Flashlights(フラッシュライト)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "buyJetpack", "Jetpacks(ジェットパック)を注文しますか?\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buyJetpack2", "Jetpacks(ジェットパック)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "buyLockpickers", "Lock-picker(ロックピッカー)を注文しますか?\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buyLockpickers2", "Lock-picker(ロックピッカー)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "buyMapper", "Mapper tools(マッピングツール)を注文しますか?\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buyMapper2", "Mapper tools(マッピングツール)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "buyProFlashlight1", "Pro flashlights(プロフラッシュライト)を注文しますか?\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buyProFlashlight2", "Pro flashlights(プロフラッシュライト)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "buyRadarBooster", "Radar boosters(レーダーブースター)を注文しますか?\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buyRadarBooster2", "Radar boosters(レーダーブースター)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "buyShovel", "Shovels(シャベル)を注文しますか?\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buyShovel2", "Shovels(シャベル)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "buySpraypaint", "Spray paint(スプレー缶)を注文しますか?\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buySpraypaint2", "Spray paint(スプレー缶)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "buyStunGrenade", "Stun grenades(スタングレネード)を注文しますか?\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buyStunGrenade2", "Stun grenades(スタングレネード)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "buySurvivalKit", "Survival kit(サバイバルキット)を注文しますか?\nセット内容:\n* Flashlights(フラッシュライト) x4\n* Walkie-talkies(トランシーバー) x4\n* Shovel(シャベル) x1\n\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buySurvivalKit2", "Survival kit(サバイバルキット)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "buyTZP", "TZP-Inhalants(TZP吸入剤)を注文しますか?\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buyTZP2", "TZP-Inhalants(TZP吸入剤)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "buyWalkieTalkie", "Walkie-talkies(トランシーバー)を注文しますか?\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buyWalkieTalkie2", "Walkie-talkies(トランシーバー)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "buyWeedkiller", "Weed killer(除草剤)を注文しますか?\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buyWeedKiller2", "Weed killer(除草剤)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "buyZapGun", "Zap guns(ザップガン)を注文しますか?\n数量:[variableAmount]\n合計額:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "buyZapGun2", "Zap guns(ザップガン)を(x[variableAmount])個注文しました\n購入後の残高は[playerCredits]です\n\n迅速かつ無料の配送をお楽しみください!購入された商品は、時間毎にお客様のお近くに到着します\n\n" },
{ "BunnySuitBuy", "Bunny suits(バニースーツ)を注文しますか?\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "BunnySuitBuyConfirm", "Bunny suits(バニースーツ)を注文しました\n購入後の残高は[playerCredits]です\n\n" },
{ "CozyLightsBuy1", "Cozy lights(常夜灯)を注文しますか?\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "CozyLightsBuyConfirm", "Cozy lights(常夜灯)を注文しました\n購入後の残高は[playerCredits]です\n船のライトを消すとこのライトが点灯します\n\n" },
{ "DiscoBallBuy", "Disco ball(ミラーボール)を注文しますか?\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "DiscoBallBuyConfirm", "Disco ball(ミラーボール)を注文しました\n購入後の残高は[playerCredits]です\n照明スイッチでディスコをスタートさせられます\n" },
{ "FishBowlBuy", "Goldfish(金魚鉢)を注文しますか?\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "FishBowlBuyConfirm", "Goldfish(金魚鉢)を注文しました\n購入後の残高は[playerCredits]です\n\n" },
{ "GreenSuitBuy1", "Green suits(緑のスーツ)を注文しますか?\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "GreenSuitBuyConfirm", "Green suits(緑のスーツ)を注文しました\n購入後の残高は[playerCredits]です\n\n" },
{ "HazardSuitBuy1", "Hazard suits(ハザードスーツ)を注文しますか?\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "HazardSuitBuyConfirm", "Hazard suits(ハザードスーツ)を注文しました\n購入後の残高は[playerCredits]です\n\n" },
{ "InverseTeleporterBuy", "Inverse teleporter(反転テレポーター)を注文しますか?\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "InverseTeleporterBuyConfirm", "Inverse teleporter(反転テレポーター)を注文しました\n購入後の残高は[playerCredits]です\n使用するには運転席にあるボタンを押し\n反転テレポーターが作動し始める間に上に立ってください\n\n" },
{ "JackOLanternBuy", "Jack-o-lantern(ジャックオーランタン)を注文しますか?\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "JackOLanternBuyConfirm", "Jack-o-lantern(ジャックオーランタン)を注文しました\n購入後の残高は[playerCredits]です\n\n" },
{ "LoudHornBuy1", "Loud horn(大音量クラクション)を注文しますか?\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "LoudHornBuyConfirm", "Loud horn(大音量クラクション)を注文しました\n購入後の残高は[playerCredits]です\nコードを引っ張ると大音量の汽笛を鳴らせます\n\n" },
{ "PajamaSuitBuy1", "Pajama suits(パジャマ)を注文しますか?\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "PajamaSuitBuyConfirm", "Pajama suits(パジャマ)を注文しました\n購入後の残高は[playerCredits]です\n\n" },
{ "PlushiePajamaManBuy", "Plushie pajama man(パジャママンのぬいぐるみ)を注文しますか?\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "PlushiePajamaManBuyConfirm", "Plushie pajama man(パジャママンのぬいぐるみ)を注文しました\n購入後の残高は[playerCredits]です\n\n" },
{ "RecordPlayerBuy", "Record player(レコードプレーヤー)を注文しますか?\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "RecordPlayerBuyConfirm", "Record player(レコードプレーヤー)を注文しました\n購入後の残高は[playerCredits]です\n\n" },
{ "RomTableBuy1", "Romantic Table(ロマンチックなテーブル)を注文しますか?\n\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "RomTableBuyConfirm", "Romantic Table(ロマンチックなテーブル)を注文しました\n購入後の残高は[playerCredits]です\n\n" },
{ "ShowerBuy1", "Shower(シャワーブース)を注文しますか?\n\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "ShowerBuyConfirm", "Shower(シャワーブース)を注文しました\n購入後の残高は[playerCredits]です\n\n" },
{ "SignalTranslatorBuy", "Signal translator(信号送信器)を注文しますか?\n\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "SignalTranslatorBuyConfirm", "Signal translator(信号送信器)を注文しました\n購入後の残高は[playerCredits]です\nターミナルから\"TRANSMIT\"コマンドを使用することでクルー全員にメッセージを送信できます\nメッセージは10文字未満である必要があります\n\n" },
{ "TableBuy1", "Table(テーブル)を注文しますか?\n\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "TableBuyConfirm", "Table(テーブル)を注文しました\n購入後の残高は[playerCredits]です\n\n" },
{ "TeleporterBuy1", "Teleporter(テレポーター)を注文しますか?\n\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "TeleporterBuyConfirm", "Teleporter(テレポーター)を注文しました\n購入後の残高は[playerCredits]です\n使用するには運転席にあるボタンを押します\n船のメインモニターで監視されている人をテレポートさせることができます\nテレポートされた者はアイテムを保持できません\n再使用には約10秒かかります\n\n" },
{ "TelevisionBuy1", "Television(テレビ)を注文しました\n購入後の残高は[playerCredits]です\n\n" },
{ "TelevisionBuyConfirm", "Television(テレビ)を注文しました\n購入後の残高は[playerCredits]です\n\n" },
{ "ToiletBuy1", "Toilet(トイレ)を注文しますか?\n\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "ToiletBuyConfirm", "Toilet(トイレ)を注文しました\n購入後の残高は[playerCredits]です\n\n" },
{ "WelcomeMatBuy", "Welcome Mat(ウェルカムマット)を注文しますか?\n\n価格:[totalCost]\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n" },
{ "WelcomeMatBuyConfirm", "Welcome Mat(ウェルカムマット)を注文しました\n購入後の残高は[playerCredits]です\n\n" },
{ "AutopickerInfo", "\nロックピッカーは、仕事効率化のための無限の可能性を解き放ちます。独自のAIソフトウェアを搭載し、どんな鍵のかかったドアでもこじ開けます。\n\n" },
{ "BBbulbInfo", "\nお手頃な光源。防水仕様。\n\n" },
{ "BoomboxInfo", "\nこの心に響き渡る最高のチューンはクルーの士気を高めるのに最適だ!\n\n" },
{ "CruiserInfo", "カンパニー製のクルーザーは、たくさんのアイテムを運ぶことができる究極の配達トラックです。私たちはその耐久性と有用性に自信を持っているため、一度限りの無料保証が付いてきます!\n\n車内には説明書が付属しているので、ベストな操作方法を読むことを忘れないでください。\n\n" },
{ "ExtensionLadderInfo", "\n伸縮式のはしごは、最大9メートルの高さまで届きます!どんな崖でも登って、星空を目指しましょう!\n※バッテリーを節約するため、伸縮はしごは18秒後に自動的に収納されます。\n\n" },
{ "FlashlightInfo", "\n長寿命化したバッテリーとさらに明るくなった電球によって、同僚があなたを暗闇に置き去りにすることはもうありません!\n\n" },
{ "InverseTeleporterInfo", "\n反転テレポーターはテレポーターを改造したもので、船外のランダムな位置にテレポートできます。所持アイテムは全て落とした上で転送されます。反転テレポーターは全員が同時に使用でき、リチャージには約3分半かかります。\n\n免責事項:反転テレポーターは船外にしか転送できません。また、量子もつれや不運によって引き起こされる怪我や、頭部や手足の入れ替わりについて当社は責任を負いません。\n\n" },
{ "JetpackInfo", "\nこの装置はあなたを無限の彼方へ連れて行ってくれます! ※使用した際の怪我や死亡事故について当社は責任を負いません\n\n" },
{ "LoudHornInfo", "\nなんとトランシーバー不要でクルーと交信できます!クラクションはどこからでも聞こえますからね。どういうことかって?使い方はあなた次第です!\n\n" },
{ "MapperInfo", "\n光検出と測距技術により、周囲の状況を俯瞰できる最先端のマッピングデバイス。\n\n" },
{ "RadarInfo", "\nレーダーブースターには様々な用途があります。\n\nレーダーブースターの名称の前に\"SWITCH\"を付けてコマンドを実行すると、メインモニターにレーダーブースターの周辺マップが表示されます。その際、レーダーブースターは起動しておく必要があります。\n\nレーダーブースターの名称の前に\"PING\"を付けてコマンドを実行すると音を鳴らすことができ、レーダーブースターの名称の前に\"FLASH\"を付けてコマンドを実行すると光らせることができます。\n\n" },
{ "ShovelInfo", "\n護身用にどうぞ。\n\n" },
{ "SignalTranslatorInfo", "\n\"TRANSMIT\"コマンドを使用して、全クルーにテキストメッセージを送信できます。メッセージは10文字未満でなければなりません。\n\n" },
{ "SurvivalKitInfo", "\nサバイバルキットは以下の内容が含まれるセット商品です:\n* Flashlights(フラッシュライト) x4\n* Walkie-talkies(トランシーバー) x4\n* Shovel(シャベル) x1\n\n" },
{ "TeleporterInfo", "船外で活動している人を船内にテレポートさせることができます。テレポート時は所持品を保持することはできません。リチャージには約10秒かかります。\n\n" },
{ "TZPChemicalInfo", "\nこの安全かつ合法な薬を服用することで、仕事でのパフォーマンスが大幅に向上します! 重いものを持ち上げながら長距離を移動する能力は他の追随を許さないでしょう! 警告:TZPガスに長時間さらされると脳に影響を及ぼす可能性があります。ガスカートリッジに付属の説明書に従ってください。\n節度を持ってみんなでシェアしよう!\n\n" },
{ "WalkieTalkieInfo", "\nコミュニケーションに便利!トランシーバーがインベントリにある間、他のプレイヤーの声を聞くことができます。発話にはボタンを押してください。\n\n" },
{ "WeedKillerInfo", "厄介な雑草を始末しよう!雑草の根を狙い、しっかりと引き金を引くこと!\n\n" },
{ "ZapGunInfo", "\n最大8万ボルトを放射できる最もプロフェッショナルな自己防衛装備。\n\nターゲットをできるだけ長く捕えるには、銃を左右どちらかに引いてビームの反動を打ち消してください。スタンさせられる時間は電流が流れている時間に依存します。\n\n" },
{ "AdamanceInfo", "20-Adamance\n----------------------\n\n環境:浸食と地形的な力によって、深い谷と山が織りなす景観が生まれた。\n\n歴史:AdamanceはVow、Marchと並んで俗に「緑の魔女」と呼ばれるものの中で最大かつ最古の存在である。いずれにせよ、何もない。\n\n動物相:小型の雑食動物たちの活気に満ちた多様な生態系がある。\n\n" },
{ "ArtificeInfo", "68-Artifice\n----------------------\n\n環境:かつて生命があふれていたであろう風景の中に映るのは廃墟と化した施設だ。\n\n歴史:地表のさまざまな場所で、少なくとも200年前にさかのぼる兵器や機密技術が発見されている。\n\n動物相:まだ動く機械が取り残されているという噂もある。\n\n" },
{ "AssInfo", "220-Assurance\n----------------------\n\n環境:双子の衛星であるExperimentationと似ているが、よりギザギザで風化した地形が特徴。\n\n歴史:双子の衛星であるExperimentationより遥かに若い星である。また、Experimentationより少し前に発見された。\n\n動物相:不明。\n\n" },
{ "DineInfo", "7-Dine\n----------------------\n\n環境:白色矮星を周回しており、人を寄せ付けない寒冷な環境となっている。吹雪が絶えず、視界が悪い。\n\n歴史:何人かの有名な旅行者がここで行方不明になり話題になった。この衛星の環境からすると、彼らの遺体が発見される可能性は低いだろう。\n\n動物相:ここに複雑系生命体が存在する可能性は極めて低い。\n\n" },
{ "EmbrionInfo", "5-Embrion\n----------------------\n\n環境:荒涼として平坦で、呼吸できないほど空気が澄んでいる表層は、ほぼ全体がアメジスト石英でできている。表面は灼熱だ。\n\n歴史:Embrionが発見されたのは、つい先世紀のことである。正式に発見されるずっと前からOld Birdの実験場として使われていたようだ。その危険性から、ステータスは「危険」となっている。地下には広大な洞窟網があり、多様な地熱生態系が繁栄しているという説がある。\n\n動物相:生命反応なし\n\n" },
{ "ExpInfo", "41-Experimentation\n----------------------\n\n環境:乾燥。居住性は低く、産業遺物によって悪化している。\n\n歴史:巨大ガス衛星Big Grinに近い軌道にあるため、長い間発見されなかった。しかしどうやら秘密裏に使用されていたようだ。\n\n動物相:不明。\n\n" },
{ "MarchInfo", "61-March\n----------------------\n\n環境:霧雨が降り続く。地形は広々としている。\n\n歴史:この衛星は双子の衛星であるVowのために見落とされがちである。 \n\n動物相:不明。\n\n" },
{ "OffenseInfo", "21-Offense\n----------------------\n\n環境:Assuranceから分裂したとされるOffenseは、同じようなギザギザで風化した地形が特徴だが、生態系が異なる。\n\n歴史:Offenseは小衛星に分類され、数百年以上自力で存在していなかったようだ。ここにある産業遺物は損傷を受けており、Offenseが分裂するはるか以前に建造されたと考えられている。\n\n動物相:競争力があり、鍛えられた生態系は攻撃的な生命体を支えている。Offenseへの旅行は、気の弱い人には向かないことを知っておくべきだ。\n\n" },
{ "RendInfo", "85-Rend\n----------------------\n\n環境:白色矮星を周回しており、人を寄せ付けない寒冷な環境となっている。吹雪が絶えず、視界が悪い。\n\n歴史:何人かの有名な旅行者がここで行方不明になり話題になった。この衛星の環境からすると、彼らの遺体が発見される可能性は低いだろう。\n\n動物相:ここに複雑系生命体が存在する可能性は極めて低い。\n\n" },
{ "TitanInfo", "8-Titan\n----------------------\n\n環境:凍てついた平らな地形。\n\n歴史:資源を採掘していた衛星のようだ。巨大な工業団地の中で迷子になるのは簡単だ。その入り口はあちこちにある。\n\n動物相:広大なトンネル網には危険な存在が住み着いていると噂されている。\n\n" },
{ "VowInfo", "56-Vow\n----------------------\n\n環境:多湿。\n\n歴史:Vowにはかつていくつかのコロニーが存在していたようだが、現在ではその痕跡はなく、謎に包まれている。\n\n動物相:多様な植物が生息している。\n\n" },
{ "BaboonHawkFile", "Baboon hawk(タカヒヒ)\n\n脅威レベル:75%\n\n学名:Papio-volturius\nBaboon hawkはオナガザル科の霊長類である。彼らは猫背だが、立った際の身長は平均1.5メートルほどもある。頭は骨っぽく、鳥のようなくちばしと長い角があり、串のように獲物を刺して食べる。角は頭蓋骨の他の部分と同じように骨ではなくケラチンでできており、神経や血管はない。そのため、Baboon hawkの角は強い力で折れても、同じ季節で完全に再生する。Baboon hawkの名前の一因は、その大きな翼にある。翼は大きな体躯を支えることができないため、威嚇や風雨から身を守るために使われる。\n\nこれまでに観察された最大のBaboon hawkの群れは、18頭で構成されていた。彼らは緩やかな縄張り意識を持っており、行動の多くは威嚇と誇示によるものである。派手なものやカラフルなものを縄張りの目印にすることもある。単独で偵察するBaboon hawkは一般的に臆病で、挑発しない限り攻撃することはない。数が多くなると非常に危険な存在となる。他者に密着し、自分自身を危険な存在に見せることが攻撃を防ぐ最善の方法である。小型の哺乳類を捕食するが窮地に陥るとその数を利用して、目無し犬など自分の2倍の大きさの動物をも攻撃することが知られている。あとあいつらにピクルス盗られた。\n\n\n" },
{ "BrackenFile", "Bracken(ブラッケン) -- またの名を花男!\n\n花のような男だった、それ以外のことは分からない! 彼の体を見つけたかった。臆病者め。\n\n学名:Rapax-folium\nこの生物がどの属に属するかについては議論がある。二足歩行の脊椎動物で、皮膚は赤い根菜のような色と質感をしている。名前の由来は、背骨の上部から葉のようなものが突き出ていることによる。これは威嚇のためと考えられているが、こいつの行動については、その不可視性と個体数の少なさから、詳しいことはわかっていない。その行動は飄々としているように見えることもあり、無抵抗でも高い攻撃性を示すが、直面するとすぐに後ずさりする。しかし、こいつは追い詰められたり、長時間監視されたりすると、敵意をむき出しにすることで知られている。そのため、目を離さないようにすることは推奨されるが、じっと見つめることは危険だ。生死を問わず標本は採集されていない。死後、他の大型動物にはない急速な腐敗過程をたどるという説がある。\n\n\n" },
{ "BunkerSpiderFile", "Bunker spiders(バンカースパイダー)\n\n脅威レベル:20%\n\n学名:Mutinum-ficedula\nタランチュラ属のBunker spidersは、Thistle星雲で発見されたクモの中で最大のクモであり、これまでに発見された中では2番目に大きい。 船がThistle星雲を回ってからわずか数百年の間に、大型哺乳類を捕食するように進化したと考えられている。(参照:Fading星雲周辺での種分化の増加に関する推測)\n\nBunker spidersは糸を巣の周りに敷き、それが引っかかるのを待つ。壁の上や獲物が気づかずに入りそうな出入り口の上で待機していることが多い。もしBunker spidersが「狩りの準備ができていない」のを見つけたら、防御反応として固まってしまうかもしれない。この場合、放っておくのが一番だ。Bunker spidersが攻撃的に反応した場合、普通の道具では戦わない方が良い。クモの巣はその動きの遅さを補うために使うので、周囲の状況に注意しよう。蜘蛛の巣は鈍器で簡単に破れる。\n\nBunker spidersは生態系に大きな利益をもたらすことなく、特に人間や都市部の探検家に大きな危険をもたらす可能性がある。その結果、Bunker spidersが生息する多くの州の間で殺処分命令が非公式に合意され、2497年10月6日現在、ITDAによって承認されている。\n\n\n" },
{ "BushWolfFile", "Kidnapper fox(誘拐ギツネ)\n\n脅威レベル:80% こいつは忍術学校で最優秀評価を獲得しただろう\n\n学名:Vulpes raptor\n大型の哺乳類であるイタチ科のKidnapper foxは、多くの独特な生物学的特性を持っている。そのうち特に独特である2つの特性は、強力な噛む力を与える水平の顎と独特の頭蓋骨の形状と細長い体の2倍の長さに達することができるカエルのような長い舌である。彼らは孤独な狩人であり、一生を通じてつがいで行動する。\n\nKidnapper foxは非常に長く、ふさふさした首と尾を持ち、より赤みがかった色をしている。これは数多く生息するVain Shroudによく溶け込むためと考えられており、ほとんどいつもそこに隠れて獲物を待っている。Kidnapper foxとVain Shroudは、2つの侵入種の間で最も悪名高く知られたユニークな相互関係を形成している。彼らは共に大型宇宙船に密航し、惑星間を越えて広がり続けている。一部の自然保護区を除き、ITDAはKidnapper foxとVain Shroudに対し、生態系への影響を理由に殺処分命令を出している。\n\nKidnapper foxは、攻撃的でありながら臆病で縄張り意識が強く、獲物を仕留めるときは人目につかない場所で、通常はVain Shroudの快適な場所で仕留めることを好む。普段は身を潜め、物事がやってくるのを待つ。しかし落ち着きがなくなると、長く粘着性のある舌を使って遠くから獲物をひったくり、必要なだけ引きずり出すことができる。その舌は非常に柔らかく壊れやすいため、簡単に打たれて攻撃を止めざるを得なくなる。今日、Kidnapper foxが原因とされる人間の死者は年間比較的少なく、ほとんどの被害者は監視のない子供または一人でハイキングをしている大人である。\n\n" },
{ "ButlerFile", "Butler(執事)\n\n脅威レベル:70%\n\nこの事件に関するファイルはないから、自分たちで作っているんだ。僕たちは屋敷で臭い変人を見つけ続けている。彼らは私たちに話しかけようともせず、注意すら払わない。臭いは腐った肉のようで、Richardが気の毒になるくらいひどい。Jessが何かが眼窩から這い出て、また入るのを見たって言ってた。\n\n彼らをどう評価すべきだろうか。\n\nただ歩き回って床を掃いているだけ、どおりで屋敷はきれいなんだろうね。少なくとも彼らは自分の仕事をしているだけなのかも。でも、僕らが見ていないときにあいつらがこっちをジロジロ見てきているのは確かだ。\n\n追記:彼らはナイフを持ってRichを追いかけた。僕らは見ていなかったけど、その後執事はほうきを取り出して何事もなかったように掃除を始めたって。だから、これからは全員で一緒に行動しよう。執事なんてクソ食らえだ!僕はRichに近づかなきゃいけないし、Richもスーツに小便を漏らしたかもしれない。\n\n\n" },
{ "CircuitBeeFile", "Circuit bee(電気ミツバチ)\n\n脅威レベル:90%\n\n学名:Crabro-coruscus\nアカハナバチとも呼ばれるCircuit beeは、ミツバチの子孫であるセイヨウミツバチ属の真社会性の飛翔昆虫です。その外見は、毛むくじゃらの赤い体と2組の翅から非常によくわかる。彼らは蜂蜜を格納するために使用するワックスの巣を構チクッし、受ブーンに重要な役割のためによく知られています。多くの場合、巣を構チクッするために木のような高い場所を選んだミツバチとは異なり、彼らは地面に巣を作成します。\n\n非常に防御的であり、数メートル以内に近づく生き物を攻撃するため、女王蜂と働き蜂だけを残して巣を離れます。この大胆な行動は、彼らの最も特徴的な能力である静電気によって可能になる。2対の羽を互いにこすり合わせたり、巣の中で互いにこすれ合ったりすることで摩擦を生み出す。ミツバチと比較して、なぜパニックや怒ったときに強い電界を生成するようになったのかはまだ研究中である。この能力は特に水辺で役に立つ。\n\n\n\n蜂メートルほど距離を置くのが一番だ。巣が盗まれると、彼らの大群はあらゆる生き物を攻撃する猛攻撃に入る。この攻撃は巣を見つけるか、完全に疲弊するまで続き、数時間から数日かかることもある。小型のげっ歯類や昆虫、さらには大型の哺乳類の死骸を野原に残すことも知られており、まれに火事を起こすこともある。生態系に対する彼らの強いメリットとデメリットは、論ブーン化もされている。 - 不屈のSigurd\n\n\n" },
{ "ClaySurgeonFile", "Barbers(床屋)\n\n床屋の夢を見ました。\nある日、彼は私にかつらを作ってくれました。\n彼のハサミが大きすぎたからです。\n\n" },
{ "CoilHeadFile", "Coil Heads(バネ頭)\n\n脅威レベル:80%\n\n学名:Vir colligerus\nVir colligerus(俗称 Coil Heads)は、その極めて予測不可能で危険な性質のため、広範囲に研究されていない。解剖されたり、不活性化されたりすると炎を上げることが知られており、危険なほど高レベルの放射性粒子を含んでいる。このような理由やその他の理由から、戦争用の生物兵器として作られたと強く推測されているが、証明はされていない。Coil Headsの外見は、頭部がバネでつながれた血まみれのマネキンのようである。その決定的な行動特性は、見つめられると止まることである。しかし、これは厳密なルールではないようだ。大きな音や明るい光に出会うと、長いリセットモードに入ることもあるようだ。ただじっと見つめるか、スタングレネードを使えばいい!- Sigurd\n\n\n" },
{ "EarthLeviathanFile", "Earth Leviathan(リヴァイアサン)\n\n脅威レベル:2% 理由は船のカメラから隠れることができないからだ!!!\n\n学名:Hemibdella-gigantis\n尊敬の念をこめてEarth Leviathanと名づけられたこの吻蛭目は、Thistle星雲周辺で発見された最大の無脊椎動物のひとつである。捕獲された例はなく、その生態についてはあまり知られていない。\n\n捕食者として行動するようだ。地下40メートルまで潜ることができると推測されており、その驚異的な掘削跡から判断している。彼らはわずかな振動でも感知することができる。このため、俗説にあるように、近くにいる場合はじっとしていることはお勧めできない。その代わりに、もし彼らの穴掘りの音が聞こえたら、その足跡をたどってみよう。\n\n\n" },
{ "EyelessDogFile", "Eyeless Dog(目無し犬)\n\n学名:Leo caecus\nサエプティブス綱の大型哺乳類。社会性があり、非常に大きな群れで狩りをする。鳴き声と大きな口から「呼吸するライオン」とも呼ばれる。彼らは持久力のあるハンターで、視覚の欠如を聴覚で補おうとしている。よく同族の鳴き声を獲物だと勘違いして、群れの中でケンカになるという俗説がある。\n\n彼らの行動は他の群れで行動する動物とは異なり、遠くまで広がって距離をカバーする傾向がある。彼らは獲物を見つけると、唸り声をあげて近くにいる他の群れに警戒を呼びかける。大群になると危険である。しかし、彼らは不器用なのが特徴で、獲物の正確な位置を推測するのだが、それが間違っていることが多い。\n\n\n" },
{ "ForestKeeperFile", "Forest Keeper(森の番人)\n\n脅威レベル:50%\n\n学名:Satyrid-proceritas\nBrackenと共通の祖先を持つと考えられているこの巨大生物は、しばしば生息する生態系にちなんでForest Keeperと呼ばれている。体の前面と背面に目を模したマークがあり、若いうちは敏捷性に欠けるため、この特徴がより役立つ。彼らの皮膚は独特で緻密な素材であり、生涯を通じてさらに硬化する。体全体にある大きなトゲやコブは、老化の結果として形成される。\n\nForest Keeperは5、6歳の人間の子供に似た好奇心旺盛な行動を示すと言われている。彼らは魅力的だと思うものを何でも食べる。実際に何かを口に入れる必要はなく、光合成に似たプロセスを主なエネルギー源としていると考えられている。 だからといって観察するのは危険だ。彼らは長い距離を見通すことができるので、身を低くして隠れることが必須となる。狭い場所には入れず、一般的に建物を破壊してくることはないので、彼らが入ってこれない高さのシェルターや張り出し屋根の近くでとどまることをおすすめする。\n\n\n" },
{ "HoardingBugFile", "Hoarding Bug(ため込み虫)\n\n脅威レベル:0%\n\n学名:Linepithema-crassus\nHoarding Bug(膜翅目)は大型の社会性昆虫である。単独で生活していることが多いが、同種の仲間と巣を共有することもある。体高は平均約1.5メートルで、体は球根状である。体液や血液、甲羅の素材が薄いため体重が軽く、膜状の羽で飛ぶことができる。また、体はやや透明である。ため込み虫という名前は、その縄張り意識の強さからつけられた。一度巣になる場所を決めると、その場所をどんなものでも飾ろうとし、巣の一部として守る。しかし、放っておけば、ため込む虫は驚くほど中立的で、危険はほとんどない。僕たちはバカなHoarding Bugが大好きなのだ! -これは不屈のSigurdからのメモである。\n\n\n" },
{ "HygrodereFile", "Hygrodere(スライム)\n\n脅威レベル:0% カタツムリより速いならね!\n\n学名:Hygrodere \n真核生物で分類上、原生生物群に分類される。驚異的な繁殖速度で、この小さな生物は何百万にも増殖する。Hygrodereが分裂することはめったになく、粘性のある大きな塊になる。\n\nHygrodereは熱と酸素に引き寄せられ、一見どこからでもそれを感知できる。自らの体積に変換できない有機物はほとんどない。毒になるものは見つかっていない。彼らは絶え間なく入れ替わりながら、何十万年も生き続けることができる。もしあなたが追い詰められたら、Hygrodereが登るのに苦労する背の高い物を見つけて、その上に立つといい。あと、Hygrodereはセンスがいいんだ。僕の音楽のせいかもしれないな。\n\n\n" },
{ "JesterFile", "Jester(道化師)\n\n脅威レベル:90% 頭がイカれる前に逃げろ!こいつから隠れられる場所なんてない!全員外に出て時間が経てば箱に戻るかも…\n\n学名:キョウキ=ノ=サタ\nこのクソ野郎には文献が無いんだ! 幸運を祈る。我々はこいつをJesterと呼んでいる。\n\n\n" },
{ "LassoManFile", "Lasso(ラッソ)\n\n脅威レベル:30% でも、ちょっと怖い\n\n学名:[不明] \n\n\n" },
{ "LocustFile", "Roaming Locusts(飛び回るバッタ)\n\n脅威レベル:0%\n\n学名:Anacridium-vega\n\nバッタの一種である。飛び跳ねたりすることが多いいくつかの種とは異なり、ほとんど地面に接地せず、数が少なくても近くに集まっている。捕食者に邪魔されるとすぐに散ってしまうが、光に強く引き寄せられる習性がある。\n\n\n" },
{ "ManeaterFile", "Maneaters(人食いゴキブリ)\n\n脅威レベル:1000%\n\nまるで息子のようだった\n\n学名:Periplaneta clamorus\n\nManeatersは、Periplanetaとして知られるゴキブリ属に関連している。1951年、Lepusの小惑星帯にある数多くの銅鉱山のひとつであるCaswella鉱山の労働者たちによって、初めてこのニックネームがつけられた。Caswella鉱山は戦時末期から低迷を始めており、12年間操業した後、まもなく閉山することになっていた。Maneatersの噂が広まり始めるずっと前から労働条件は悪化しており、その結果、当時の上層部やメディアは真剣に取り上げなかった。しかし、その年の6月23日、Caswella鉱山の最下層から内臓を抜き取られた死体が救出された。後に、その死体は上級採掘作業員のBrett Goldentと確認された。検視の結果、この死は設備の欠陥による事故と記録された。しかし、この話はセンセーションを巻き起こし、Maneatersは有名な神話となった。6年後、Simon Goldentが率いるDEEP57洞窟探検隊が、父親の死の謎を解明するために初めて記録したのである。これは科学界に啓示を与えるもので、現在では最大の真洞窟性動物として知られている。このサイズの生物が地下の洞窟に閉じ込められているとは考えられることはなかった。この神話を否定しようとしていたSimon Goldentはこの発見を「トラウマ的なもの」と表現した。\n\nPeriplaneta clamorusは、主に植物の屑と動物の死骸を食べて生きていると考えられている。地中で生活している間は、大型の捕食者に対する本能的な恐怖心を抱くことはなかったようだ。そのため、幼虫のうちは人間の存在に魅了されたり無関心だったりする。しかし幼虫のうちは、大きな物音や血や怪我を見ると恐ろしく反応することがある。研究者の中には幼虫が孤独の兆候を示すのを観察した者もいる。\n\n不幸や恐怖は、Periplaneta clamorusの成長症状を悪化させるようだ。その変態は驚くほど急激で、観察するには危険な現象である。幼虫が変態に近づいていることを示す最も分かりやすい兆候は、下顎から酸性の泡状の液体を排泄することである。この物質は触媒と考えられ、変態が始まると体外に大量に排出される。\n\n成虫は驚くほど速く動くことができ、大あごを高い周波数でカチカチと鳴らして大きな音を出すことができる。Periplaneta clamorusに遭遇した場合、ゆっくりと後ずさりしながら距離をとることをおすすめする。突然立ち止まり、息を吐きながら脚を後ろに反らすのは成体が追跡に入るサインである。神よ…\n\n" },
{ "ManticoilFile", "Manticoils(マンティコイル)\n\n脅威レベル:0%\n\n学名:Quadrupes-manta\nManticoilsはカラス科の鳥である。その体は初期の子孫に比べるとかなり大きく、翼を広げると140~160センチにもなる。彼らの最大の特徴は4枚の翼である。背中の翼は主に低速時の安定に使われ、前の2枚の翼は揚力の大部分を生み出す。丸い体は印象的な黄色だが、主羽(後羽)に沿って黒い輪郭や縞模様がある。\n\nManticoilsは主に小さな昆虫を食べるが、小さなげっ歯類も食べることがある。彼らは非常に知的で社会的である。狂犬病、ルーベンクローリア、ピットウイルスを媒介する能力があるが、人間に対してはほとんど脅威を与えず、一般的に受動的な気質を持っている。\n\n\n" },
{ "NutcrackerFile", "Nutcracker(くるみ割り人形)\n\n屋敷の番人。\n\n動きだけを感知する疲れ知らずの目で見張っている。最後に見つけた生き物が動いていようといまいと、その生き物を忘れない。\n\n\n" },
{ "PufferFile", "Spore lizard(胞子トカゲ)\n\n脅威レベル:たぶん5%くらい パンパンの足がマジでキモい。\n\n学名:Lacerta-glomerorum\nPufferまたはSpore lizardと呼ばれるLacerta-glomerorum(ワニトカゲ科)は、最も大きく重い爬虫類のひとつである。大きな口を持つが、草食動物であり、噛む力は強くない。尻尾の球根から化学物質が分泌され、それがLycoperdon perlatumというカビの一種を引き寄せて成長を促進させると考えられている。\n\nSpore lizardは非常に臆病な気性で、可能な限り対決を避ける傾向がある。威嚇が効果的でない場合、攻撃しようとすることもあるので、追い詰めたり追いかけたりするのはおすすめできない。数百年前、少なくとも部分的には家畜化されていたという歴史的記録があるが、これは薬効成分として尻尾を採取するために行われたものである。\n\n\n" },
{ "RadMechFile", "Old Bird(オールドバード)\n\n Old Birdは、人型自律攻撃兵器である。高さ5.7m、幅3.3m。最も大きな特徴は、頭部に配置された10万ルーメンのスポットライトと胸部の長距離音響装置(サウンドキャノンとも呼ばれる)である。肩にもスピーカーがあり、遠距離に音を飛ばすことができる。左腕は爪で、右腕は放射ノズルになっている。ロケット弾を発射したり、至近距離から非常に高温の炎で放火したりすることができる。またOld Birdは、初めて大量生産された軌道外兵器のひとつである。\r\nそもそも誰が開発したのか、というのは激しい論争になっている。\n\nデザインは金属の焼き入れに至るまで、その出自を隠しているようにも思える。故に「歩く脅迫状」とも呼ばれている。\r\n脚はロケットになっており、長距離を効率的に移動して目標を見つけることができる。しかし、この機能が存在する最も可能性の高い理由は、軌道への離着陸を助けるためと推測されている。材料と燃料は、2130年頃の旅客宇宙船に似ている。\r\nOld Birdは目的の衛星に着陸し、永遠に滞在する。1回の旅行には十分すぎるほどの燃料を持っていることが多いが、「移住」を選択することを示唆するような行動はプログラミング上発見されていない。しかしながら、Old Birdが数百年の休眠の後、新しい惑星に自律移動したという未検証の証言もある。\r\n「アル」という愛称で呼ばれていたが、これは英国軍によって与えられたコードネーム「A16-L31」に基づいている。2384年、ポストパンクアーティストの「Under Remora」が発表した「Old Bird」はカルト的なヒットを記録した。そのわずか3年後、ストリートアーティストの「Land Eyrie」は、同名の最も有名な作品の中で、オートマトンが惑星間をカモの群れのような並びで飛行・着陸する様子を描いた。これは一般的に、現代文化の最も象徴的で影響力のあるイメージの1つと考えられており、現代の愛称を確固たるものにした。\r\n2356年に惑星「5-Embrion」は宇宙船による旅行や定住の目的では「危険」と判定された。Old Birdが「地平線に並んでいる」という目撃証言もある。今日に至るまでとても稼働しているようには見えないが、その多くがまだスリープモードである可能性があるため、この惑星はその状態を維持する可能性が高い。小さな惑星であるが故、Old Birdの飛行・着陸能力の実験場として使われた可能性が高い。\n\n\n" },
{ "SnarefleaFile", "Snare flea(潜伏ムカデ)\n\n脅威レベル:30%\n\n学名:Dolus-scolopendra\nムカデ綱の超大型節足動物。体から絹を出し、主にそれを使って身を隠す場所に移動する。外骨格はややもろく、高い場所からの落下で死ぬこともある。こいつは毒を出さず、噛む力も強くない。この弱点を補うのが、大きな獲物を締め付けて窒息させる能力だ。\n\n暗くて暖かい場所で成長する。低温には耐えられず、一般的に外気や日光を避ける。こいつは外に連れ出すか、地獄に叩き落すしかないだろう!それと彼らの内臓はおいしいミルクセーキになると思うんだけど...\n\n\n\n\n" },
{ "ThumperFile", "Thumpers(サンパー)\n\n脅威レベル:90%\n\nScientific name: Pistris-saevus\nThumpers(Halvesとも呼ばれる)は、軟骨魚目に属する非常に攻撃的な肉食種である。骨格は軟骨質で、伸縮性がありゴムのような質感を持つ。名前の由来は、孵化した卵の殻から脱出するために下肢を食べなければならず、そもそも下肢がほとんど機能していないことによる。腕(前足)は非常に強く、獲物を踏みつけるために使うこともある。直線ではものすごいスピードに達することができる。\n\n執拗なハンターであり、食物連鎖の頂点に立つ。彼らの主な弱点は、その知性と聴覚の完全な欠如である。コーナーを曲がるのが遅く、獲物を容易に追跡することができないため、出くわした場合は、視界から離れることが生き残るための最善の手段である。\n\nこの種の進化が速く不安定であることからThistle星雲周辺の惑星で突然変異が増加し、種分化のレベルが高くなった一例であるという説もある。\n\n\n" },
{ "TulipSnakeFile", "Tulip Snakes(チューリップスネーク)\n\n脅威レベル:1%\n\n学名:Draco tulipa\nTulip Snakesはトビトカゲの一種で、長い腕と翼で簡単に見分けがつく。大きさは同属のトビトカゲの2倍にも達し、色や模様も非常に鮮やかである。その名は、首の下と頭の後ろにある羽が大きな花びらに似ていることに由来する。(他の珍しい特徴としては、余分な一対の目と深く分かれ目がある尾が挙げられる)\n\n彼らの行動は頑固で、どこまでも恐れを知らない。実際、Tulip Snakesが捕食者から逃げることはめったにない。しかし皮肉なことに、多くの生物学者は花のような外見は威嚇のためというよりもカモフラージュとして役立っていると理論づけている。またこの「花」は、鳥類によく似た興味深い求愛の儀式にも重要な役割を果たしている。\n\nユニークなことに交尾のアピールとして、重くて大きなものを空中に持ち上げることがしばしば観察されている。彼らはつがい相手を振り向かせるために、少なくとも自分の2倍の大きさの石や植物を運ぶことができる。保護欲が強く、嫉妬深く、熱狂的なオスは気に入ったものをめぐって綱引き合戦になることもある。\n\n\n" },
{ "VainShroudFile", "Vain Shrouds(ヴェインシュラウド)\n\n脅威レベル:こいつはクリーチャーじゃない\n\n学名:Phlebodium ruber\nVain Shroudsは、一般にVainsとも呼ばれるシダ科ポリポディア属の根生葉植物の一種。理想的な条件下では、Vain Shroudsの葉の高さは最大2.4mに達するが、平均は27.94cmで、幅は30~50cmである。根は異常に大きく、ちょーーーーーっとトゲトゲしている。\n\n積極的に繁殖し、その大きさも際立っているため、場所を取り見通しが悪く取り除くのも難しい。健康な植物を押しつぶす上に栄養価はほとんどない。また非常に燃えやすい。Vain ShroudsとKidnapper Foxの間には強い相互関係が観察されており、このためVain Shroudsが大量に拡大するのを許すと危険である。この他にも多くの生態系や農業に有害な影響を及ぼすため、2147年以降、ITDAによって有害雑草に分類されている。\n\n原産惑星は不明で、2143年に植物研究家のAlex KurtによってCoRoT-7bで初めて記録された後、わずか数週間後に同じ惑星系間の反対側で発見された。一般的な俗説では、Vain Shroudsを摂取すると穏やかな幻覚作用があるため、最初に惑星間に広まったとされているが、その歴史は謎に包まれている。\n\n目を覚ませ... カンパニーは補給ポッドに種を仕込んだ。彼らは除草剤を売り込んでくる。なぜなら私たちがこのチェリーレッドの厄介者を嫌っていることを知っているからだ。\n\n" },
{ "LogFile1", "1968/08/22\n\nこんにちは。正気を保つためにこのログを書いているよ。このオンボロパソコンにはメモ帳すらなかったから、Desmondにログ機能を追加してもらったんだ。今までは野生動物のメモ欄に書いていたよ。兄が日記をつけるべきだと言うので、できることはやろうと思う!というのも、このログは歴史的な記録になる可能性があるからだ。\n\n\nDesmondが言ったように、将来これを読むのはおそらく他のクルーだろう。ここでの離職率はすごいんだ。たぶんこの仕事が最悪で、みんな死んでしまうからだと思う!僕も経験を積めば、何か力になれるかもしれない。ログ終了。\nあ、僕らの名前は Sigurd(自分), Richard, Desmond, Jess だ。\n\n" },
{ "LogFile2", "1968/08/24\n\nクソっ、このスーツはまるでミイラにしてくるかのごとく圧迫してくる!大人用なんだから股の間のスペースをもっととってくれ!死ぬほどキツい!そういえばやっと仕事が見つかったんだ、父さん喜んでくれるかな… ああクソっ!臭い!みんな臭い!特にRich!池に投げ込んでやりたい、その結果どうなろうとね。そうそう、カメラでの監視作業が気に入ってきたよ。クソっ!このキーボードはほんとdsadjilfasqt..f/g;\n\n\n今日、フライパンと大きな釘を見つけた。ほぼ何の価値もないのに会社は一体何に使うんだ?\n\n" },
{ "LogFile3", "1968/08/27\n\nここ数日「本調子になってきた」 Richはそう言い続けてる。彼は腐ったツナ缶のような臭いがする。最悪のサマーキャンプだった。動くものは何でも叩けるように、誰かが常にシャベルを持つようにしている。そして、文字と数字で大きなセキュリティドアを開けられるように、常に誰かを「カメラ当番」に任命している。やり方は魔法使いのDesmondに聞いてみて。まあドアに書いてあるコードを入力するだけなんだけど。今日、70%の値で商品を会社に売ったんだ。その時にカウンターの向こうのクソサイコな音を聞いてしまって神経が冷え切ってしまったよ。でも誰も特に気にしていない。なぜ?\r\n少なくとも僕は無視することなんてできなかった!しかし僕のフラッシュライトは「そこ」に届かず、闇の中に吸い込まれるだけだった。\n\n" },
{ "LogFile4", "1968/08/31\n\nまたカメラ当番が回ってきた、とにかくもうこの星を歩きたくない。なんてね、冗談だよ… とか言ってたら雨が降ってきた!ただただ座っているだけ。こんな蟻用みたいな小さいベッドじゃ眠れるわけがない。\n\n\nずっと考えていた。この仕事は怪しいと思う。これを読んでいるということは、おそらく僕と同じようにここにたどり着いたのだろう。給料はいいし、契約は1シーズンだけだ。彼らは奇妙な声で電話口で「面接」を行った。あなたは他のクルーと一緒にシャトルで契約書にサインした。でも、ずっと誰とも話さなかった。シャトルは自動操縦で、電話の声はフェイクだったと思う。最悪な夢を見た、ただ家に帰りたいだけだと思う。でも、泣きながら這いつくばって父さんの家のドアを引っ掻くつもりはない。そんなやつは不屈のSigurdじゃない!\n\n" },
{ "LogFile5", "1968/09/04\n\n今朝早く起こされたのは、ゴミを売りに社屋に行くためだった。Desmond曰く、レートが120%というのは稀なことでそれを逃したくなかったらしい、まるでバカげた株取引みたいだ。\n\nRichは相変わらずクソみたいな臭いがする。眠れやしない。社屋の壁の向こうで、史上最悪の音を聞いた。泣いている赤い顔がコンクリートでぐちゃぐちゃになって流されていくような、あるいは母さんが種やスパイスを砕くすりこぎのような、そんな音だ。今でも聞こえる。悪夢だ。でも誰も聞こえないらしい。Jessが言うには「ホームシック」だって。ああ、この安っぽいスーツにはうんざりだ。\n\n" },
{ "LogFile6", "1968/09/07\n\nRichを置き去りにしてしまった。チェックする部屋はあと1つ、それで今日は終わりだったはずだけど、ドアが開かなかった。そして振り向いたら、Richはいなかった。かわりに二本足で歩く、しわくちゃの肌の頭が花のようになっている男がいた!「ボキッ」という音を聞いたけど彼はそこにいなかった。死んでいたとしても僕はRichを見つけたい。彼は臆病者なんだ!彼の顔はいつもうつろで愚かな脳ミソは何も考えず、ただ帰りたいと願っているだけだ。彼も僕の元から去りたいと思っていただろう。僕たちは皆、Richを嫌っていた。でも、こんなことは望んでいなかった。こんなことする意味はない、価値はないんだ。ハサミ、切手の詰まった箱、コードの束を手に入れたのに、それを売る価値すらない。こんなもの、会社は何のために欲しがっているんだ?\n\n\n今日以降、Richを見ることはなかった。\n\n" },
{ "LogFile7", "1968/09/13\n\nなぜか僕が会社に電話して事故を報告しなければならなかった。彼らは怖くてできなかったのだ。自宅の電話でのインタビューやくだらないトレーニングビデオで覚えたのと同じ偽の声だった。でも、僕が言ったことを聞いていたんだと思う。家族に連絡して、代わりの人を見つけるとか言っていたからね。すごく早口だった。社屋の壁際にいると、トランシーバーから悲鳴がずっと聞こえるんだ。彼らは僕を信じなかった。数週間前に聞いたときと同じように聞こえている。彼らは辞めたいと言っている。僕は臆病者じゃない、そう自分に言い聞かせた。僕はこの仕事に就いたばかりなんだ。\n\n" },
{ "LogFile8", "1968/08/??\n\nトランシーバーで声を聞いたんだ。叫び声の一部みたいだった。彼は黄金の星は実際に存在し、伝説なんかじゃないと言った。そして隕石が落ちただけではないと言った。その星は「獣」に飲み込まれ、彼らはその体の中で消化されたのだと。その「獣」とは何かと尋ねると、彼は知らないと答えた!「獣」が星を食べ、彼らは何もかも忘れてしまったと言った。僕は彼の話を止めさせることができなかった。でも僕は、彼は大きな壁の向こう側にいて、外に連れ出すことができると言った。僕は彼が建物の中にいると言った。 そのとき、彼はパニックになった。言葉は聞き取れなかったけど、「皮を吐き出す」とか言ってたと思う。だから電源を切った。なんてこった。\n\r\nJessは黄金の星はただの作り話だと言った。「知ってる」って答えた、僕だってバカじゃない。彼女は僕に辞めるべきだと言ったんだ。僕が辞めるなら、彼女も辞めるって。だから彼女は残ることになった。\n\n" },
{ "LogFile9", "1968/09/18\n\nこの週末で、DesmondとJessが覚醒したような気がする。数日後には4人目のクルーが誕生する予定だ。もうリスクは冒さない。収穫は少ないけど安全だし、よく眠れるようになった。だけどまだひどい状況に変わりはない。どこからかまだRichの臭いがする、彼は本当に臭かった。\n\n\n僕は電話の声が嘘くさいって話してたんだ。そしたらDesmondが変なことを思いついたんだ。彼は魔法使いだから、僕が会社の番号にかけた電話を使って、声の発信元を突き止める方法があるんじゃないかって。なぜそんなことをしたいのかわからないが、彼は真剣なようだ。それから彼は端末をよく使っている。\n\n" },
{ "LogFile10", "1968/09/27\n\n Desmondは、僕たちが解明したことを書き留めて、「無意味なことは最小限に」と言っている。だから、僕は無意味なことをたくさん出すつもりだ。ふざけやがって。新しいクルーはLucasという名前で、いつも混乱して怯えている。少なくともモンスターのような臭いはしない。9月だというのにこの陽気だ、スーツもその陽気を受け入れてくれそうにもない。さて、Desmondが「逆探知」したところ、会社のビルから電話をかけてくるふりをする集団が、別の場所にいることがわかった。彼らは太陽系全体にいる!! なぜそんなに遠くにいるんだ?Desmondはわからないと言ったが、僕はこう思う。\r\n\n「トランシーバーで聞いた声のように、本当に大きなモンスターが社屋にいるとしたら?」\n\n罠にかけて、飼いならすために餌を与えているんだ。僕はなんてバカな仕事をしていたんだ!!!!!\n\n" },
{ "LogFile11", "1968/09/30\n\n「社屋」が巨大なコンクリートの壁から飛び出すという悪い夢をよく見るんだ。でも、それが何かに見えるかはわからない。ただ、本当に大きくて、速い。電話の声が本物かどうか確かめる方法が見つからない。Desmondは遠すぎると言っている。自動操縦をコントロールできるか聞いたら、イカれてるのか、死ぬぞって言ったんだ。そう、僕は狂ってるんだよ。\r\n\r\nDesmondは、その場所に行くには自分たちだけの操縦船を用意しなければならないし、実際に何があるかなんて誰にもわからないって言うんだ。じゃあ、何もなかったらどうする?いや、契約書にサインしたビルまでのシャトル便など、ちょっとしたことは覚えているんだ。でもシャトルに乗ったことは覚えていないし、父さんにバイバイしたことさえ覚えていない。夢の中では、会社がそこに閉じ込められているのではなく、ただ隠れているように感じるんだ。家に帰れるかどうかわからない。\n\n" },
{ "LogFile12", "1968/10/01\n\nまたスナックとレモネードのパックを切らしてしまった。Desmondはスタングレネードのほうが\"より有益\"だと考えているんだ。僕の注文を後回しにするなら、操縦桿の上にクソをしたうえでスタングレネードの有益性について再度聞いてみるよ。(Desmondはこれを読むな)\n\n\n僕は魔法使いじゃないけど、今日もコンピュータ担当かな。僕がVowで外に出るたびに、死んだみたいに顔色が悪くなるって言うんだ。弱虫になったと思われているんだろうな。それは置いておいて、Lucasは怖がりなんだ。僕なら自分の裏庭のように夜でも散歩できるよ!\n\nRichが丘の上にいるのを見た。川の向こう側にいた。でもそれはもう3日前のことだ。怖くはない、ただ外が寒くなってきただけさ。毎日コンピュータの当番をさせられて、みんな言い訳してるんだと思う。\n\n父さんが恋しいよ。父さんがTitanに残らないことを願っている。2年後もTitanは変わらないと言われているけど、Jessはもうすぐ戦争が始まると言っていたんだ。会社に売り込みに行くたびに、社屋は大きな溶鉱炉のように揺れている。みんな怖くて辞められないんだ。ノルマを達成するために寝るのもやっとで常につらい。ああ神よ、僕は針を刺されているような気分です。\n家に帰りたいよ。こんなことなら父さんの下で働いていたほうがよかった。滝を見に行くために町まで車で連れて行ってくれて、古い木の階段を登っていくのが好きだった。僕はただ\"普通の仕事\"がしたかっただけなのに。\n\n" },
{ "LogFile13", "1968/10/15\n\nこのログは暗号化して隠している。もし見つかったら、システムが消去される恐れがあるからだ。全部見せかけだ。単なる取引だと思わせておいて、我々の本当の仕事は、信じられないような恐怖を食べさせることなのだ。その満腹が終わり、その飢えが尽きるまで、どのくらいかかる?神のみぞ知る…この荒涼とした衛星と関係があるのかもしれない。これを読んでくれた人、負担をかけて申し訳ない。どうか良い一日と夜をお過ごしください...それ以外に一体何がある?\n\n" }
};
public static readonly Dictionary<string, string> TextPostProcess = new Dictionary<string, string>
{
{ "First Log - Aug 22", "First Log (初めてのログ) - Aug 22" },
{ "Smells here! - Aug 24", "Smells here! (臭い!) - Aug 24" },
{ "Swing of things - Aug 27", "Swing of things (本調子) - Aug 27" },
{ "Shady - Aug 31", "Shady (うさんくさい) - Aug 31" },
{ "Sound behind the wall - Sep 4", "Sound behind the wall (壁の向こうの音) - Sep 4" },
{ "Goodbye - Sep 7", "Goodbye (別れ) - Sep 7" },
{ "Screams - Sep 13", "Screams (うめき声) - Sep 13" },
{ "Golden planet - Aug \\?\\?", "Golden planet (黄金の星) - Aug \\?\\?" },
{ "Idea - Sep 18", "Idea (思いついた) - Sep 18" },
{ "Nonsense - Sep 27", "Nonsense (ナンセンス) - Sep 27" },
{ "Hiding - Sep 30", "Hiding (何か隠してる) - Sep 30" },
{ "Real Job - Oct 1", "Real Job (本当の仕事) - Oct 1" },
{ "Desmond - Oct 15", "Desmond (デズモンド) - Oct 15" },
{ "([0,2-9]+) purchased items on route.", "$1個の購入済み商品は配送中です" },
{ "([0-9]+\\%) OFF!", "$1オフ!" },
{ "1 purchased items on route.", "1 個の購入済み商品は配送中です" },
{ "For the safety of your crew, the Company only allows one Cruiser to be in operation at any given time, but a Cruiser has been detected.\n\n", "クルーの安全のため、カンパニーは常時1台しかCruiserの運用を許可していません\n\n" },
{ "No data collected on wildlife. Scans are required.\n\n", "この生物に関するデータは収集されていません\nスキャンが必要です\n\n" },
{ "Price:", "価格:" },
{ "Reset credits to 200. ", "資金を200にリセットしました\n\n" },
{ "Routing autopilot to (.+?)\nYour new balance is (.+?).\n\nGood luck.\n\n", "オートパイロットのルートを$1に設定します\n残高は$2です\n\n幸運を\n\n" },
{ "Routing autopilot to (.+?)\nYour new balance is (.+?).\n\nPlease enjoy your flight.\n\n", "オートパイロットのルートを$1に設定します\n残高は$2です\n\n良い旅を\n\n" },
{ "SIGURD'S LOG ENTRIES\n\nTo read a log, use keyword \"VIEW\" before its name.\n---------------------------------\n\n([\\s\\S]*)", "SIGURDのログ\n\nログを読むには、ログ名の前に\"VIEW\"と入力してください\n---------------------------------\n\n$1" },
{ "The Company is buying your goods at (.+?). \n\nGo here to drop off any valuable scrap you've collected while on the job. The rate of return updates hourly and fluctuates over the course of several days. \n\n", "カンパニーはあなたの持ち込んだアイテムを\n$1の値段で買い取ります\n\n仕事中に集めた貴重なスクラップを持ち込みましょう\n還元率は毎時間更新され、数日間で変動します\n\n" },
{ "The cost to route to (.+?) is (.+?). It is \ncurrently (.+?) on this moon.\n\nPlease CONFIRM or DENY.\n\n\n", "$1へ行くための費用は$2です\nこの衛星の天候は$3です\n\nルートを設定しますか?\n\n確認 (CONFIRM) / 拒否 (DENY)\n\n\n" },
{ "The delivery pod is busy transporting your Company Cruiser. You cannot purchase items until it arrives.", "配送ポッドはあなたのカンパニークルーザーを輸送中です\n到着するまでアイテムを購入することはできません" },
{ "The delivery pod is currently filled with items en route; you cannot purchase a vehicle until it is empty.", "配達ポッドは現在、配送中のアイテムで満たされています\n空になるまで車両を購入することはできません" },
{ "There are ([0-9]+) objects outside the ship, totalling at an approximate value of (\\$[0-9]+).", "$1個のオブジェクトが船の外にあります\nトータルで $2 分の価値です\n\n" },
{ "This selection rotates per-quota. Be sure to check back next week!\n____________________________\n\n(.+?)\n", "船内装飾\n※ラインナップはノルマごとに入れ替わります\n来週も要チェック!\n____________________________\n\n$1\n" },
{ "To order any item, use the word BUY.(\\s*)____________________________([\\s\\S]*)", "商品を注文するには\"BUY\"と入力してください$1____________________________\n\n* Loud horn // Price: $100\n* Teleporter // Price: $375\n* Inverse Teleporter // Price: $425\n* Signal Translator // Price: $255\n\n" },
{ "Welcome to the exomoons catalogue\\.\nTo route the autopilot to a moon, use the word ROUTE\\.\nTo learn about any moon, use INFO\\.(\\s*)____________________________(\\s*)\\* The Company building \\/\\/ Buying at (.+?)\\.([\\s\\S]*)", "exomoonsカタログへようこそ\n自動操縦で衛星に行くには\"ROUTE\"と入力してください\n各衛星について知るには\"INFO\"と入力してください$1____________________________$2* The Company building // 現在買取価格:$3 $4" },
{ "You selected the Challenge Moon save file. You can't route to another moon during the challenge.", "チャレンジモードを選択しています\nチャレンジ中は他の衛星にルート指定できません" },
{ "\\(Locked\\)", "\\(ロック中\\)" },
{ "\\[No items available\\]", "\\[利用可能なアイテムなし\\]" },
{ "\\[No items in stock!\\]", "\\[アイテムは収納されていません!\\]" },
{ "\\[No items stored. While moving an object with (.+?), press (.+?) to store it.\\]", "[アイテムが収納されていません!家具を$1で移動中に、$2を押して収納できます]\n\n" },
{ "DustClouds", "砂埃" },
{ "Eclipsed", "日食" },
{ "Flooded", "洪水" },
{ "Foggy", "濃霧" },
{ "Rainy", "雨" },
{ "Stormy", "雷雨" },
{ "dustclouds", "砂埃" },
{ "eclipsed", "日食" },
{ "flooded", "洪水" },
{ "foggy", "濃霧" },
{ "mild weather", "穏やか" },
{ "rainy", "雨" },
{ "stormy", "雷雨" }
};
}
internal class BundleLoader
{
public static AssetBundle Bundle;
public static bool TryLoadBundle()
{
try
{
string text = Path.Combine(Paths.BepInExRootPath, "plugins", "LC_JapaneseLocalization", "bundle.assets");
string text2 = Path.Combine(Paths.BepInExRootPath, "plugins", "Timber-Lethal_Company_Japanese_Localization", "LC_JapaneseLocalization", "bundle.assets");
if (File.Exists(text))
{
Bundle = AssetBundle.LoadFromFile(text);
return true;
}
if (File.Exists(text2))
{
Bundle = AssetBundle.LoadFromFile(text2);
return true;
}
return false;
}
catch (Exception value)
{
Console.WriteLine(value);
return false;
}
}
public static bool TrySetTexture(ref Texture2D originalTexture, string textureName)
{
//IL_0023: Unknown result type (might be due to invalid IL or missing references)
//IL_002e: Expected O, but got Unknown
try
{
if (textureName == "")
{
return false;
}
Texture2D val = Bundle.LoadAsset<Texture2D>(textureName);
if ((Object)val == (Object)null)
{
return false;
}
ImageConversion.LoadImage(originalTexture, ImageConversion.EncodeToPNG(val));
((Texture)originalTexture).mipMapBias = -1f;
return true;
}
catch (Exception value)
{
Console.WriteLine(value);
return false;
}
}
}
namespace Patchers
{
[HarmonyPatch(typeof(Terminal), "LoadNewNode")]
internal class TerminalNodePatch
{
[HarmonyPrefix]
private static void Prefix(ref TerminalNode node)
{
if (Dictionaries.Nodes.ContainsKey(((Object)node).name))
{
node.displayText = Dictionaries.Nodes[((Object)node).name];
}
}
}
[HarmonyPatch(typeof(Terminal), "TextPostProcess")]
internal class TerminalTextPatch
{
[HarmonyPrefix]
private static void Prefix(ref string modifiedDisplayText)
{
List<string> list = new List<string>(7) { "日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日" };
modifiedDisplayText = modifiedDisplayText.Replace("[currentDay]", list[(int)DateTime.Now.DayOfWeek]);
}
[HarmonyPostfix]
private static void Postfix(ref string __result)
{
foreach (KeyValuePair<string, string> item in Dictionaries.TextPostProcess)
{
__result = Regex.Replace(__result, item.Key, item.Value);
}
}
}
[HarmonyPatch(typeof(StartOfRound), "SceneManager_OnLoadComplete1")]
internal class PatchOnSceneLoad
{
[HarmonyPostfix]
private static void Postfix()
{
Texture2D[] array = Resources.FindObjectsOfTypeAll<Texture2D>();
for (int i = 0; i < array.Length; i++)
{
BundleLoader.TrySetTexture(ref array[i], ((Object)array[i]).name);
}
}
}
}
namespace LC_JapaneseLocalization
{
[BepInPlugin("LC_JapaneseLocalization", "LC_JapaneseLocalization", "1.0.0")]
[BepInProcess("Lethal Company.exe")]
public class Plugin : BaseUnityPlugin
{
private readonly Harmony harmony = new Harmony("LC_JapaneseLocalization");
private static Plugin Instance;
public static ConfigEntry<bool> translateTerminal;
private string[] texturepaths = new string[7] { "/TipsPoster2.png", "/posters.png", "/StickyNoteTex.png", "/manual1.png", "/manual2v2.png", "/manual3v2.png", "/manual4v2.png" };
private string[] hierarchypaths = new string[7] { "Environment/HangarShip/Plane.001", "Environment/HangarShip/Plane.001", "Environment/HangarShip/StickyNoteItem", "Environment/HangarShip/ClipboardManual/Plane", "Environment/HangarShip/ClipboardManual/Plane.001", "Environment/HangarShip/ClipboardManual/Plane.002", "Environment/HangarShip/ClipboardManual/Plane.003" };
private int[] materialnumber = new int[7] { 2, 1, 1, 1, 1, 1, 1 };
private Texture2D[] textures = (Texture2D[])(object)new Texture2D[11];
public void Awake()
{
//IL_0100: Unknown result type (might be due to invalid IL or missing references)
//IL_0106: Expected O, but got Unknown
if ((Object)(object)Instance == (Object)null)
{
Instance = this;
((Object)((Component)this).gameObject).hideFlags = (HideFlags)61;
}
else if ((Object)(object)Instance != (Object)(object)this)
{
Object.Destroy((Object)(object)((Component)this).gameObject);
}
if (!BundleLoader.TryLoadBundle())
{
((BaseUnityPlugin)this).Logger.LogError((object)"Error occurred while loading bundle.");
return;
}
((BaseUnityPlugin)this).Logger.LogInfo((object)"TextureReplacer is loaded!");
((BaseUnityPlugin)this).Logger.LogInfo((object)"Internal processing was implemented with reference to");
((BaseUnityPlugin)this).Logger.LogInfo((object)"Solos_Poster_Changer by Solo, and we thanks to them cooperation!");
for (int i = 0; i < texturepaths.Length; i++)
{
if (File.Exists(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + texturepaths[i]))
{
((BaseUnityPlugin)this).Logger.LogInfo((object)$"Texture {i} loading!");
textures[i] = new Texture2D(2, 2);
ImageConversion.LoadImage(textures[i], File.ReadAllBytes(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + texturepaths[i]));
((BaseUnityPlugin)this).Logger.LogInfo((object)$"Texture {i} loaded!");
}
}
SceneManager.sceneLoaded += OnSceneLoaded;
harmony.PatchAll(typeof(TerminalNodePatch));
harmony.PatchAll(typeof(TerminalTextPatch));
harmony.PatchAll(typeof(PatchOnSceneLoad));
((BaseUnityPlugin)this).Logger.LogInfo((object)"Japanese Localization is loaded!");
}
public void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
if (!(((Scene)(ref scene)).name == "MainMenu") && !(((Scene)(ref scene)).name == "InitScene") && !(((Scene)(ref scene)).name == "InitSceneLaunchOptions") && !(((Scene)(ref scene)).name == "OnLoadComplete1"))
{
((MonoBehaviour)this).StartCoroutine(LoadTextures());
}
}
private IEnumerator LoadTextures()
{
yield return (object)new WaitForSeconds(5f);
for (int i = 0; i < texturepaths.Length; i++)
{
if ((Object)(object)GameObject.Find(hierarchypaths[i]).GetComponent<Renderer>() != (Object)null)
{
GameObject.Find(hierarchypaths[i]).GetComponent<Renderer>().materials[materialnumber[i] - 1].mainTexture = (Texture)(object)textures[i];
}
else if ((Object)(object)GameObject.Find(hierarchypaths[i]).GetComponent<Renderer>() == (Object)null)
{
((Renderer)GameObject.Find(hierarchypaths[i]).GetComponent<MeshRenderer>()).materials[materialnumber[i] - 1].mainTexture = (Texture)(object)textures[i];
}
}
}
}
public static class PluginInfo
{
public const string PLUGIN_GUID = "LC_JapaneseLocalization";
public const string PLUGIN_NAME = "LC_JapaneseLocalization";
public const string PLUGIN_VERSION = "1.0.0";
}
}
namespace System.Runtime.CompilerServices
{
[AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
internal sealed class IgnoresAccessChecksToAttribute : Attribute
{
public IgnoresAccessChecksToAttribute(string assemblyName)
{
}
}
}