From ab02b47d771d3d5400a42f62157b5176b99ffc15 Mon Sep 17 00:00:00 2001 From: LadyAliceMargatroid Date: Fri, 7 Feb 2025 21:44:48 -0800 Subject: [PATCH] Maid knife's collider is biiger on initial pickup --- .../GamePatch/Enemies/MaidVariant.cs | 6 ++++++ .../ScarletMansion/GamePatch/InitPatch.cs | 2 -- .../GamePatch/Items/ScarletKnife.cs | 16 ++++++++++++++++ ScarletMansion/ScarletMansion/Plugin.cs | 4 ++-- ScarletMansion/ScarletMansion/Utility.cs | 2 ++ 5 files changed, 26 insertions(+), 4 deletions(-) diff --git a/ScarletMansion/ScarletMansion/GamePatch/Enemies/MaidVariant.cs b/ScarletMansion/ScarletMansion/GamePatch/Enemies/MaidVariant.cs index 25d4fc9..7c74d25 100644 --- a/ScarletMansion/ScarletMansion/GamePatch/Enemies/MaidVariant.cs +++ b/ScarletMansion/ScarletMansion/GamePatch/Enemies/MaidVariant.cs @@ -218,6 +218,9 @@ namespace ScarletMansion.GamePatch.Enemies { // Token: 0x04000118 RID: 280 private float berserkModeTimer; + [Header("Maid")] + public Collider mainCollider; + public BoxCollider deathCollider; public AnimationCurve footstepCurve; public const float WALKING_SPEED_TO_ANIMATION_SPEED = 1.646f; @@ -272,6 +275,9 @@ namespace ScarletMansion.GamePatch.Enemies { knifeRender.SetActive(false); + mainCollider.enabled = false; + deathCollider.enabled = true; // cause their hitbox should be gone + if (IsServer) { if (ConfigMain.Instance.revEnemyValue.enabled){ var enemy = ScarletNetworkManagerUtility.CreateEnemyWithType(knightGhostEnemy, transform.position, 0f); diff --git a/ScarletMansion/ScarletMansion/GamePatch/InitPatch.cs b/ScarletMansion/ScarletMansion/GamePatch/InitPatch.cs index 51dfb9b..b3cb001 100644 --- a/ScarletMansion/ScarletMansion/GamePatch/InitPatch.cs +++ b/ScarletMansion/ScarletMansion/GamePatch/InitPatch.cs @@ -11,9 +11,7 @@ using ScarletMansion.DunGenPatch; using LethalLib.Modules; using Unity.Netcode; using LethalLevelLoader; -using static UnityEngine.GraphicsBuffer; using ScarletMansion.GamePatch.Components; -using System.Security.Cryptography; using ScarletMansion.GamePatch.Enemies; using UnityEngine.UI; using ScarletMansion.GamePatch.Items; diff --git a/ScarletMansion/ScarletMansion/GamePatch/Items/ScarletKnife.cs b/ScarletMansion/ScarletMansion/GamePatch/Items/ScarletKnife.cs index 97e0f33..66d2e61 100644 --- a/ScarletMansion/ScarletMansion/GamePatch/Items/ScarletKnife.cs +++ b/ScarletMansion/ScarletMansion/GamePatch/Items/ScarletKnife.cs @@ -39,10 +39,23 @@ namespace ScarletMansion.GamePatch.Items public ParticleSystem buffedParticleSystem; public MeshRenderer knifeRenderer; + [Header("Colliders")] + public BoxCollider boxCollider; + public Bounds maidBounds; + public Bounds defaultBounds; + + void Awake(){ + defaultBounds.center = boxCollider.center; + defaultBounds.size = boxCollider.size; + } + public override void EquipItem() { base.EquipItem(); playerHeldBy.equippedUsableItemQE = true; parentMaid = null; + + boxCollider.center = defaultBounds.center; + boxCollider.size = defaultBounds.size; } public override void LateUpdate(){ @@ -50,6 +63,9 @@ namespace ScarletMansion.GamePatch.Items if (parentMaid) { transform.position = parentMaid.knifeRenderTransform.position; transform.rotation = parentMaid.knifeRenderTransform.rotation; + + boxCollider.center = Vector3.Lerp(boxCollider.center, maidBounds.center, Time.deltaTime * 5f); + boxCollider.size = Vector3.Lerp(boxCollider.size, maidBounds.size, Time.deltaTime * 5f); } } diff --git a/ScarletMansion/ScarletMansion/Plugin.cs b/ScarletMansion/ScarletMansion/Plugin.cs index 63d7922..d98da62 100644 --- a/ScarletMansion/ScarletMansion/Plugin.cs +++ b/ScarletMansion/ScarletMansion/Plugin.cs @@ -25,7 +25,7 @@ namespace ScarletMansion { [BepInDependency("imabatby.lethallevelloader", "1.4.5")] [BepInDependency("evaisa.lethallib", "0.13.2")] - [BepInDependency("dev.ladyalice.dungenplus", "1.3.4")] + [BepInDependency("dev.ladyalice.dungenplus", "1.4.0")] [BepInDependency("dev.ladyalice.scarletmansion.foyer")] [BepInDependency("dev.ladyalice.scarletmansion.basement")] //[BepInDependency(ModCompability.advancedCompanyGuid, BepInDependency.DependencyFlags.SoftDependency)] @@ -37,7 +37,7 @@ namespace ScarletMansion { public class Plugin : BaseUnityPlugin { public const string modGUID = "dev.ladyalice.scarletmansion"; private const string modName = "Scarlet Devil Mansion"; - private const string modVersion = "2.2.2"; + private const string modVersion = "2.3.0"; public readonly Harmony harmony = new Harmony(modGUID); diff --git a/ScarletMansion/ScarletMansion/Utility.cs b/ScarletMansion/ScarletMansion/Utility.cs index ce1d409..341a52c 100644 --- a/ScarletMansion/ScarletMansion/Utility.cs +++ b/ScarletMansion/ScarletMansion/Utility.cs @@ -229,6 +229,7 @@ namespace ScarletMansion { return comp as T; } + /* public static void PrintToParent(Transform t) { Plugin.logger.LogDebug(t.name); var parent = t.parent; @@ -239,6 +240,7 @@ namespace ScarletMansion { parent = parent.parent; } } + */ public static (int totalMinutes, int hours, int minutes) GetTime(){ var timeOfDay = TimeOfDay.Instance;