Compare commits

..

5 commits

Author SHA1 Message Date
NotAKidoS
0da225b05c [OriginShift] Fixed for 2025r181-hf2 2025-12-30 03:14:32 -06:00
NotAKidoS
ce30784789 [YouAreMyPropNowWeAreHavingSoftTacosLater] Fixed for 2025r181-hf2 2025-12-30 03:14:14 -06:00
NotAKidoS
3273a1dd70 [NAK_CVR_Mods] updated sln 2025-12-30 03:13:41 -06:00
NotAKidoS
8d1a01e306 [PlapPlapForAll] updated format.json 2025-12-30 03:13:23 -06:00
NotAKidoS
2562dba9c2 [PlapPlapForAll] Added check for advtags 2025-12-30 03:10:45 -06:00
7 changed files with 30 additions and 21 deletions

View file

@ -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

View file

@ -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);
}
}

View file

@ -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

View file

@ -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<DPSOrifice> dpsOrifices, out bool foundPenetrator))
return;

View file

@ -1,5 +1,5 @@
{
"_id": -1,
"_id": 274,
"name": "PlapPlapForAll",
"modversion": "1.0.0",
"gameversion": "2025r181",

View file

@ -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";
}

View file

@ -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"
}