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
This commit is contained in:
Astra 2026-09-24 21:28:37 +01:00
parent 20dafd2a7c
commit 793370a55f
37 changed files with 1076 additions and 415 deletions

View file

@ -19,10 +19,16 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="CounterStrikeSharp.API" Version="1.0.373" />
<!-- 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>
@ -31,10 +37,6 @@
</Reference>
</ItemGroup>
<!-- Relative path to the WASDMenuAPI source code -->
<ItemGroup>
<ProjectReference Include="..\WASDMenuAPI - SRC Files\WASDMenuAPI.csproj" />
</ItemGroup>
<ItemGroup>
<Compile Update="Properties\Resources.Designer.cs">
@ -76,10 +78,11 @@
<ItemGroup>
<CompiledDLL Include="$(SourceDLL)\jRandomSkills.dll" />
<CompiledDLL Include="$(SourceDLL)\jRandomSkills.pdb" />
<CompiledDLL Include="$(SourceDLL)\WASDMenuAPI.dll" />
<CompiledDLL Include="$(SourceDLL)\WASDMenuAPI.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" />