Package com.prineside.tdi2.gameplayMods
Interface ProbableBonusesProvider
- All Known Implementing Classes:
AddAllAbilityCharges.BonusProvider,AddRandomCoreTile.BonusProvider,AddRandomPlatform.BonusProvider,AllAbilitiesForRandomTower.BonusProvider,BaseExplodesOnEnemyPass.BonusProvider,BoostExistingEnemiesWithLoot.BonusProvider,BuildRandomMiner.BonusProvider,CriticalDamage.BonusProvider,DebuffsLastLonger.BonusProvider,DepositCoinsGeneration.BonusProvider,DoubleMiningSpeed.BonusProvider,EnemiesDropResources.BonusProvider,ExtraDamagePerBuff.BonusProvider,FirstEnemiesInWaveExplode.BonusProvider,GV_AbilitiesEnergy.BonusProvider,GV_AbilitiesMaxEnergy.BonusProvider,GV_BountiesNearby.BonusProvider,GV_DisableBountyModifierHarm.BonusProvider,GV_MinersMaxUpgradeLevel.BonusProvider,GV_TowersMaxExpLevel.BonusProvider,IncreasedTowerToEnemyEfficiency.BonusProvider,IncreaseSelectedBonusesPower.BonusProvider,LastEnemiesInWaveDealNoDamage.BonusProvider,LightningStrikeOnTowerLevelUp.BonusProvider,LJ_TDI.ProbableBonusesProvider_ES.LIP,LowHpEnemiesDealNoDamage.BonusProvider,MinedItemsTurnIntoDust.BonusProvider,MineLegendaryItems.BonusProvider,MinersSpawnEnemies.BonusProvider,MoreBonusVariantsNextTime.BonusProvider,MultiplyLootedItems.BonusProvider,MultiplyMdps.BonusProvider,NukeOnBonusStage.BonusProvider,ReceiveCoins.BonusProvider,ReceiveGreenPapers.BonusProvider,SellAllTowers.BonusProvider,SpawnZombiesFromBase.BonusProvider,SummonLootBoss.BonusProvider,TowersAttackSpeed.BonusProvider,TowersDamage.BonusProvider,TriggerRandomAbility.BonusProvider
public interface ProbableBonusesProvider
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends GenericGameplayMod>
ProbableBonusaddOrModify(T proto, int stage, com.badlogic.gdx.utils.Array<GameplayModSystem.ActiveMod> activeMods, ProbableBonusesProvider.BonusProviderConfig providerCfg) Can be applied to both singleton and variant bonuses.voidprovide(int stageNumber, BonusStagesConfig stagesCfg, com.badlogic.gdx.utils.Array<GameplayModSystem.ActiveMod> activeMods, com.badlogic.gdx.utils.Array<ProbableBonus> out)
-
Field Details
-
_TAG
- See Also:
-
-
Method Details
-
provide
void provide(int stageNumber, BonusStagesConfig stagesCfg, com.badlogic.gdx.utils.Array<GameplayModSystem.ActiveMod> activeMods, com.badlogic.gdx.utils.Array<ProbableBonus> out) -
addOrModify
@Null static <T extends GenericGameplayMod> ProbableBonus addOrModify(T proto, int stage, com.badlogic.gdx.utils.Array<GameplayModSystem.ActiveMod> activeMods, ProbableBonusesProvider.BonusProviderConfig providerCfg) Can be applied to both singleton and variant bonuses. Applies common bonus provider logic: - Calculates probability based on stage and power up level, using probability from BonusProviderConfig - Searches existing mod of the same variant as proto to decide whether it is an upgrade or a new entry - If mod variant already exists (provided by BonusSystem.GAMEPLAY_MOD_SOURCE_NAME), increases its power by 1 and optionally allows to configure it with existingConfigurator (accounts for powerUpProbabilityMultiplier) - If mod variant not exists, copies proto, optionally allowing it to be configured further with newConfigurator - Adds mod to out if it allowsMultipleInstancesFromDifferentSources()- Type Parameters:
T-- Parameters:
proto- prototype mod for new bonus, also provides mod class. Must be pre-configured (call mod.readConfig() beforehand). cpy() of proto will be used as a new mod and will be configured by newConfigurator if providedstage- stage number of bonuses, used to calculate probability based on minStage / maxStage / probabilityMultiplierPerStageactiveMods- used to search for active mods of the same typeproviderCfg- bonus (variant) provider configuration, will be used to calculate probabilities
-