Common BAR tweakdef mistakes and how to fix them

Malformed definitions, missing subtables, and nil handling errors break tweakdefs silently. Here is what to check when your changes appear to do nothing.

Tags: beyond all reason, modding, tweakdefs, lua, troubleshooting, widgets

Missing subtables

New tweakdefs fail when expected subtables do not exist. Buildoptions, customparams, weapondefs, and weapons all need to exist before you modify them. Adding a new unit without creating these subtables first causes silent failures that are hard to trace.

CommandNotify for widgets

Widgets cannot use AllowCommand directly since that belongs to the gadget layer players cannot modify. CommandNotify serves as the widget-side alternative. It fires in the same execution path and lets widgets react to issued commands.

Example implementations exist in the BAR GitHub repository, particularly in the cmd_group_guard widget.

Commando drop trajectory

The commando unit drop trajectory and fall damage behavior can be modified through tweakunits or tweakdefs. The relevant exclusion table lives in the BAR source code and controls which units ignore fall damage.

Creed of champions

Clean debug habits and methodical testing separate productive modders from frustrated ones. The same discipline helps in competitive play. Creed of Champions values players who put in the work and help teammates do the same.

[Crd] The removal of toxicity, the goal of fun and learning, makes for a refreshing spot to play and spend time. It has also made a game with plenty of complexity a bit less daunting to dive into.