using System;
using System.Collections.Generic;
using System.Globalization;
using Server.Commands;
using Server.Mobiles;
namespace Server.Custom
{
///
/// Produces real kill credit inside a participation area, without a game client.
///
/// ── What this can drive, and what it cannot ───────────────────────────────────────────
///
/// The participation ledger counts two things: presence, and kill credit. Only one of them
/// is reachable from a headless rig, and the split is worth stating rather than discovering.
///
/// **Presence needs a connected client.** The sweep credits online players — `NetState !=
/// null` — which is the correct test and not one a probe should loosen: a character parked
/// in Britain and logged out for eight hours did not attend anything, and a ledger that said
/// otherwise would put people at the top of a leaderboard for being AFK. There is no way to
/// produce a NetState here short of writing a client, so presence accrual is exercised by a
/// real login and not by this file.
///
/// **Kill credit needs none.** `EventSink.CreatureDeath` fires for a creature killed by any
/// means, `Mobile.DamageEntries` is populated by real damage, and the area test is a
/// coordinate comparison. So the whole of the credit path — the damager filter, the
/// per-damager fold, the area test applied to the DAMAGER rather than only the corpse, the
/// member cap — runs exactly as it would in a fight.
///
/// What it does, in order: moves two real player mobiles to the venue, spawns a creature
/// there, damages it unequally from both, and kills it.
///
/// Test scaffolding. Never deployed; `deploy.ps1` copies only `overlay/`.
/// In game: `[partprobe
public static class BridgeParticipationProbe
{
public static void Initialize()
{
CommandSystem.Register("partprobe", AccessLevel.Administrator, Probe_OnCommand);
}
[Usage("partprobe