Package com.prineside.tdi2.gameplayMods
Class GenericGameplayMod
java.lang.Object
com.prineside.tdi2.gameplayMods.GenericGameplayMod
- All Implemented Interfaces:
com.esotericsoftware.kryo.KryoSerializable,GameplayMod
- Direct Known Subclasses:
AddAllAbilityCharges,AddRandomCoreTile,AddRandomPlatform,AllAbilitiesForRandomTower,BaseExplodesOnEnemyPass,BoostExistingEnemiesWithLoot,BuildRandomMiner,CriticalDamage,DebuffsLastLonger,DepositCoinsGeneration,DoubleMiningSpeed,EnemiesDropResources,ExtraDamagePerBuff,FirstEnemiesInWaveExplode,GameValueMod,IncreasedTowerToEnemyEfficiency,IncreaseSelectedBonusesPower,LastEnemiesInWaveDealNoDamage,LightningStrikeOnTowerLevelUp,LowHpEnemiesDealNoDamage,MinedItemsTurnIntoDust,MineLegendaryItems,MinersSpawnEnemies,MoreBonusVariantsNextTime,MultiplyLootedItems,MultiplyMdps,NukeOnBonusStage,ReceiveCoins,ReceiveGreenPapers,SellAllTowers,SpawnZombiesFromBase,SummonLootBoss,TowersAttackSpeed,TowersDamage,TriggerRandomAbility
public abstract class GenericGameplayMod
extends Object
implements GameplayMod, com.esotericsoftware.kryo.KryoSerializable
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanapplyConfig(com.badlogic.gdx.utils.JsonValue cfg) Usually there's no need to override this method Used by mods that have specific combinations of parameters and read default parameters for each comboprotected voidgetId()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 oneintintgetPower()voidread(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input) voidsetRegisteredPower(int newPower) If mod has adjustable power, this method can be called during the game to increase its powervoidwrite(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output output) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.prineside.tdi2.gameplayMods.GameplayMod
cpy, getAdditionalCategory, getCategory, getDescription, getIcon, isImmediateAndNotListed, register
-
Field Details
-
maxPower
public int maxPower -
power
public int power -
multipleInstances
public boolean multipleInstances
-
-
Constructor Details
-
GenericGameplayMod
public GenericGameplayMod()
-
-
Method Details
-
write
public void write(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output output) - Specified by:
writein interfacecom.esotericsoftware.kryo.KryoSerializable
-
read
public void read(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input) - Specified by:
readin interfacecom.esotericsoftware.kryo.KryoSerializable
-
getId
Description copied from interface:GameplayModUsed 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- Specified by:
getIdin interfaceGameplayMod
-
copyGenericFieldsTo
-
allowsMultipleInstancesFromDifferentSources
public boolean allowsMultipleInstancesFromDifferentSources()- Specified by:
allowsMultipleInstancesFromDifferentSourcesin interfaceGameplayMod- Returns:
- true if multiple mods of the same type can be enabled at the same time (from different sources)
-
getPower
public int getPower()- Specified by:
getPowerin interfaceGameplayMod- Returns:
- current power of the mod. Higher power makes mod more effective
-
getMaxPower
public int getMaxPower()- Specified by:
getMaxPowerin interfaceGameplayMod- Returns:
- max possible power of the mod. If set to <=1f, it is assumed that mod has a single fixed power
-
setRegisteredPower
public void setRegisteredPower(int newPower) Description copied from interface:GameplayModIf mod has adjustable power, this method can be called during the game to increase its power- Specified by:
setRegisteredPowerin interfaceGameplayMod- Parameters:
newPower- new power to set for this mod when already registered. Will be in range 0..getMaxPower()
-
applyConfig
Usually there's no need to override this method Used by mods that have specific combinations of parameters and read default parameters for each combo
-