user int horizontal_position = 0; // The horizontal position to draw runes on HUD. This is used as an offset from the default position.
user int vertical_position = 0; // The vertical position to draw runes on HUD This is used as an offset from the default position.
noarchive user int PlayerRunesOn = 1; //Keeps track if a player has all runes turned on or off.
noarchive user float HighJumpRuneHeight = 8.0; // Defines jump height setting for the High Jump rune. Default height is 8.0.
server float drop_chance = 1.0; // Between 0 and 100%. Accepts decimal point values. This is a percent chance of a rune drop.
server int runes_on_death = 1; // Specifies what happens to player runes when they die. Runes can be either lost (0), dropped (1), or kept (2) on the player. Default is 1 (dropped).
server int prosperity_max_health = 999; // Any 32-bit signed integer from 1 to 2147483647. May cause unintended game breaking behavior if set too high of a value. If changed in game, players need to toggle the rune on/off to set. Default is 999.
server int AmmoRegenerationMultiplier = 2; // Multiplier for ammo regeneration from the Ammo Regeneration Rune (default: 2). Affects the amount given via GiveInventory, not actual ammo amount.
server int ArmorRegenerationMultiplier = 2; // Multiplier for armor regeneration from the Armor Regeneration Rune (default: 2). Affects the amount given via GiveInventory, not the actual armor value.
server int AmmoRegenerationSpeed = 35; // Defines the regeneration interval (in game-tics) of the Ammo Regeneration rune. Default is 35 tics (1 real world second of time).
server int ArmorRegenerationSpeed = 35; // Defines the regeneration interval (in game-tics) of the Armor Regeneration rune. Default is 35 tics (1 real world second of time).
server int LockHighJumpHeightChanges = 0; // Prevent clients from changing their own jump height setting in the rune menu. Default is 0 (allowed).
server int BackpackGiveSpeed = 60; // Defines the interval (in seconds) of how often the Backpack Rune gives a backpack to the player when they have the Backpack Rune. Default is 60.
server string StrengthRuneDamageFactor = 4.0; // From 1.1 to 5.0 (one decimal place only). Must use decimal. Higher numbers means the player is stronger. Default is 4.0 to match the exact behavior of older versions.
server string ResistanceRuneDamageFactor = 0.3; // From 0 or 0.01 to 0.09 (two decimal places) or 0.1 to 0.9 (one decimal place only). Must use decimal. Lower numbers = more resistance. Default is 0.3. to closely match behavior of older versions.
noarchive server string AddAmmo; // String name for an ammo actor to add to the database. Used by the Ammo Regeneration rune. Use RCON to set the name, then use RCON to pukename script "AddAmmoDB" to commit to the database.
noarchive server string AddArmor; // String name for an armor actor to add to the database. Used by the Armor Regeneration rune. Use RCON to set the name, then use RCON to pukename script "AddArmorDB" to commit to the database.
noarchive server string RemoveAmmo; // String name for removing (disabling) ammo actor in the database. Used by the Ammo Regeneration rune. Use RCON to set the name, then use RCON to pukename script "RemoveAmmoDB" to commit to the database.
noarchive server string RemoveArmor; // String name for removing (disabling) armor actor in the database. Used by the Armor Regeneration rune. Use RCON to set the name, then use RCON to pukename script "RemoveArmorDB" to commit to the database.
noarchive server bool CheckDefaultActorsDone; // Ensures AddDoomDefaultAmmoAndArmor script runs only once per server launch, not on every map start. This gets set to true after initial script execution.
noarchive server bool AllowDatabaseDownload; // When set to true, this CVAR temporarily lets the server transfer entries from the server's database to a specific client. It automatically resets to false after the download finishes.
noarchive server bool AllowDatabaseUpload; // When set to true, this CVAR temporarily lets the client transfer entries from their local database to the server's database. It automatically resets to false after the upload finishes.

// CVARs used to track player spawn health used by the altered prosperity rune.
noarchive server int MRStartingMaxHealth0;
noarchive server int MRStartingMaxHealth1;
noarchive server int MRStartingMaxHealth2;
noarchive server int MRStartingMaxHealth3;
noarchive server int MRStartingMaxHealth4;
noarchive server int MRStartingMaxHealth5;
noarchive server int MRStartingMaxHealth6;
noarchive server int MRStartingMaxHealth7;
noarchive server int MRStartingMaxHealth8;
noarchive server int MRStartingMaxHealth9;
noarchive server int MRStartingMaxHealth10;
noarchive server int MRStartingMaxHealth11;
noarchive server int MRStartingMaxHealth12;
noarchive server int MRStartingMaxHealth13;
noarchive server int MRStartingMaxHealth14;
noarchive server int MRStartingMaxHealth15;
noarchive server int MRStartingMaxHealth16;
noarchive server int MRStartingMaxHealth17;
noarchive server int MRStartingMaxHealth18;
noarchive server int MRStartingMaxHealth19;
noarchive server int MRStartingMaxHealth20;
noarchive server int MRStartingMaxHealth21;
noarchive server int MRStartingMaxHealth22;
noarchive server int MRStartingMaxHealth23;
noarchive server int MRStartingMaxHealth24;
noarchive server int MRStartingMaxHealth25;
noarchive server int MRStartingMaxHealth26;
noarchive server int MRStartingMaxHealth27;
noarchive server int MRStartingMaxHealth28;
noarchive server int MRStartingMaxHealth29;
noarchive server int MRStartingMaxHealth30;
noarchive server int MRStartingMaxHealth31;
noarchive server int MRStartingMaxHealth32;
noarchive server int MRStartingMaxHealth33;
noarchive server int MRStartingMaxHealth34;
noarchive server int MRStartingMaxHealth35;
noarchive server int MRStartingMaxHealth36;
noarchive server int MRStartingMaxHealth37;
noarchive server int MRStartingMaxHealth38;
noarchive server int MRStartingMaxHealth39;
noarchive server int MRStartingMaxHealth40;
noarchive server int MRStartingMaxHealth41;
noarchive server int MRStartingMaxHealth42;
noarchive server int MRStartingMaxHealth43;
noarchive server int MRStartingMaxHealth44;
noarchive server int MRStartingMaxHealth45;
noarchive server int MRStartingMaxHealth46;
noarchive server int MRStartingMaxHealth47;
noarchive server int MRStartingMaxHealth48;
noarchive server int MRStartingMaxHealth49;
noarchive server int MRStartingMaxHealth50;
noarchive server int MRStartingMaxHealth51;
noarchive server int MRStartingMaxHealth52;
noarchive server int MRStartingMaxHealth53;
noarchive server int MRStartingMaxHealth54;
noarchive server int MRStartingMaxHealth55;
noarchive server int MRStartingMaxHealth56;
noarchive server int MRStartingMaxHealth57;
noarchive server int MRStartingMaxHealth58;
noarchive server int MRStartingMaxHealth59;
noarchive server int MRStartingMaxHealth60;
noarchive server int MRStartingMaxHealth61;
noarchive server int MRStartingMaxHealth62;
noarchive server int MRStartingMaxHealth63;

// Rune Status CVARs to track if a player rune is on or off. Used exclusively
// by the new rune menu available in Zandronum version 3.2+ only.
noarchive user bool BlueStrengthRuneStatus;
noarchive user bool RedStrengthRuneStatus;
noarchive user bool GreenStrengthRuneStatus;
noarchive user bool BlueResistanceRuneStatus;
noarchive user bool RedResistanceRuneStatus;
noarchive user bool GreenResistanceRuneStatus;
noarchive user bool BlueRegenerationRuneStatus;
noarchive user bool RedRegenerationRuneStatus;
noarchive user bool GreenRegenerationRuneStatus;
noarchive user bool RageRuneStatus;
noarchive user bool ProsperityRuneStatus;
noarchive user bool SpreadRuneStatus;
noarchive user bool ReflectionRuneStatus;
noarchive user bool DrainRuneStatus;
noarchive user bool HighJumpRuneStatus;
noarchive user bool HasteRuneStatus;
noarchive user bool AmmoRegenerationRuneStatus;
noarchive user bool ArmorRegenerationRuneStatus;
noarchive user bool InvulnerabilityPiercingRuneStatus;
noarchive user bool BackpackRuneStatus;

// Rune token CVARs used by the MENUDEF.txt lump as "graycheck CVARs".
// They determine if the player has acquired the rune and allows the user to toggle the rune status.
// Used by the new rune menu available in Zandronum version 3.2+ only.
noarchive user bool PowerStrength1Token;
noarchive user bool PowerStrength2Token;
noarchive user bool PowerStrength3Token;
noarchive user bool PowerResistance1Token;
noarchive user bool PowerResistance2Token;
noarchive user bool PowerResistance3Token;
noarchive user bool PowerRegeneration1Token;
noarchive user bool PowerRegeneration2Token;
noarchive user bool PowerRegeneration3Token;
noarchive user bool PowerRage1Token;
noarchive user bool PowerProsperity1Token;
noarchive user bool PowerSpread1Token;
noarchive user bool PowerReflection1Token;
noarchive user bool PowerDrain1Token;
noarchive user bool PowerHighJump1Token;
noarchive user bool PowerHaste1Token;
noarchive user bool PowerAmmoRegeneration1Token;
noarchive user bool PowerArmorRegeneration1Token;
noarchive user bool PowerInvulnerabilityPiercing1Token;
noarchive user bool PowerBackpack1Token;