Class AIRandomCondition
Condition that passes with a configurable random probability each evaluation. Useful for introducing variety — e.g., "30% chance to use a special attack".
[CreateAssetMenu(fileName = "New AI Random Condition", menuName = "FishMMO/Character/NPC/AI/Conditions/Random Condition")]
public class AIRandomCondition : AIAbilityCondition
- Inheritance
-
ObjectScriptableObjectAIRandomCondition
- Inherited Members
-
ScriptableObject.SetDirty()ScriptableObject.CreateInstance<T>()Object.GetEntityId()Object.GetInstanceID()Object.GetHashCode()Object.InstantiateAsync<T>(T)Object.InstantiateAsync<T>(T, Transform)Object.InstantiateAsync<T>(T, Vector3, Quaternion)Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)Object.Instantiate(Object, Vector3, Quaternion)Object.Instantiate(Object, Vector3, Quaternion, Transform)Object.Instantiate(Object)Object.Instantiate(Object, Scene)Object.Instantiate<T>(T, InstantiateParameters)Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)Object.Instantiate(Object, Transform)Object.Instantiate<T>(T)Object.Instantiate<T>(T, Vector3, Quaternion)Object.Instantiate<T>(T, Vector3, Quaternion, Transform)Object.Instantiate<T>(T, Transform)Object.Destroy(Object)Object.DestroyImmediate(Object)Object.DontDestroyOnLoad(Object)Object.DestroyObject(Object)Object.FindObjectsOfType<T>()Object.FindObjectsByType<T>(FindObjectsSortMode)Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)Object.FindObjectOfType<T>()Object.FindFirstObjectByType<T>()Object.FindAnyObjectByType<T>()Object.FindFirstObjectByType<T>(FindObjectsInactive)Object.FindAnyObjectByType<T>(FindObjectsInactive)Object.FindObjectsByType<T>()Object.FindObjectsByType<T>(FindObjectsInactive)Object.ToString()Object.nameObject.hideFlags
Fields
Chance
Probability (0–1) that the condition evaluates to true. 0 = never, 1 = always.
[Range(0, 1)]
[Tooltip("Probability (0-1) that this condition is true each evaluation.")]
public float Chance
Field Value
Methods
Evaluate(AIController, ICharacter, ICharacter)
Returns true with probability Chance. Uses the NPC's seeded RNG for deterministic behaviour.
public override bool Evaluate(AIController controller, ICharacter self, ICharacter target)
Parameters
controllerAIControllerThe AI controller of the NPC.
selfICharacterThe NPC's character.
targetICharacterThe NPC's current target (may be null).
Returns
- bool
True with probability Chance, false otherwise.