from pathlib import Path


ROOT = Path(__file__).resolve().parents[1]

REQUIRED = {
    ROOT / "Source" / "AgrarianGame" / "AgrarianDemoNoticeActor.h": [
        "float NoticeDurationSeconds = 24.0f;",
        "Investor Demo v0.1.L - Build 2026.05.18",
    ],
    ROOT / "Source" / "AgrarianGame" / "AgrarianDemoNoticeWidget.h": [
        "virtual void NativeConstruct() override;",
        "DrawCinematicCredits",
        "DrawCreditIllustration",
        "CreditsStartTimeSeconds",
        "Investor Demo v0.1.L - Build 2026.05.18",
    ],
    ROOT / "Source" / "AgrarianGame" / "AgrarianDemoNoticeWidget.cpp": [
        "Nathan Slaven",
        "Lead Developer",
        "Hunter Slaven",
        "Junior Developer",
        "Lisa Reiley",
        "Quality Control",
        "River Slaven",
        "Alpha Game Tester",
        "Fisher Slaven",
        "Beta Game Tester",
        "Cherished individuals, Pacificao seed funding, and Lina Family Investment Funds",
        "SlamSeconds",
        "DrawCreditIllustration",
    ],
    ROOT / "Config" / "DefaultGame.ini": [
        "ProjectVersion=0.1.L-investor.20260518",
    ],
    ROOT / "Scripts" / "InstallWindowsDemoLaunchers.bat": [
        "DEMO_VERSION=Investor Demo v0.1.L - Build 2026.05.18",
    ],
    ROOT / "AGRARIAN_DEVELOPMENT_ROADMAP.md": [
        "Add unattended and poorly maintained fire risk for campfires and other open-flame sources.",
        "Add grass and forest ignition checks from irresponsible fire placement, wind/weather, dry fuel, nearby vegetation, and burn duration.",
    ],
}


def main():
    missing = []
    for path, snippets in REQUIRED.items():
        text = path.read_text(encoding="utf-8")
        for snippet in snippets:
            if snippet not in text:
                missing.append(f"{path.relative_to(ROOT)} missing {snippet!r}")

    if missing:
        raise SystemExit("Startup credits verification failed:\n" + "\n".join(missing))

    print("PASS: startup credits sequence and forest-fire roadmap follow-up are present.")


if __name__ == "__main__":
    main()
