Table of Contents

Class AIRandomCondition

Namespace
FishMMO.Shared
Assembly
FishMMO.Shared.dll

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
Object
ScriptableObject
AIRandomCondition
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.name
Object.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

float

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

controller AIController

The AI controller of the NPC.

self ICharacter

The NPC's character.

target ICharacter

The NPC's current target (may be null).

Returns

bool

True with probability Chance, false otherwise.