# Mission and quest scripting *Shard of mgsv-modding-pack — generated 2026-08-11. 247 files. Provenance is on every entry as `source:path`.* How missions, side ops and quests are declared, sequenced and registered. ## TppMissionLibs — mission script libraries ### `missionlibs:README.md` #### TppMissionLibs A sorted library of common reusable files for Metal Gear Solid V: The Phantom Pain custom mission creators. ## SOC — mission scripting toolchain ### `soc:README.md` #### SOC - SideOp Companion ##### Available For Download at [NexusMods](https://www.nexusmods.com/metalgearsolidvtpp/mods/571) and [GitHub](https://github.com/morbidslinky/SOC/releases)! **SideOp Companion** is a [.NET 8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0/runtime) UI tool, designed to help automate the process of creating custom sideops for Metal Gear Solid V: The Phantom Pain with the goal of improving their accessibility to users with little-to-no background in modding. ##### How-To Guides and Documentation have been moved to [the Wiki](https://github.com/morbidslinky/SOC/wiki)! ![Setup Menu](https://staticdelivery.nexusmods.com/mods/1091/images/571/571-1751712311-1505912002.png) ![Details Menu](https://staticdelivery.nexusmods.com/mods/1091/images/571/571-1751712324-1323580419.png) ![Scripting Menu](https://staticdelivery.nexusmods.com/mods/1091/images/571/571-1751712336-2123589958.png) ![In-Game Screenshot](https://staticdelivery.nexusmods.com/mods/1091/images/571/571-1751712296-1938435557.jpg) ### `soc:SOC/Core/Classes/Common/Coordinates.cs` ```csharp public class Coordinates public string ToFox2String() public string xCoord public string yCoord public string zCoord ``` ### `soc:SOC/Core/Classes/Common/LoadAreas.cs` ```csharp public static string[] afgh public static string[] mafr public static string[] mtbs public static bool isAfgh(int locId) public static bool isMafr(int locId) public static bool isMtbs(int locId) ``` ### `soc:SOC/Core/Classes/Common/NPCBodyInfo.cs` ```csharp public static class NPCBodyInfo public static string[] mafrSubTypes public static string[] afghSubTypes public static string[] mtbsSubTypes public static string[] GetRegionSubTypes(int locId) public static string[] mafrBodies public static string[] afghBodies public static string[] mtbsBodies public static string[] GetRegionBodies(int locId) public static BodyInfoEntry[] BodyInfoArray public static BodyInfoEntry GetBodyInfo(string bodyName) public struct BodyInfoEntry public string Name public LuaTableIdentifier gameId public string partsPath public string missionPackPath public bool isFemale public bool hasface ``` ### `soc:SOC/Core/Classes/Common/NPCMtbsInfo.cs` ```csharp public static class NPCMtbsInfo public static string[] skills public static string[] Staff_Type_ID ``` ### `soc:SOC/Core/Classes/Common/Quest.cs` ```csharp public class Quest public string Version public SetupDetails SetupDetails public ObjectsDetails ObjectsDetails public ScriptDetails ScriptDetails public static Quest Create() public static Type[] GetAllDetailTypes() public bool Save(string fileName) public bool Load(string fileName) public static Version GetSOCVersion() public void RefreshAllStubTexts() public ChoiceKeyValuesList GetAllObjectsScriptValueSets() internal void ClearAllObjectsScriptValueSets() public LocationalDataStub[] GetLocationalStubs() internal void DisableObjectTypeStub(Type objectType, string reason) internal void EnableObjectTypeStub(Type objectType) ``` ### `soc:SOC/Core/Classes/Common/Rotation.cs` ```csharp public class Rotation public void SetRotation(string roty) public void SetRotation(string x, string y, string z, string w) public string GetDegreeRotY() public string GetRadianRotY() public string ToFox2String() public string xRot public string yRot public string zRot public string wRot ``` ### `soc:SOC/Core/Classes/Common/ScriptDetails.cs` ```csharp public class ScriptDetails public List