jRandomSkills/jRandomSkills - SRC Files/jRandomSkills.csproj
Astra 793370a55f feat: Panorama skill HUD and menu, CSS 1.0.375
- Skill card and W/S/E target menu drawn as CCSCustomHudLayout panels via PanoramaManager
  (panorama/ sources), replacing PrintToCenterHtml and WASDMenuAPI; WASDMenuAPI.dll dropped
- Custom status lines (cooldowns, charges) overwrite the description on the card; Medic keeps its
  description with the charge count below
- css_setoverride toggles a per-player cooldown bypass
- YourSkillChatInfo also gates the round-start skill description in chat
- Language: "[css_useSkill]" becomes the configured button name, "Press ... key" wording,
  welcome message trimmed to its first line
- Build against CounterStrikeSharp.API 1.0.375
2026-09-24 21:28:37 +01:00

100 lines
4.7 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<ItemGroup>
<Compile Remove="tools\**" />
<None Remove="tools\**" />
</ItemGroup>
<ItemGroup>
<None Include="src\player\skills\TeamTeleport.cs" />
</ItemGroup>
<ItemGroup>
<!-- Matches the server pin (pre.sh CSS_VERSION). PanoramaManager below needs 1.0.374+,
the release that added the CCSCustomHudLayout API it drives. -->
<PackageReference Include="CounterStrikeSharp.API" Version="1.0.375" />
<PackageReference Include="MaxMind.Db" Version="5.1.0">
</PackageReference>
<PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
<!-- Drives the real Panorama skill HUD (see PlayerEvents.cs's UpdateSkillHUD) for skills
that don't set a custom PrintHTML override - see CLAUDE.md's "Panorama HUD" section for
why that's staged separately from the 36 skills that do. -->
<PackageReference Include="PanoramaManager" Version="0.4.1" />
</ItemGroup>
<ItemGroup>
<Reference Include="RayTraceApi">
<HintPath>libs/RayTraceApi.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<PropertyGroup>
<SourceLangDir>$(MSBuildProjectDirectory)\src\lang</SourceLangDir>
<ServerLangDir>$(MSBuildProjectDirectory)\..\jRandomSkills - Server Files\plugins\jRandomSkills\languages</ServerLangDir>
<SourceDLL>$(MSBuildProjectDirectory)\bin\$(Configuration)\$(TargetFramework)</SourceDLL>
<ServerDLL>$(MSBuildProjectDirectory)\..\jRandomSkills - Server Files\plugins\jRandomSkills</ServerDLL>
<SourceGamedataDir>$(MSBuildProjectDirectory)\src\gamedata</SourceGamedataDir>
<ServerGamedataDir>$(MSBuildProjectDirectory)\..\jRandomSkills - Server Files\gamedata</ServerGamedataDir>
</PropertyGroup>
<!-- Copy language files to server directory -->
<Target Name="CopyLangFilesToServer" AfterTargets="Build">
<Message Text="Copying language files from $(SourceLangDir) to $(ServerLangDir)" Importance="High" />
<ItemGroup>
<LangFiles Include="$(SourceLangDir)\**\*.*" />
</ItemGroup>
<MakeDir Directories="$(ServerLangDir)" Condition="!Exists('$(ServerLangDir)')" />
<Copy SourceFiles="@(LangFiles)" DestinationFiles="@(LangFiles->'$(ServerLangDir)\\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="false" />
</Target>
<!-- Copy compiled DLL to server directory -->
<Target Name="CopyDLLToServer" AfterTargets="Build">
<Message Text="Copying compiled DLL from $(SourceDLL) to $(ServerDLL)" Importance="High" />
<ItemGroup>
<CompiledDLL Include="$(SourceDLL)\jRandomSkills.dll" />
<CompiledDLL Include="$(SourceDLL)\jRandomSkills.pdb" />
<CompiledDLL Include="$(SourceDLL)\MaxMind.Db.dll" />
<CompiledDLL Include="$(SourceDLL)\Newtonsoft.Json.dll" />
<CompiledDLL Include="$(SourceDLL)\PanoramaManager.dll" />
<!-- No PanoramaManager.pdb here - the NuGet package doesn't ship one, unlike our own
local ProjectReference builds elsewhere in this repo. -->
</ItemGroup>
<MakeDir Directories="$(ServerDLL)" Condition="!Exists('$(ServerDLL)')" />
<Copy SourceFiles="@(CompiledDLL)" DestinationFiles="@(CompiledDLL->'$(ServerDLL)\\%(Filename)%(Extension)')" SkipUnchangedFiles="false" />
</Target>
<!-- Copy gamedata files to server directory -->
<Target Name="CopyGamedataFilesToServer" AfterTargets="Build">
<Message Text="Copying gamedata files from $(SourceGamedataDir) to $(ServerGamedataDir)" Importance="High" />
<ItemGroup>
<GamedataFiles Include="$(SourceGamedataDir)\**\*.*" />
</ItemGroup>
<MakeDir Directories="$(ServerGamedataDir)" Condition="!Exists('$(ServerGamedataDir)')" />
<Copy SourceFiles="@(GamedataFiles)" DestinationFiles="@(GamedataFiles->'$(ServerGamedataDir)\\%(RecursiveDir)%(Filename)%(Extension)')" SkipUnchangedFiles="false" />
</Target>
</Project>