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
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
applyConfig
(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 void
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 oneint
int
getPower()
void
read
(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input) void
setRegisteredPower
(int newPower) If mod has adjustable power, this method can be called during the game to increase its powervoid
write
(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, wait
Methods 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:
write
in interfacecom.esotericsoftware.kryo.KryoSerializable
-
read
public void read(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input) - Specified by:
read
in interfacecom.esotericsoftware.kryo.KryoSerializable
-
getId
Description copied from interface:GameplayMod
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- Specified by:
getId
in interfaceGameplayMod
-
copyGenericFieldsTo
-
allowsMultipleInstancesFromDifferentSources
public boolean allowsMultipleInstancesFromDifferentSources()- Specified by:
allowsMultipleInstancesFromDifferentSources
in 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:
getPower
in interfaceGameplayMod
- Returns:
- current power of the mod. Higher power makes mod more effective
-
getMaxPower
public int getMaxPower()- Specified by:
getMaxPower
in 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:GameplayMod
If mod has adjustable power, this method can be called during the game to increase its power- Specified by:
setRegisteredPower
in 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
-