// This file is generated by kconfig_compiler_kf6 from rulesetbase.kcfg.
// All changes you do to this file will be lost.

#include "rulesetbase.h"

#include <klocalizedstring.h>

using namespace Killbots;

RulesetBase::RulesetBase( KSharedConfig::Ptr config )
  : KConfigSkeleton( std::move( config ) )
{
  setCurrentGroup( QStringLiteral( "KillbotsRuleset" ) );

  KConfigSkeleton::ItemString  *itemName;
  itemName = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "Name" ), mName );
  itemName->setLabel( i18n("Name") );
  addItem( itemName, QStringLiteral( "Name" ) );
  KConfigSkeleton::ItemString  *itemAuthor;
  itemAuthor = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "Author" ), mAuthor );
  itemAuthor->setLabel( i18n("Author") );
  addItem( itemAuthor, QStringLiteral( "Author" ) );
  KConfigSkeleton::ItemString  *itemAuthorContact;
  itemAuthorContact = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "AuthorContact" ), mAuthorContact );
  itemAuthorContact->setLabel( i18n("AuthorContact") );
  addItem( itemAuthorContact, QStringLiteral( "AuthorContact" ) );
  KConfigSkeleton::ItemString  *itemDescription;
  itemDescription = new KConfigSkeleton::ItemString( currentGroup(), QStringLiteral( "Description" ), mDescription );
  itemDescription->setLabel( i18n("Description") );
  addItem( itemDescription, QStringLiteral( "Description" ) );
  KConfigSkeleton::ItemInt  *itemRows;
  itemRows = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Rows" ), mRows, 16 );
  itemRows->setMinValue(6);
  itemRows->setLabel( i18n("Number of rows in game grid") );
  addItem( itemRows, QStringLiteral( "Rows" ) );
  KConfigSkeleton::ItemInt  *itemColumns;
  itemColumns = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "Columns" ), mColumns, 16 );
  itemColumns->setMinValue(6);
  itemColumns->setLabel( i18n("Number of columns in game grid") );
  addItem( itemColumns, QStringLiteral( "Columns" ) );
  KConfigSkeleton::ItemDouble  *itemEnemiesAtGameStart;
  itemEnemiesAtGameStart = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "EnemiesAtGameStart" ), mEnemiesAtGameStart, 8 );
  itemEnemiesAtGameStart->setLabel( i18n("Number of regular enemies in first round") );
  addItem( itemEnemiesAtGameStart, QStringLiteral( "EnemiesAtGameStart" ) );
  KConfigSkeleton::ItemDouble  *itemEnemiesAddedEachRound;
  itemEnemiesAddedEachRound = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "EnemiesAddedEachRound" ), mEnemiesAddedEachRound, 4 );
  itemEnemiesAddedEachRound->setLabel( i18n("Number of regular enemies added in each new round") );
  addItem( itemEnemiesAddedEachRound, QStringLiteral( "EnemiesAddedEachRound" ) );
  KConfigSkeleton::ItemDouble  *itemFastEnemiesAtGameStart;
  itemFastEnemiesAtGameStart = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "FastEnemiesAtGameStart" ), mFastEnemiesAtGameStart, -4 );
  itemFastEnemiesAtGameStart->setLabel( i18n("Number of fast enemies in first round") );
  addItem( itemFastEnemiesAtGameStart, QStringLiteral( "FastEnemiesAtGameStart" ) );
  KConfigSkeleton::ItemDouble  *itemFastEnemiesAddedEachRound;
  itemFastEnemiesAddedEachRound = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "FastEnemiesAddedEachRound" ), mFastEnemiesAddedEachRound, 2 );
  itemFastEnemiesAddedEachRound->setLabel( i18n("Number of fast enemies added in each new round") );
  addItem( itemFastEnemiesAddedEachRound, QStringLiteral( "FastEnemiesAddedEachRound" ) );
  KConfigSkeleton::ItemBool  *itemFastEnemiesArePatient;
  itemFastEnemiesArePatient = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "FastEnemiesArePatient" ), mFastEnemiesArePatient, false );
  itemFastEnemiesArePatient->setLabel( i18n("Fast enemies will skip their extra turn to avoid collisions with other robots") );
  addItem( itemFastEnemiesArePatient, QStringLiteral( "FastEnemiesArePatient" ) );
  KConfigSkeleton::ItemBool  *itemEnergyEnabled;
  itemEnergyEnabled = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "EnergyEnabled" ), mEnergyEnabled, true );
  itemEnergyEnabled->setLabel( i18n("Player can accumulate energy") );
  addItem( itemEnergyEnabled, QStringLiteral( "EnergyEnabled" ) );
  KConfigSkeleton::ItemInt  *itemEnergyAtGameStart;
  itemEnergyAtGameStart = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "EnergyAtGameStart" ), mEnergyAtGameStart, 0 );
  itemEnergyAtGameStart->setMinValue(0);
  itemEnergyAtGameStart->setLabel( i18n("Energy at start of first round") );
  addItem( itemEnergyAtGameStart, QStringLiteral( "EnergyAtGameStart" ) );
  KConfigSkeleton::ItemInt  *itemEnergyAddedEachRound;
  itemEnergyAddedEachRound = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "EnergyAddedEachRound" ), mEnergyAddedEachRound, 0 );
  itemEnergyAddedEachRound->setLabel( i18n("Energy awarded for completing a round") );
  addItem( itemEnergyAddedEachRound, QStringLiteral( "EnergyAddedEachRound" ) );
  KConfigSkeleton::ItemDouble  *itemMaxEnergyAtGameStart;
  itemMaxEnergyAtGameStart = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "MaxEnergyAtGameStart" ), mMaxEnergyAtGameStart, 12 );
  itemMaxEnergyAtGameStart->setMinValue(0);
  itemMaxEnergyAtGameStart->setLabel( i18n("Maximum energy cap in first round") );
  addItem( itemMaxEnergyAtGameStart, QStringLiteral( "MaxEnergyAtGameStart" ) );
  KConfigSkeleton::ItemDouble  *itemMaxEnergyAddedEachRound;
  itemMaxEnergyAddedEachRound = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "MaxEnergyAddedEachRound" ), mMaxEnergyAddedEachRound, 0 );
  itemMaxEnergyAddedEachRound->setLabel( i18n("Increase in maximum energy cap for each new round") );
  addItem( itemMaxEnergyAddedEachRound, QStringLiteral( "MaxEnergyAddedEachRound" ) );
  KConfigSkeleton::ItemBool  *itemSafeTeleportEnabled;
  itemSafeTeleportEnabled = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "SafeTeleportEnabled" ), mSafeTeleportEnabled, true );
  itemSafeTeleportEnabled->setLabel( i18n("Player can perform safe teleports") );
  addItem( itemSafeTeleportEnabled, QStringLiteral( "SafeTeleportEnabled" ) );
  KConfigSkeleton::ItemInt  *itemCostOfSafeTeleport;
  itemCostOfSafeTeleport = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "CostOfSafeTeleport" ), mCostOfSafeTeleport, 1 );
  itemCostOfSafeTeleport->setMinValue(0);
  itemCostOfSafeTeleport->setLabel( i18n("The cost of performing a safe teleport") );
  addItem( itemCostOfSafeTeleport, QStringLiteral( "CostOfSafeTeleport" ) );
  KConfigSkeleton::ItemBool  *itemVaporizerEnabled;
  itemVaporizerEnabled = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "VaporizerEnabled" ), mVaporizerEnabled, false );
  itemVaporizerEnabled->setLabel( i18n("Player can use vaporizer") );
  addItem( itemVaporizerEnabled, QStringLiteral( "VaporizerEnabled" ) );
  KConfigSkeleton::ItemInt  *itemCostOfVaporizer;
  itemCostOfVaporizer = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "CostOfVaporizer" ), mCostOfVaporizer, 1 );
  itemCostOfVaporizer->setMinValue(0);
  itemCostOfVaporizer->setLabel( i18n("Cost of using vaporizer") );
  addItem( itemCostOfVaporizer, QStringLiteral( "CostOfVaporizer" ) );
  QList<KConfigSkeleton::ItemEnum::Choice> valuesPushableJunkheaps;
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("None");
    valuesPushableJunkheaps.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("One");
    valuesPushableJunkheaps.append( choice );
  }
  {
    KConfigSkeleton::ItemEnum::Choice choice;
    choice.name = QStringLiteral("Many");
    valuesPushableJunkheaps.append( choice );
  }
  KConfigSkeleton::ItemEnum  *itemPushableJunkheaps;
  itemPushableJunkheaps = new KConfigSkeleton::ItemEnum( currentGroup(), QStringLiteral( "PushableJunkheaps" ), mPushableJunkheaps, valuesPushableJunkheaps, Many );
  itemPushableJunkheaps->setLabel( i18n("Number of junkheaps that can be pushed at once") );
  addItem( itemPushableJunkheaps, QStringLiteral( "PushableJunkheaps" ) );
  KConfigSkeleton::ItemBool  *itemSquaskKillsEnabled;
  itemSquaskKillsEnabled = new KConfigSkeleton::ItemBool( currentGroup(), QStringLiteral( "SquaskKillsEnabled" ), mSquaskKillsEnabled, true );
  itemSquaskKillsEnabled->setLabel( i18n("Player can destroy enemies with a pushed junkheap") );
  addItem( itemSquaskKillsEnabled, QStringLiteral( "SquaskKillsEnabled" ) );
  KConfigSkeleton::ItemDouble  *itemJunkheapsAtGameStart;
  itemJunkheapsAtGameStart = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "JunkheapsAtGameStart" ), mJunkheapsAtGameStart, 0 );
  itemJunkheapsAtGameStart->setLabel( i18n("Junkheaps placed on grid at start of first round") );
  addItem( itemJunkheapsAtGameStart, QStringLiteral( "JunkheapsAtGameStart" ) );
  KConfigSkeleton::ItemDouble  *itemJunkheapsAddedEachRound;
  itemJunkheapsAddedEachRound = new KConfigSkeleton::ItemDouble( currentGroup(), QStringLiteral( "JunkheapsAddedEachRound" ), mJunkheapsAddedEachRound, 0 );
  itemJunkheapsAddedEachRound->setLabel( i18n("Junkheaps added to the grid for each new round") );
  addItem( itemJunkheapsAddedEachRound, QStringLiteral( "JunkheapsAddedEachRound" ) );
  KConfigSkeleton::ItemInt  *itemPointsPerEnemyKilled;
  itemPointsPerEnemyKilled = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "PointsPerEnemyKilled" ), mPointsPerEnemyKilled, 5 );
  itemPointsPerEnemyKilled->setMinValue(0);
  itemPointsPerEnemyKilled->setLabel( i18n("Points awarded for each regular enemy destroyed") );
  addItem( itemPointsPerEnemyKilled, QStringLiteral( "PointsPerEnemyKilled" ) );
  KConfigSkeleton::ItemInt  *itemPointsPerFastEnemyKilled;
  itemPointsPerFastEnemyKilled = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "PointsPerFastEnemyKilled" ), mPointsPerFastEnemyKilled, 10 );
  itemPointsPerFastEnemyKilled->setMinValue(0);
  itemPointsPerFastEnemyKilled->setLabel( i18n("Points awarded for each fast enemy destroyed") );
  addItem( itemPointsPerFastEnemyKilled, QStringLiteral( "PointsPerFastEnemyKilled" ) );
  KConfigSkeleton::ItemInt  *itemWaitKillPointBonus;
  itemWaitKillPointBonus = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "WaitKillPointBonus" ), mWaitKillPointBonus, 0 );
  itemWaitKillPointBonus->setMinValue(0);
  itemWaitKillPointBonus->setLabel( i18n("Points awarded for each enemy destroyed while waiting out the round") );
  addItem( itemWaitKillPointBonus, QStringLiteral( "WaitKillPointBonus" ) );
  KConfigSkeleton::ItemInt  *itemWaitKillEnergyBonus;
  itemWaitKillEnergyBonus = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "WaitKillEnergyBonus" ), mWaitKillEnergyBonus, 1 );
  itemWaitKillEnergyBonus->setMinValue(0);
  itemWaitKillEnergyBonus->setLabel( i18n("Energy awarded for each enemy destroyed while waiting out the round") );
  addItem( itemWaitKillEnergyBonus, QStringLiteral( "WaitKillEnergyBonus" ) );
  KConfigSkeleton::ItemInt  *itemSquashKillPointBonus;
  itemSquashKillPointBonus = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "SquashKillPointBonus" ), mSquashKillPointBonus, 0 );
  itemSquashKillPointBonus->setMinValue(0);
  itemSquashKillPointBonus->setLabel( i18n("Points awarded for each enemy destroyed with a pushed junkheap") );
  addItem( itemSquashKillPointBonus, QStringLiteral( "SquashKillPointBonus" ) );
  KConfigSkeleton::ItemInt  *itemSquashKillEnergyBonus;
  itemSquashKillEnergyBonus = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "SquashKillEnergyBonus" ), mSquashKillEnergyBonus, 1 );
  itemSquashKillEnergyBonus->setMinValue(0);
  itemSquashKillEnergyBonus->setLabel( i18n("Energy awarded for each enemy destroyed with a pushed junkheap") );
  addItem( itemSquashKillEnergyBonus, QStringLiteral( "SquashKillEnergyBonus" ) );
  KConfigSkeleton::ItemInt  *itemPointsPerEnergyAboveMax;
  itemPointsPerEnergyAboveMax = new KConfigSkeleton::ItemInt( currentGroup(), QStringLiteral( "PointsPerEnergyAboveMax" ), mPointsPerEnergyAboveMax, 0 );
  itemPointsPerEnergyAboveMax->setMinValue(0);
  itemPointsPerEnergyAboveMax->setLabel( i18n("Points awarded for each energy awarded above maximum energy cap") );
  addItem( itemPointsPerEnergyAboveMax, QStringLiteral( "PointsPerEnergyAboveMax" ) );
}

RulesetBase::~RulesetBase()
{
}

