ModContent that implements a custom version of a Il2CppAssets.Scripts.Simulation.Objects.BehaviorMutator
public abstract class ModMutator : BTD_Mod_Helper.Api.ModContent
Inheritance System.Object ModContent ModMutator
Derived
↳ ModMutator<T>
Buff Icon to use for this mutator, if any
public virtual BuffIndicatorModel BuffIcon { get; }
Il2CppAssets.Scripts.Models.GenericBehaviors.BuffIndicatorModel
Whether this is immune to effects like Lych absorb
public virtual bool CantBeAbsorbed { get; }
Whether only one of this mutator can be applied to an entity at once
public virtual bool IsUnique { get; }
ID to use for the mutator. Defaults to Id, of course
public virtual string MutatorId { get; }
Whether to override the visual stack count of this mutator on a tower
public virtual bool OverrideStackCount { get; }
Mutator Priority to use. Higher values make the Mutator happen earlier in the process in relation to other mutators.
For reference, the Paths++ internal mutator is ~100 to be before pretty much all others
public virtual int Priority { get; }
Whether this mutator should be manually saved
public virtual bool Saved { get; }
Creates a BehaviorMutator for use with the specified custom data
public BehaviorMutator Create(JToken data=null);
data Newtonsoft.Json.Linq.JToken
custom data
Il2CppAssets.Scripts.Simulation.Objects.BehaviorMutator
BehaviorMutator
Gets the TimedMutator for this ModMutator on an entity
public TimedMutator Get(Mutable mutable, out JToken data);
mutable Il2CppAssets.Scripts.Simulation.Objects.Mutable
mutated entity
data Newtonsoft.Json.Linq.JToken
custom data
Il2CppAssets.Scripts.Simulation.Objects.TimedMutator
TimedMutator
Gets the TimedMutator for this ModMutator on an entity
public TimedMutator Get(Mutable mutable);
mutable Il2CppAssets.Scripts.Simulation.Objects.Mutable
mutated entity
Il2CppAssets.Scripts.Simulation.Objects.TimedMutator
TimedMutator
Gets the stored custom data for the behavior mutator
public virtual JToken GetData(BehaviorMutator mutator);
mutator Il2CppAssets.Scripts.Simulation.Objects.BehaviorMutator
BehaviorMutator
Newtonsoft.Json.Linq.JToken
json token of custom data
Loads this mutator back onto an entity from its MutatorSaveDataModel
public virtual void LoadMutator(Mutable mutable, MutatorSaveDataModel mutatorSaveDataModel);
mutable Il2CppAssets.Scripts.Simulation.Objects.Mutable
entity to mutate
mutatorSaveDataModel Il2CppAssets.Scripts.Models.Profile.MutatorSaveDataModel
mutator save data
Applies this mutator to a model
public abstract bool Mutate(Model baseModel, Model model, JToken data);
baseModel Il2CppAssets.Scripts.Models.Model
Version of the model with no mutators applied
model Il2CppAssets.Scripts.Models.Model
Current model, the one that should be mutated
data Newtonsoft.Json.Linq.JToken
any custom data for the mutator in the form of JSON
System.Boolean
whether any changes were actually made
Saves this mutator to a MutatorSaveDataModel
public virtual MutatorSaveDataModel SaveMutator(Mutable mutable, TimedMutator timedMutator);
mutable Il2CppAssets.Scripts.Simulation.Objects.Mutable
mutated entity
timedMutator Il2CppAssets.Scripts.Simulation.Objects.TimedMutator
current mutator
Il2CppAssets.Scripts.Models.Profile.MutatorSaveDataModel
mutator save data
To what amount to override the visual stack count of this mutator on a tower
Requires OverrideStackCount to be true
public virtual int StackCount(JToken data);
data Newtonsoft.Json.Linq.JToken