Ночью по R с ножом - дух змеи: тело падает (-95% HP), игрок управляет призрачной змеёй от первого лица. Свободный ход по миру (свой наблюдатель чанков, отрисовка, звук, спавн и спящие считаются от змеи), прыжок, атака на ЛКМ - рывок сквозь препятствия и чёрный разрыв, ПКМ - выбраться из текстур. Тёмное чутьё, тревога у тела, отсчёт в радиации края карты, пурпурный фильтр зрения (necrovision). Утром змея развеивается. Чёрный разрыв (NecroBurst.cs): клон частиц confetti в чёрном, команда necroburst. Проверено в игре 28.09. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
105 lines
5.5 KiB
XML
105 lines
5.5 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<TargetFramework>netstandard2.1</TargetFramework>
|
|
<AssemblyName>NecromancerHarmony</AssemblyName>
|
|
<RootNamespace>NecromancerTome</RootNamespace>
|
|
<LangVersion>latest</LangVersion>
|
|
<Nullable>disable</Nullable>
|
|
<!-- The DLL is loaded straight out of the mod folder by the game, not via NuGet/deps.json. -->
|
|
<GenerateDependencyFile>false</GenerateDependencyFile>
|
|
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
|
<OutputPath>bin\</OutputPath>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<!-- Game/Harmony assemblies: compile-time only, never copied into our output (they already
|
|
exist where the game loads them from). -->
|
|
<Reference Include="0Harmony">
|
|
<HintPath>..\..\0_TFP_Harmony\0Harmony.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<Reference Include="Assembly-CSharp">
|
|
<HintPath>..\..\..\7DaysToDie_Data\Managed\Assembly-CSharp.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<Reference Include="UnityEngine.CoreModule">
|
|
<HintPath>..\..\..\7DaysToDie_Data\Managed\UnityEngine.CoreModule.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<Reference Include="UnityEngine.ParticleSystemModule">
|
|
<HintPath>..\..\..\7DaysToDie_Data\Managed\UnityEngine.ParticleSystemModule.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<!-- Collider/Physics.IgnoreCollision for SummonPatch.cs's "pet passes through its owner"
|
|
(user request 2026-08-28) - lives in its own module, not CoreModule. -->
|
|
<Reference Include="UnityEngine.PhysicsModule">
|
|
<HintPath>..\..\..\7DaysToDie_Data\Managed\UnityEngine.PhysicsModule.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<!-- EntityAlive.PlayOneShot(string)'s own overload set touches AnimationEvent (2026-08-29,
|
|
BansheePatch.cs) - needed even though this mod never uses AnimationEvent directly, just
|
|
to satisfy the compiler's reference-resolution for that overload. -->
|
|
<Reference Include="UnityEngine.AnimationModule">
|
|
<HintPath>..\..\..\7DaysToDie_Data\Managed\UnityEngine.AnimationModule.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<!-- AssetBundle.LoadFromFile for CustomBlockPaintPatch.cs (2026-09-10) - the mod ships its
|
|
own block paint textures in Resources/necroatlas, and Unity keeps bundle loading in its
|
|
own module rather than CoreModule. -->
|
|
<Reference Include="UnityEngine.AssetBundleModule">
|
|
<HintPath>..\..\..\7DaysToDie_Data\Managed\UnityEngine.AssetBundleModule.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<!-- PlayerActionsLocal.Secondary (PlayerAction) for PortalStonePatch.cs's power-attack
|
|
channel-cancel (2026-08-29) - the game's own input layer, not something this mod
|
|
previously needed to touch directly. -->
|
|
<Reference Include="InControl">
|
|
<HintPath>..\..\..\7DaysToDie_Data\Managed\InControl.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<!-- UnityEngine.Input (raw mouse polling) for the same channel-cancel fix - Unity split
|
|
Input into its own module, not part of CoreModule. -->
|
|
<Reference Include="UnityEngine.InputLegacyModule">
|
|
<HintPath>..\..\..\7DaysToDie_Data\Managed\UnityEngine.InputLegacyModule.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<!-- PyramidWardPatch.cs's TEFeaturePyramidWard.Write() calls into this instead of
|
|
PooledBinaryWriter.Write directly - see TEPersistenceSrc/NecromancerTEPersistence.csproj's
|
|
own comment for why that call can't compile in THIS project at all. Private=false: it's
|
|
built and deployed separately (its own dotnet build + copy to the mod root), same as
|
|
0Harmony above - not something this project's own build should try to copy/rebuild. -->
|
|
<!-- SnakeControl.cs (2026-09-28): the snake's crosshair is drawn with OnGUI (IMGUIModule)
|
|
from a sprite in the game's atlas (INGUIAtlas/UISpriteData live in NGUI.dll). -->
|
|
<Reference Include="NGUI">
|
|
<HintPath>..\..\..\7DaysToDie_Data\Managed\NGUI.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<Reference Include="UnityEngine.IMGUIModule">
|
|
<HintPath>..\..\..\7DaysToDie_Data\Managed\UnityEngine.IMGUIModule.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<!-- The radiation countdown text (TextAnchor/FontStyle for its GUIStyle). -->
|
|
<Reference Include="UnityEngine.TextRenderingModule">
|
|
<HintPath>..\..\..\7DaysToDie_Data\Managed\UnityEngine.TextRenderingModule.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<!-- SnakeCrosshair: the crosshair sprite exported to PNG / a custom PNG loaded (ImageConversion). -->
|
|
<Reference Include="UnityEngine.ImageConversionModule">
|
|
<HintPath>..\..\..\7DaysToDie_Data\Managed\UnityEngine.ImageConversionModule.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<!-- SnakeVision.cs: ScreenEffects.ScreenEffect derives from the post-processing stack's
|
|
PostProcessEffectSubRenderer. -->
|
|
<Reference Include="Unity.Postprocessing.Runtime">
|
|
<HintPath>..\..\..\7DaysToDie_Data\Managed\Unity.Postprocessing.Runtime.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
<Reference Include="NecromancerTEPersistence">
|
|
<HintPath>..\TEPersistenceSrc\bin\NecromancerTEPersistence.dll</HintPath>
|
|
<Private>false</Private>
|
|
</Reference>
|
|
</ItemGroup>
|
|
|
|
</Project>
|