diff --git a/.Experimental/OriginShift/Main.cs b/.Experimental/OriginShift/Main.cs index b1a6462..de8e5f7 100644 --- a/.Experimental/OriginShift/Main.cs +++ b/.Experimental/OriginShift/Main.cs @@ -37,7 +37,7 @@ public class OriginShiftMod : MelonMod ApplyPatches(typeof(Patches.CVRObjectSyncPatches)); // remote object pos ApplyPatches(typeof(Patches.DbJobsAvatarManagerPatches)); // dynamic bones - ApplyPatches(typeof(Patches.CVRPortalManagerPatches)); // portals + ApplyPatches(typeof(Patches.AbstractPortalControllerPatches)); // portals ApplyPatches(typeof(Patches.RCC_SkidmarksManagerPatches)); // skidmarks ApplyPatches(typeof(Patches.CVRPickupObjectPatches)); // pickup object respawn height diff --git a/.Experimental/OriginShift/Patches.cs b/.Experimental/OriginShift/Patches.cs index 36848a3..d1fa94e 100644 --- a/.Experimental/OriginShift/Patches.cs +++ b/.Experimental/OriginShift/Patches.cs @@ -7,6 +7,7 @@ using ABI_RC.Core.Util; using ABI_RC.Systems.Camera; using ABI_RC.Systems.Communications.Networking; using ABI_RC.Systems.Movement; +using ABI_RC.Systems.PortalsV2; using ABI.CCK.Components; using DarkRift; using HarmonyLib; @@ -250,19 +251,22 @@ internal static class DbJobsAvatarManagerPatches } } -// CVRPortalManager -internal static class CVRPortalManagerPatches +// AbstractPortalController +internal static class AbstractPortalControllerPatches { [HarmonyPostfix] - [HarmonyPatch(typeof(CVRPortalManager), nameof(CVRPortalManager.Start))] - private static void Postfix_CVRPortalManager_Start(ref CVRPortalManager __instance) + [HarmonyPatch(typeof(AbstractPortalController), nameof(AbstractPortalController.Setup))] + private static void Postfix_AbstractPortalManager_Setup(ref AbstractPortalController __instance) { + if (__instance.PortalSoul.portalType == PortalType.World) + return; // only care about user portals + // parent portal to the object below it using a physics cast Transform portalTransform = __instance.transform; Vector3 origin = portalTransform.position; Vector3 direction = Vector3.down; if (Physics.Raycast(origin, direction, out RaycastHit hit, 0.5f)) - portalTransform.SetParent(hit.transform); + portalTransform.SetParent(hit.transform, true); } } diff --git a/NAK_CVR_Mods.sln b/NAK_CVR_Mods.sln index 62dfb9b..1e104ac 100644 --- a/NAK_CVR_Mods.sln +++ b/NAK_CVR_Mods.sln @@ -64,8 +64,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ConfigureCalibrationPose", EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SuperAwesomeMod", ".Deprecated\SuperAwesomeMod\SuperAwesomeMod.csproj", "{11417BE7-7C4F-40D9-9FCB-467C7B3DCF66}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OriginShift", ".Experimental\OriginShift\OriginShift.csproj", "{A891F616-D163-4B1D-99E4-17C49810D3E4}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChatBubbles", "ChatBubbles\ChatBubbles.csproj", "{6981A299-1743-4342-9F20-B8FC0263C54D}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InDepthLogging", ".Blackbox\InDepthLogging\InDepthLogging.csproj", "{544C21EF-51EF-4947-BBED-26A6794A71D7}" @@ -114,6 +112,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlapPlapForAll", ".Experime EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlapPlapForAll", "PlapPlapForAll\PlapPlapForAll.csproj", "{B467F55B-55C4-44E7-83EF-E6ABC9225A90}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OriginShift", ".Experimental\OriginShift\OriginShift.csproj", "{CE2F1DF8-347D-4AAF-870C-8F2A97FDC308}" +EndProject EndProject EndProject EndProject @@ -369,10 +369,6 @@ Global {11417BE7-7C4F-40D9-9FCB-467C7B3DCF66}.Debug|Any CPU.Build.0 = Debug|Any CPU {11417BE7-7C4F-40D9-9FCB-467C7B3DCF66}.Release|Any CPU.ActiveCfg = Release|Any CPU {11417BE7-7C4F-40D9-9FCB-467C7B3DCF66}.Release|Any CPU.Build.0 = Release|Any CPU - {A891F616-D163-4B1D-99E4-17C49810D3E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A891F616-D163-4B1D-99E4-17C49810D3E4}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A891F616-D163-4B1D-99E4-17C49810D3E4}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A891F616-D163-4B1D-99E4-17C49810D3E4}.Release|Any CPU.Build.0 = Release|Any CPU {6981A299-1743-4342-9F20-B8FC0263C54D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {6981A299-1743-4342-9F20-B8FC0263C54D}.Debug|Any CPU.Build.0 = Debug|Any CPU {6981A299-1743-4342-9F20-B8FC0263C54D}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -461,6 +457,10 @@ Global {B467F55B-55C4-44E7-83EF-E6ABC9225A90}.Debug|Any CPU.Build.0 = Debug|Any CPU {B467F55B-55C4-44E7-83EF-E6ABC9225A90}.Release|Any CPU.ActiveCfg = Release|Any CPU {B467F55B-55C4-44E7-83EF-E6ABC9225A90}.Release|Any CPU.Build.0 = Release|Any CPU + {CE2F1DF8-347D-4AAF-870C-8F2A97FDC308}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CE2F1DF8-347D-4AAF-870C-8F2A97FDC308}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CE2F1DF8-347D-4AAF-870C-8F2A97FDC308}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CE2F1DF8-347D-4AAF-870C-8F2A97FDC308}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -478,5 +478,6 @@ Global {A19BF0EC-70C3-49D0-B278-02807669F240} = {FF8CA700-BB6F-45FD-AEB6-CCAEACE50B0F} {7CE6B276-A25C-4B7B-B99D-AD52C6B48E5B} = {FF8CA700-BB6F-45FD-AEB6-CCAEACE50B0F} {1DE6CF9F-996E-459B-9129-D76245001F5F} = {B8FAD767-CB47-4112-8AFC-8620A51B946A} + {CE2F1DF8-347D-4AAF-870C-8F2A97FDC308} = {B8FAD767-CB47-4112-8AFC-8620A51B946A} EndGlobalSection EndGlobal diff --git a/PlapPlapForAll/Main.cs b/PlapPlapForAll/Main.cs index 22d3260..7b05d3f 100644 --- a/PlapPlapForAll/Main.cs +++ b/PlapPlapForAll/Main.cs @@ -48,11 +48,11 @@ public class PlapPlapForAllMod : MelonMod } private static void OnLocalAvatarLoaded(CVRAvatar avatar) - => OnAvatarLoaded(PlayerSetup.Instance, avatar.gameObject); + => OnAvatarLoaded(PlayerSetup.Instance, avatar); private static void OnRemoteAvatarLoaded(CVRPlayerEntity playerEntity, CVRAvatar avatar) - => OnAvatarLoaded(playerEntity.PuppetMaster, avatar.gameObject); + => OnAvatarLoaded(playerEntity.PuppetMaster, avatar); - private static void OnAvatarLoaded(PlayerBase player, GameObject avatarObject) + private static void OnAvatarLoaded(PlayerBase player, CVRAvatar avatar) { // Enforcing friends with benefits if (!Friends.FriendsWith(player.PlayerId)) @@ -60,13 +60,17 @@ public class PlapPlapForAllMod : MelonMod // Ensure the avatar is NSFW UgcContentTags tags = player.AvatarMetadata.TagsData; - if (tags is { Suggestive: false, Explicit: false }) + if (tags is { Suggestive: false, Explicit: false } // Main tags + && !avatar.TagHandledByAdvancedTagging(CVRAvatarAdvancedTaggingEntry.Tags.Suggestive) // Advanced tags + && !avatar.TagHandledByAdvancedTagging(CVRAvatarAdvancedTaggingEntry.Tags.Explicit)) return; // Ensure mature content is allowed by user settings if (!MetaPort.Instance.matureContentAllowed) return; + GameObject avatarObject = avatar.gameObject; + // Scan for DPS setups if (!DPS.ScanForDPS(avatarObject, out List dpsOrifices, out bool foundPenetrator)) return; diff --git a/PlapPlapForAll/format.json b/PlapPlapForAll/format.json index 01acb58..88c9774 100644 --- a/PlapPlapForAll/format.json +++ b/PlapPlapForAll/format.json @@ -1,5 +1,5 @@ { - "_id": -1, + "_id": 274, "name": "PlapPlapForAll", "modversion": "1.0.0", "gameversion": "2025r181", diff --git a/YouAreMyPropNowWeAreHavingSoftTacosLater/Properties/AssemblyInfo.cs b/YouAreMyPropNowWeAreHavingSoftTacosLater/Properties/AssemblyInfo.cs index b6220ad..6bfe17e 100644 --- a/YouAreMyPropNowWeAreHavingSoftTacosLater/Properties/AssemblyInfo.cs +++ b/YouAreMyPropNowWeAreHavingSoftTacosLater/Properties/AssemblyInfo.cs @@ -27,6 +27,6 @@ using System.Reflection; namespace NAK.YouAreMyPropNowWeAreHavingSoftTacosLater.Properties; internal static class AssemblyInfoParams { - public const string Version = "1.0.1"; + public const string Version = "1.0.2"; public const string Author = "NotAKidoS"; } \ No newline at end of file diff --git a/YouAreMyPropNowWeAreHavingSoftTacosLater/format.json b/YouAreMyPropNowWeAreHavingSoftTacosLater/format.json index 5390a52..9dfa056 100644 --- a/YouAreMyPropNowWeAreHavingSoftTacosLater/format.json +++ b/YouAreMyPropNowWeAreHavingSoftTacosLater/format.json @@ -1,8 +1,8 @@ { "_id": 262, "name": "YouAreMyPropNowWeAreHavingSoftTacosLater", - "modversion": "1.0.1", - "gameversion": "2025r181", + "modversion": "1.0.2", + "gameversion": "2025r181-hf2", "loaderversion": "0.7.2", "modtype": "Mod", "author": "NotAKidoS", @@ -18,6 +18,6 @@ ], "downloadlink": "https://github.com/NotAKidoS/NAK_CVR_Mods/releases/download/r48/YouAreMyPropNowWeAreHavingSoftTacosLater.dll", "sourcelink": "https://github.com/NotAKidoS/NAK_CVR_Mods/tree/main/YouAreMyPropNowWeAreHavingSoftTacosLater/", - "changelog": "- Updated for CVR 2025r181", + "changelog": "- Updated for CVR 2025r181-hf2", "embedcolor": "#f61963" } \ No newline at end of file