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
,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, Array<GameplayModSystem.ActiveMod> activeMods, ProbableBonusesProvider.BonusProviderConfig providerCfg) Can be applied to both singleton and variant bonuses.void
provide
(int stageNumber, BonusStagesConfig stagesCfg, Array<GameplayModSystem.ActiveMod> activeMods, Array<ProbableBonus> out)
-
Field Details
-
logger
-
_TAG
- See Also:
-
-
Method Details
-
provide
void provide(int stageNumber, BonusStagesConfig stagesCfg, Array<GameplayModSystem.ActiveMod> activeMods, Array<ProbableBonus> out) -
addOrModify
@Null static <T extends GenericGameplayMod> ProbableBonus addOrModify(T proto, int stage, 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
-