Class BonusStagesConfig

java.lang.Object
com.prineside.tdi2.gameplayMods.BonusStagesConfig
All Implemented Interfaces:
KryoSerializable

public class BonusStagesConfig extends Object implements KryoSerializable
  • Field Details

    • SEED_RANDOM

      public static final int SEED_RANDOM
      See Also:
    • SEED_TAKE_FROM_LEVEL

      public static final int SEED_TAKE_FROM_LEVEL
      See Also:
    • SEED_TAKE_FROM_DAILY_QUEST

      public static final int SEED_TAKE_FROM_DAILY_QUEST
      See Also:
    • DEFAULT_CONFIG_FILE_PATH

      public static final String DEFAULT_CONFIG_FILE_PATH
      See Also:
    • GENERIC_PROVIDER_CLASS_PATH

      public static final String GENERIC_PROVIDER_CLASS_PATH
      See Also:
    • DEFAULT_BONUS_PROVIDERS

      public static final ProbableBonusesProvider[] DEFAULT_BONUS_PROVIDERS
    • reRollEnabled

      public boolean reRollEnabled
    • forceImmediateSelection

      public boolean forceImmediateSelection
    • replaceBonusesWithNotSatisfiedPreconditions

      public boolean replaceBonusesWithNotSatisfiedPreconditions
    • maxReRollsPerStage

      public int maxReRollsPerStage
    • maxReRollsAllTime

      public int maxReRollsAllTime
    • reRollPrice

      public float reRollPrice
    • reRollMinPrice

      public float reRollMinPrice
    • reRollMaxPrice

      public float reRollMaxPrice
    • reRollPricePerStage

      public float reRollPricePerStage
    • immediateBonusesChance

      public float immediateBonusesChance
    • persistentBonusesChance

      public float persistentBonusesChance
    • activeBonusesSlotLimit

      public int activeBonusesSlotLimit
    • chainReRoll

      public boolean chainReRoll
    • ignoreImpossiblePreconditions

      public boolean ignoreImpossiblePreconditions
    • selectedBonusAffectsRandom

      public boolean selectedBonusAffectsRandom
    • stageRequirements

      public IntArray stageRequirements
    • endlessStageRequirement

      public int endlessStageRequirement
    • endlessStageRequirementPerStage

      public int endlessStageRequirementPerStage
    • seed

      public int seed
    • isFillWithDefaultBonusProviders

      public boolean isFillWithDefaultBonusProviders
    • bonusProviderListClassNames

      public Array<String> bonusProviderListClassNames
    • probableBonusesProviders

      public Array<ProbableBonusesProvider> probableBonusesProviders
    • bonusesConfig

      public JsonValue bonusesConfig
  • Constructor Details

    • BonusStagesConfig

      public BonusStagesConfig()
  • Method Details

    • write

      public void write(Kryo kryo, Output output)
      Specified by:
      write in interface KryoSerializable
    • read

      public void read(Kryo kryo, Input input)
      Specified by:
      read in interface KryoSerializable
    • cpy

      public BonusStagesConfig cpy()
    • fromJsonString

      public static BonusStagesConfig fromJsonString(String jsonStr)
    • fromJson

      public static BonusStagesConfig fromJson(JsonValue json)
    • toJson

      public void toJson(Json json)
    • fillWithDefaultBonusProviders

      public void fillWithDefaultBonusProviders()
    • setBonusesConfig

      public void setBonusesConfig(JsonValue json)
      Will overwrite existing parameters
    • getProbableBonuses

      public DelayedRemovalArray<ProbableBonus> getProbableBonuses(int stageNumber, GameSystemProvider S)
      Returns:
      array of preconfigured game mods. Will be used later by BonusSystem with its random generator
    • getBonusConfig

      public JsonValue getBonusConfig(String key)
      Returns:
      root object of bonus's config or empty JSON object if not exists
    • getStageRequirement

      public int getStageRequirement(int stageNumber)
      Parameters:
      stageNumber - 1+
      Returns:
      requirement for the specific stage (for example, number of enemies to kill)
    • getMaxStages

      public int getMaxStages()
      Returns:
      max number of bonus stages or <= 0 if infinite
    • getReRollPrice

      public int getReRollPrice(int stage, GameSystemProvider S)
      Get a price of re-roll of bonuses based on a fixed value or BonusSystem.getCurrentStageGameStatistics()
      Parameters:
      stage - bonus stage
      Returns:
      amount of coins or 0 if re-roll is free (reRollMaxPrice <= 0)
    • getMaxReRollsPerStage

      public int getMaxReRollsPerStage()
      Returns:
      <= 0 for unlimited
    • getMaxReRollsAllTime

      public int getMaxReRollsAllTime()
      Returns:
      <= 0 for unlimited