Interface GameplayMod

All Known Implementing Classes:
AddAllAbilityCharges, AddRandomCoreTile, AddRandomPlatform, AllAbilitiesForRandomTower, BaseExplodesOnEnemyPass, BoostExistingEnemiesWithLoot, BuildRandomMiner, CriticalDamage, DebuffsLastLonger, DepositCoinsGeneration, DoubleMiningSpeed, EnemiesDropResources, ExtraDamagePerBuff, FirstEnemiesInWaveExplode, GameValueMod, GenericGameplayMod, IncreasedTowerToEnemyEfficiency, IncreaseSelectedBonusesPower, LastEnemiesInWaveDealNoDamage, LightningStrikeOnTowerLevelUp, LJ_TDI.GameplayMod_EP.LIP, LowHpEnemiesDealNoDamage, MinedItemsTurnIntoDust, MineLegendaryItems, MinersSpawnEnemies, MoreBonusVariantsNextTime, MultiplyLootedItems, MultiplyMdps, NukeOnBonusStage, ReceiveCoins, ReceiveGreenPapers, SellAllTowers, SpawnZombiesFromBase, SummonLootBoss, TowersAttackSpeed, TowersDamage, TriggerRandomAbility

public interface GameplayMod
  • Method Details

    • getId

      String getId()
      Used to identify and compare mods instead of comparing mod classes and variants (if mod allows multiple variants) For example, GameValueMod may have many variants and should generate a separate id for each one
    • getIcon

      com.badlogic.gdx.scenes.scene2d.utils.Drawable getIcon()
    • getDescription

      CharSequence getDescription()
    • cpy

    • isImmediateAndNotListed

      default boolean isImmediateAndNotListed()
    • allowsMultipleInstancesFromDifferentSources

      default boolean allowsMultipleInstancesFromDifferentSources()
      Returns:
      true if multiple mods of the same type can be enabled at the same time (from different sources)
    • getPower

      default int getPower()
      Returns:
      current power of the mod. Higher power makes mod more effective
    • getMaxPower

      default int getMaxPower()
      Returns:
      max possible power of the mod. If set to <=1f, it is assumed that mod has a single fixed power
    • setRegisteredPower

      default void setRegisteredPower(int newPower)
      If mod has adjustable power, this method can be called during the game to increase its power
      Parameters:
      newPower - new power to set for this mod when already registered. Will be in range 0..getMaxPower()
    • register

      boolean register(GameSystemProvider S, String activatedBy)
      Returns:
      true if bonus has to be registered. False means that existing active mod of the same type has been upgraded
    • getCategory

      GameplayModCategory getCategory()
    • getAdditionalCategory

      @Null default GameplayModCategory getAdditionalCategory()