Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions AMBuilder
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ for sdk_target in MMSPlugin.sdk_targets:
'src/discord.cpp',
'src/map_votes.cpp',
'src/entwatch.cpp',
'src/bosshud.cpp',
'src/user_preferences.cpp',
'src/zombiereborn.cpp',
'src/customio.cpp',
Expand Down
2 changes: 2 additions & 0 deletions CS2Fixes.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="src\bosshud.cpp" />
<ClCompile Include="src\buttonwatch.cpp" />
<ClCompile Include="build\cs2fixes.cs2\windows-x86_64\cs_usercmd.pb.cc" />
<ClCompile Include="build\cs2fixes.cs2\windows-x86_64\networkbasetypes.pb.cc" />
Expand Down Expand Up @@ -224,6 +225,7 @@
<ClCompile Include="src\cs2_sdk\entity\services.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\bosshud.h" />
<ClInclude Include="src\buttonwatch.h" />
<ClInclude Include="src\adminsystem.h" />
<ClInclude Include="src\commands.h" />
Expand Down
8 changes: 7 additions & 1 deletion CS2Fixes.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,12 @@
<ClCompile Include="src\mapmigrations.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="src\mapmigrations.h">
<Filter>Header Files</Filter>
</ClCompile>
<ClCompile Include="src\bosshud.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\mempatch.h">
Expand Down Expand Up @@ -424,7 +430,7 @@
<ClInclude Include="src\topdefender.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="src\mapmigrations.h">
<ClInclude Include="src\bosshud.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
Expand Down
2 changes: 2 additions & 0 deletions PackageScript
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ for task in MMSPlugin.binaries:
cfg_folder = builder.AddFolder(os.path.join(packages[sdk_name].sdk_name, 'cfg', MMSPlugin.metadata['name']))
mapcfg_folder = builder.AddFolder(os.path.join(packages[sdk_name].sdk_name, 'cfg', MMSPlugin.metadata['name'], 'maps'))
gamedata_folder = builder.AddFolder(os.path.join(packages[sdk_name].sdk_name, 'addons', MMSPlugin.metadata['name'], 'gamedata'))
bosshud_folder = builder.AddFolder(os.path.join(packages[sdk_name].sdk_name, 'addons', MMSPlugin.metadata['name'], 'configs', 'bosshud'))
builder.AddCopy(os.path.join('configs', 'admins.jsonc.example'), configs_folder)
builder.AddCopy(os.path.join('configs', 'discordbots.cfg.example'), configs_folder)
builder.AddCopy(os.path.join('configs', 'maplist.jsonc.example'), configs_folder)
Expand All @@ -122,6 +123,7 @@ for task in MMSPlugin.binaries:
builder.AddCopy(os.path.join('configs', 'zr', 'hitgroups.cfg.example'), zr_folder)
builder.AddCopy(os.path.join('configs', 'entwatch', 'maps', 'template.jsonc'), ew_maps_folder)
builder.AddCopy(os.path.join('gamedata', 'cs2fixes.jsonc'), gamedata_folder)
builder.AddCopy(os.path.join('configs', 'bosshud', 'template.jsonc'), bosshud_folder)

particles_cs2f_folder = builder.AddFolder(os.path.join(packages[sdk_name].sdk_name, 'particles', MMSPlugin.metadata['name']))
builder.AddCopy(os.path.join('assets', 'particles', MMSPlugin.metadata['name'], 'admin_beacon.vpcf_c'), particles_cs2f_folder)
Expand Down
11 changes: 11 additions & 0 deletions cfg/cs2fixes/cs2fixes.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,17 @@ entwatch_score 9999 // Score to give item holders (0 = dont change score at
entwatch_glow 1000 // Distance that dropped item weapon glow will be visible (0 = glow disabled)
entwatch_glow_team 0 // Whether dropped item glow is only visible to the team the item belongs to (0 = glow to all players)

// BossHud Settings
bosshud_enable 1 // INCOMPATIBLE WITH CS#. Whether to enable BossHud features
bosshud_simplehud 0 // Whether a simple BossHud is shown on maps without a config
bosshud_scoreboard 1 // Whether boss hits are displayed as assists on scoreboard
bosshud_tophits 1 // Whether top boss deamage is displayed after boss death
bosshud_reward 0 // Money rewarded to players per boss hit
bosshud_hitmarker 1 // Whether to enable hitmarkers for bosses
bosshud_hitmarker_particle "particles/hitmarker/hitmarker_boss.vpcf" // The particle to use for boss hitmarker
bosshud_rate 0.1 // How often does BossHud update
bosshud_maxhp 500000 // Bosses with more than this HP will not start showing on the HUD (0.0 = no limit)

// Hud settings
cs2f_fix_hud_flashing 0 // Whether to fix hud flashing using a workaround, this BREAKS warmup so pick one or the other
cs2f_disable_hud_outside_round 0 // Whether to disable hud messages that would flash when a round is not ongoing, since flashing fix cannot run then
Expand Down
89 changes: 89 additions & 0 deletions configs/bosshud/template.jsonc
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
//====================================================================================================
// Notes:
// - The type of boss is determined based on if "breakable" or "counter" is used
// - You can specify entities using hammerid by starting with "#" followed by hammerid (ex. "#123456")
// - Each separate boss needs a separate entry
//====================================================================================================

[
{
"name": "", // OPTIONAL - (string) Name of boss that appears in hud
"breakable": "", // Targetname/Hammerid of breakable
"counter": "", // Targetname/Hammerid of counter
"iterator": "", // OPTIONAL - Targetname/Hammerid of hp iterator (segments)
"backup": "", // OPTIONAL - Targetname/Hammerid of hp backup

"trigger": // OPTIONAL - Specifies the event that triggers the boss
{
"ent": "", // (string) Targetname/Hammerid of entity
"output": "", // (string) Output of entity
"delay": 0.0 // OPTIONAL - (float) Delay after output that starts boss
},

"showtrigger": // OPTIONAL - Specifies event that starts displaying boss health
{
"ent": "", // (string) Targetname/Hammerid of entity
"output": "", // (string) Output of entity
"delay": 0.0 // OPTIONAL - (float) Delay after event that shows boss health
},

"killtrigger": // OPTIONAL - Specifies event that force kills the boss
{
"ent": "", // (string) Targetname/Hammerid of entity
"output": "", // (string) Output of entity
"delay": 0.0 // OPTIONAL - (float) Delay after event that force kills boss
},

"hurttrigger": // OPTIONAL - Specifies event that is considered as damaging the boss
{
"ent": "", // (string) Targetname/hammerid of entity
"output": "" // (string) Output of entity
},

"reversecounter": false, // OPTIONAL - (bool) Whether counter should be reversed
"reverseiterator": false, // OPTIONAL - (bool) Whether iterator should be reversed
"hitmarkeronly": false, // OPTIONAL - (bool) Whether only hitmarkers should be shown when hitting boss
"minorhud": false, // OPTIONAL - (bool) Whether boss should should be displayed as no-bar hud variant
"multitrigger": false, // OPTIONAL - (bool) Whether boss can be triggered multiple times (multiple instances)
"templated": false, // OPTIONAL - (bool) Whether boss is templated and has name fixup
"showbeaten": true, // OPTIONAL - (bool) Whether top boss damage should be displayed after boss death
"timeout": 0.0, // OPTIONAL - (float) Specify time before boss health is hidden after taking no damage
"offset": 0.0, // OPTIONAL - (float) Specify amount of health to ADD to displayed health (negative to subtract)
"offsetiterator": 0.0, // OPTIONAL - (float) Specify amount of iterator segments to ADD to displayed health (negative to subtract)
"maxhp": 0.0 // OPTIONAL - (float) If the boss has more than this HP, it will not start showing on the HUD (0.0 = no limit)
},

// Breakable boss example
{
"name": "",
"breakable": ""
},

// Counter example
{
"name": "",
"counter": ""
},

// Counter, backup, and iterator example
{
"name": "",
"counter": "",
"backup": "",
"iterator": ""
},

// Counter and iterator example
{
"name": "",
"counter": "",
"iterator": ""
},

// Breakable and iterator example
{
"name": "",
"breakable": "",
"iterator": ""
}
]
Loading
Loading