A BZFlag plug-in that implements the All Hands On Deck game mode
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.editorconfig
.gitattributes
.gitignore
AllHandsOnDeck.cpp
AllHandsOnDeck.def
AllHandsOnDeck.sln
AllHandsOnDeck.vcxproj
AllHandsOnDeck.vcxproj.filters
LICENSE.md
Makefile.am
README.md
TriHix.bzw
welcome.txt

README.md

All Hands On Deck! (AHOD)

GitHub release Minimum BZFlag Version License

Attention all tankers! All hands on deck!

Originally introduced as a new game mode by trepan, this game mode requires an insane amount of team work, more than BZFlag leagues. In this game mode, all of the members of a team must be "on deck" with the enemy flag in order to capture the flag. If just one team member is missing, there is no capture!

Requirements

  • BZFS 2.4.12
  • C++11

This plug-in follows my standard instructions for compiling plug-ins.

Usage

Loading the plug-in

This plug-in takes a comma separated list of arguments.

  1. Set the game mode for this map.
    • SingleDeck - the traditional AHOD game mode where two or more teams fight to capture the enemy flag on a single deck; think king of the hill.
    • MultipleDecks - having multiple decks, each deck is tied to a specific team; think traditional CTF but requiring your entire team on the deck to cap.
  2. (optional) Set the welcome message.
    • default - enable the default welcome message explaining the game mode
    • disabled - disable the welcome message entirely
    • filepath - path to a text file. The contents of the text file will be used as the welcome message
-loadplugin AllHandsOnDeck,<SingleDeck|MultipleDecks>
-loadplugin AllHandsOnDeck,<SingleDeck|MultipleDecks>,<default|disabled|filepath>

Custom BZDB Variables

These custom BZDB variables must be used with -setforced, which sets BZDB variable <name> to <value>, even if the variable is not built-in. These variables may be changed at any time in-game by using the /set command.

-setforced <name> <value>
Name Type Default Description
_ahodPercentage float 1 The percentage (in decimal form) of a team that must be on the deck in order to cap.

Custom Map Objects

This plug-in introduces the DECK map object which defines the location of where a team must be in order to cap. This object supports the traditional position, size, and rotation attributes.

Warning: The AHOD map object has been deprecated and will be removed in the future. The DECK object has taken its place and is backwards compatible.

Additionally, for the MultipleDecks game mode, the color attribute is required, which defines which team this deck is for; only one deck per team is supported. The accepted values are the same as the base object.

deck
  position 0 0 0
  size 5 5 5
  rotation 0
  color 1
end

License

MIT

TriHix License

I have included TriHix in this repository since this map and the plug-in go together; however, the map itself is not licensed to be used or hosted without permission.