Survival mode bugfixes and revive mechanism
This commit is contained in:
parent
d701598350
commit
2fa85e8b1f
14 changed files with 529 additions and 35 deletions
|
|
@ -53,8 +53,9 @@ public interface IMatchDriver
|
|||
bool OwnsBotPopulation => false;
|
||||
// Drive bot population (called from SyncBots when OwnsBotPopulation): survival sets bot_quota from the wave kill-budget.
|
||||
void ManageBots() { }
|
||||
// A human died (victim). Survival: move to spectator + run wipe detection. No-op elsewhere (native DM respawn handles it).
|
||||
void OnHumanDeath(CCSPlayerController victim, PlayerData pd) { }
|
||||
// A human died (victim); `attacker` is the killer — a bot in normal PvE combat, null/self for a suicide/fall/world death.
|
||||
// Survival: run wipe detection + register a Field Medic revive beacon (combat deaths only). No-op elsewhere (native DM respawn).
|
||||
void OnHumanDeath(CCSPlayerController victim, PlayerData pd, CCSPlayerController? attacker) { }
|
||||
// A human left mid-run. Survival: bank their accumulated run-XP into the main table before the pd is dropped.
|
||||
void OnHumanDisconnect(ulong steamId, PlayerData pd) { }
|
||||
// Extra run-scoped stat bonus (survival cards) added on top of Eff() at every stat site via EffRun. 0 in TDM/GG.
|
||||
|
|
@ -70,6 +71,10 @@ public interface IMatchDriver
|
|||
double TeamTakeMult() => 1.0;
|
||||
// Optional mode status line for the HUD (survival shows the wave / bots-left line). "" = no line.
|
||||
string HudStatusLine(PlayerData pd) => "";
|
||||
// Optional per-player HUD line for the survival Field Medic revive: the locator (arrow + distance to a downed ally),
|
||||
// the channel progress bar while reviving, or the edge warning. html = the center-HTML HUD (font tags) vs plain world
|
||||
// text. "" = nothing to show (no card, no downed ally, or not survival). Only SurvivalDriver overrides it.
|
||||
string ReviveHudLine(CCSPlayerController p, PlayerData pd, bool html) => "";
|
||||
// Optional weapon-ladder status line for the shop info panel (Gun Game shows the current rung). null = N/A.
|
||||
string? LadderStatusLine(PlayerData pd) => null;
|
||||
// Mode-specific block for the local status API (Api.cs), serialized as-is into the payload's "Extra" field.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue