Cheats

Cheats post thumbnail image

OpenBOR includes a set of built in cheats to aid players or allow creators to quickly breeze through their games for testing. The following cheats are available:

  • Implacable March – Players can walk freely through levels ignoring groups and waits. Note the spawns and groups still activate, so things could get crowded very quickly!
  • Infinite Credits – Players never run out of credits when starting or continuing a game.
  • Infinite Energy – Players constantly auto recharge any and all spent energy (MP).
  • Infinite Health – Players do not take damage from enemy attacks.
  • Infinite Lives – Players do not run out of lives when defeated.
  • Multihit Glitch – Disables hit detection tracking, meaning an attack box applies its effects on every engine update it overlaps a body box.
  • Touch of Death – Player attack damage is always at least equal to the target’s remaining hitpoints (before offense and defense factors apply).

Creators may control the availability of individual cheats, the entire cheat menu, and the default status of a cheat on initial start up.

global_config_cheats – Models.txt command. Accepts one or more of the following:

  • credits_active – Game loads with infinite credits cheat active.
  • credits_menu – Infinite credits cheat option appears in cheats menu.
  • energy_active – Game loads with infinite energy cheat active.
  • energy_menu – Infinite energy cheat option appears in cheats menu.
  • health_active – Game loads with Infinite health cheat active.
  • health_menu – Infinite heath cheat option appears in cheats menu.
  • implacable_active – Game loads with implacable march cheat active.
  • implacable_menu – Implacable march cheat option appears in cheats menu.
  • lives_active – Game loads with infinite lives cheat active.
  • lives_menu – Infinite lives cheat option appears in cheats menu.
  • master_menu – Cheats menu is accessible.
  • multihit_active – Game loads with multihit glitch cheat active.
  • multihit_menu – Multihit glitch cheat option appears in cheats menu.
  • touch_of_death_active – Game loads with touch of death cheat active.
  • touch_of_death_menu – Touch of Death cheat option appears in cheats menu.

Script

Cheats are exposed to script as a global_config property. Use the following bitmask constants:

  • openborconstant("CHEAT_OPTIONS_NONE") – No effect as a mask. Assign directly to reset all flags to false.
  • openborconstant("CHEAT_OPTIONS_CREDITS_ACTIVE")
  • openborconstant("CHEAT_OPTIONS_CREDITS_MENU")
  • openborconstant("CHEAT_OPTIONS_ENERGY_ACTIVE")
  • openborconstant("CHEAT_OPTIONS_ENERGY_MENU")
  • openborconstant("CHEAT_OPTIONS_HEALTH_ACTIVE")
  • openborconstant("CHEAT_OPTIONS_HEALTH_MENU")
  • openborconstant("CHEAT_OPTIONS_IMPLACABLE_ACTIVE")
  • openborconstant("CHEAT_OPTIONS_IMPLACABLE_MENU")
  • openborconstant("CHEAT_OPTIONS_LIVES_ACTIVE")
  • openborconstant("CHEAT_OPTIONS_LIVES_MENU")
  • openborconstant("CHEAT_OPTIONS_MASTER_MENU")
  • openborconstant("CHEAT_OPTIONS_MULTIHIT_ACTIVE")
  • openborconstant("CHEAT_OPTIONS_MULTIHIT_MENU")
  • openborconstant("CHEAT_OPTIONS_TOD_ACTIVE")
  • openborconstant("CHEAT_OPTIONS_TOD_MENU")

Examples

Get cheats variable and check if lives cheat is active:

void config = openborvariant("global_config");

int value = get_global_config_property(config, openborconstant("GLOBAL_CONFIG_PROPERTY_CHEATS"));

/* If lives cheat is active, do something. */
if(value & openborconstant("CHEAT_OPTIONS_LIVES_ACTIVE"))
{
     /* Do something here. */
}

Get cheats variable, then turn the credit cheat on and touch of death cheat off.

void config = openborvariant("global_config");

int value = get_global_config_property(config, openborconstant("GLOBAL_CONFIG_PROPERTY_CHEATS"));

/* Set TOD cheat bit off (false). */
value &= ~openborconstant("CHEAT_OPTIONS_TOD_ACTIVE");

/* Set credit cheat bit on (true) */
value |= openborconstant("CHEAT_OPTIONS_CREDITS_ACTIVE");

/* Apply new value to the cheats property. */
set_global_config_property(config, openborconstant("GLOBAL_CONFIG_PROPERTY_CHEATS"), value);

Legacy

Prior to OpenBOR 4.0, cheats were sub-options of the System menu, had more limited choices, and were not accessible to script.

nocheats – Model text command. Accepts following values:

  • 0 – Cheats menu available (master menu bit true).
  • 1 – Cheats menu not available (master menu bit false).

Related Post