# q2pro.modhelp — Mod command overlay data for Q2PRO-X
#
# Format:
#   pack <id> "<display name>"
#   page <section_id> "<title>" section <general|spectator|team|stats|voting|admin>
#   exec  "<label>" "<command>" "<description/aliases>" [roles=<list>] [dangerous=yes] [arg=<type>]
#   prompt "<label>" "<prefix>" "<description>" [roles=<list>] [dangerous=yes] [arg=<type>]
#   endpage
#   endpack
#
# exec  = immediate command execution on click/Enter
# prompt = opens inline text input prefilled with <prefix>
#
# roles= comma-separated list: player,spectator,caster,captain,admin (omit for all)
# dangerous=yes requires confirmation before execution
# arg= suggestion provider: player, map, config, skin, team, number, free (omit for none)
#
# maps <pack_id> <map1> <map2> ...       — curated map list for a pack
# configs <pack_id> <cfg1> <cfg2> ...    — curated config list for a pack

# =========================================================================
# Map and config lists
# =========================================================================

maps opentdm q2dm1 q2dm2 q2dm3 q2dm4 q2dm5 q2dm6 q2dm7 q2dm8 q2dm9 q2dm10 q2dm13 q2dm18 q2rdm1 q2rdm2 q2rdm3 q2rdm4 q2rdm5 q2rdm6 q2rdm7 q2rdm8 q2rdm9 q2rdm10 q2rdm11 q2rdm12 q2rdm13 q2rdm14 q2rdm15 q2duel1 q2duel2 q2duel3 q2duel4 q2duel5 q2duel6 q2duel7 q2duel8 ztn2dm1 ztn2dm2 ztn2dm3 ztn2dm4 ztn2dm5 ptrip aerowalk match1 dm1 dm2 dm3 dm4 dm5 dm6 dm7 dm_purple cor_f q3t2 molten bloodrun koldduel1 omf kaktus
maps openffa q2dm1 q2dm2 q2dm3 q2dm4 q2dm5 q2dm6 q2dm7 q2dm8 q2dm9 q2dm10 q2dm13 q2dm18 q2rdm1 q2rdm2 q2rdm3 q2rdm4 q2rdm5 q2rdm6 q2rdm7 q2rdm8 q2rdm9 q2rdm10 q2rdm11 q2rdm12 q2rdm13 q2rdm14 q2rdm15 q2duel1 q2duel2 q2duel3 q2duel4 q2duel5 q2duel6 q2duel7 q2duel8 ztn2dm1 ztn2dm2 ztn2dm3 ztn2dm4 ztn2dm5 ptrip aerowalk dm1 dm2 dm3 dm4 dm5 dm6 dm7 dm_purple cor_f q3t2 molten bloodrun koldduel1 omf kaktus

configs opentdm 2v2 3v3 4v4 tdm duel public

# =========================================================================
# OpenTDM
# =========================================================================

pack opentdm "OpenTDM"

page general "General" section general
exec "Open server menu"      "menu"        ""
exec "Join Hometeam"         "join 1"      ""
exec "Join Visitors"         "join 2"      ""
exec "Choose/switch team"    "team"        ""
exec "Ready up"              "ready"       ""
exec "Not ready"             "notready"    "unready"
exec "Show match settings"   "settings"    ""
exec "Match info"            "matchinfo"   ""
exec "List commands"         "commands"    ""
endpage

page spectator "Spectator" section spectator
exec "Switch to spectator"       "observer"      "spectate, spec, obs" roles=player
exec "Free spectator camera"     "chase none"    "" roles=spectator,caster
exec "Chase frag leader"         "chase leader"  "" roles=spectator,caster
exec "Chase last killer"         "chase killer"  "" roles=spectator,caster
exec "Chase quad runner"         "chase quad"    "" roles=spectator,caster
exec "Chase invul runner"        "chase invul"   "" roles=spectator,caster
exec "Call timeout"              "time"          "calltime, pause, ctime, hold"
exec "Ghost rejoin"              "ghost"         "restore, recover, rejoin"
exec "Team talk as spec"         "talk"          "" roles=spectator,caster
exec "Identify player"           "id"            "ident"
exec "Toggle spec chat"          "obsmode"       "chat" roles=spectator,caster
exec "Message of the day"        "motd"          ""
prompt "Chase player..."         "chase "        "Enter player name" roles=spectator,caster arg=player
endpage

page team "Team / Captain" section team
exec "Become captain"        "captain"         "" roles=player,captain
exec "Show captains"         "captains"        ""
prompt "Invite player..."    "invite "         "" roles=player,captain arg=player
exec "Accept invitation"     "accept"          "" roles=player
prompt "Pick player..."      "pickplayer "     "pick" roles=player,captain arg=player
exec "Lock team"             "lockteam"        "lock" roles=player,captain
exec "Unlock team"           "unlockteam"      "unlock" roles=player,captain
prompt "Set team skin..."    "teamskin "       "tskin" roles=player,captain arg=skin
prompt "Set team name..."    "teamname "       "" roles=player,captain arg=free
exec "Team ready"            "teamready"       "readyteam" roles=player,captain
exec "Team not ready"        "teamnotready"    "notreadyteam" roles=player,captain
exec "Lock spectators"       "speclock"        "" roles=player,captain
prompt "Invite spectator..." "specinvite "     "" roles=player,captain arg=player
prompt "Set enemy skin..."   "eskin "          "" roles=player,captain arg=skin
endpage

page stats "Stats" section stats
exec "Your stats"            "stats"           ""
exec "Kill breakdown"        "kills"           ""
exec "Weapon accuracy"       "accuracy"        ""
exec "Damage dealt/taken"    "damage"          ""
exec "Weapon pickups"        "weapons"         ""
exec "Item pickups"          "items"           ""
exec "Team stats"            "teamstats"       ""
exec "Team kills"            "teamkills"       ""
exec "Team accuracy"         "teamaccuracy"    ""
exec "Best accuracy"         "topshots"        ""
exec "Worst accuracy"        "bottomshots"     ""
exec "Previous match stats"  "oldstats"        "laststats"
exec "Previous match scores" "oldscores"       "oldscore, lastscore"
exec "Powerup info"          "powerups"        ""
endpage

page voting "Voting" section voting
prompt "Vote map..."         "vote map "       "Propose map change" roles=player,spectator arg=map
prompt "Vote timelimit..."   "vote timelimit " "vote tl N" roles=player,spectator arg=number
prompt "Vote weapons..."     "vote weapons "   "Weapon settings" roles=player,spectator
prompt "Vote powerups..."     "vote powerups "  "+/-quad,invul,ps,.." roles=player,spectator arg=free
prompt "Vote gamemode..."    "vote gamemode "  "vote mode" roles=player,spectator
prompt "Vote config..."      "vote config "    "Load server config" roles=player,spectator arg=config
exec "Vote restart"          "vote restart"    "" roles=player,spectator
exec "Vote abort"            "vote abort"      "" roles=player,spectator
prompt "Vote kick..."        "vote kick "      "Kick a player" roles=player,spectator dangerous=yes arg=player
exec "Vote shuffle"          "vote shuffle"    "vote randomize" roles=player,spectator
prompt "Vote overtime..."    "vote overtime "  "vote ot, vote tiemode" roles=player,spectator arg=number
exec "Vote telemode"         "vote telemode"   "" roles=player,spectator
exec "Vote chat"             "vote chat"       "" roles=player,spectator
exec "Vote YES"              "yes"             "" roles=player,spectator
exec "Vote NO"               "no"              "" roles=player,spectator
endpage

page admin "Admin / Ref" section admin
prompt "Enter admin mode..." "admin "          "" roles=admin arg=free
exec "List admin commands"   "acommands"       "" roles=admin
exec "Force all ready"       "forceready"      "readyall, allready" roles=admin dangerous=yes
exec "Force all not ready"   "unreadyall"      "notreadyall" roles=admin dangerous=yes
exec "Start countdown"       "startcountdown"  "" roles=admin
prompt "Kick player..."      "kick "           "boot, kickplayer" roles=admin dangerous=yes arg=player
prompt "Kickban player..."   "kickban "        "" roles=admin dangerous=yes arg=player
prompt "Ban IP..."           "ban "            "" roles=admin dangerous=yes arg=free
prompt "Unban IP..."         "unban "          "" roles=admin dangerous=yes arg=free
exec "List bans"             "bans"            "" roles=admin
exec "Break match"           "break"           "" roles=admin dangerous=yes
prompt "Change map..."       "changemap "      "" roles=admin dangerous=yes arg=map
exec "Shuffle teams"         "shuffle"         "" roles=admin dangerous=yes
prompt "Force team..."       "forceteam "      "forceteam PLAYER TEAM" roles=admin dangerous=yes arg=player
endpage

endpack

# =========================================================================
# OpenFFA
# =========================================================================

pack openffa "OpenFFA"

page play "Play" section general
exec "Open server menu"      "menu"        ""
exec "Join the game"         "join"        ""
exec "Ready up"              "ready"       ""
exec "Not ready"             "notready"    "unready, noready"
exec "Show scoreboard"       "score"       ""
exec "Previous match scores" "oldscore"    "oldscores, lastscore"
exec "Message of the day"    "motd"        ""
endpage

page spectator "Spectator" section spectator
exec "Switch to spectator"       "observe"       "" roles=player
exec "Enter chasecam mode"       "chase"         "" roles=spectator,caster
exec "Autocam - Frag Leader"     "chase leader"  "" roles=spectator,caster
exec "Autocam - Quad Runner"     "chase quad"    "" roles=spectator,caster
exec "Autocam - Pent Runner"     "chase pent"    "" roles=spectator,caster
exec "Identify player"           "id"            ""
prompt "Chase player..."         "chase "        "Enter player name" roles=spectator,caster arg=player
endpage

page stats "Info / Stats" section stats
exec "Server settings"       "settings"    ""
exec "List players"          "players"     "playerlist"
exec "High scores"           "highscores"  "highscore"
exec "Accuracy stats"        "stats"       "accuracy"
exec "Available commands"    "commands"    ""
endpage

page voting "Voting" section voting
exec "Vote help"             "vote help"       "" roles=player,spectator
prompt "Vote fraglimit..."   "vote fraglimit " "vote fl N" roles=player,spectator arg=number
prompt "Vote timelimit..."   "vote timelimit " "vote tl N" roles=player,spectator arg=number
prompt "Vote map..."         "vote map "       "Propose map change" roles=player,spectator arg=map
prompt "Vote kick..."        "vote kick "      "Kick a player" roles=player,spectator dangerous=yes arg=player
prompt "Vote mute..."        "vote mute "      "Mute a player" roles=player,spectator arg=player
prompt "Vote items..."       "vote items "     "Item settings" roles=player,spectator
exec "Vote weapon stay"      "vote weaponstay" "" roles=player,spectator
exec "Vote protection"       "vote protection" "" roles=player,spectator
exec "Vote telemode"         "vote telemode"   "" roles=player,spectator
exec "Vote YES"              "yes"             "" roles=player,spectator
exec "Vote NO"               "no"              "" roles=player,spectator
endpage

page admin "Admin" section admin
prompt "Enter admin mode..." "admin "          "referee" roles=admin arg=free
exec "List admin commands"   "acommands"       "" roles=admin
prompt "Mute player..."      "mute "           "" roles=admin arg=player
prompt "Unmute player..."    "unmute "         "" roles=admin arg=player
exec "Mute all"              "muteall"         "" roles=admin dangerous=yes
exec "Unmute all"            "unmuteall"       "" roles=admin
prompt "Kick player..."      "kick "           "boot" roles=admin dangerous=yes arg=player
prompt "Kickban player..."   "kickban "        "" roles=admin dangerous=yes arg=player
prompt "Ban IP..."           "ban "            "" roles=admin dangerous=yes arg=free
prompt "Unban IP..."         "unban "          "" roles=admin dangerous=yes arg=free
exec "List bans"             "bans"            "" roles=admin
exec "Force all ready"       "readyall"        "allready, forceready" roles=admin dangerous=yes
exec "Force all not ready"   "unreadyall"      "allnotready, notreadyall" roles=admin dangerous=yes
endpage

endpack
