pub struct Psyche {
    pub flee_health: f32,
    pub sight_dist: f32,
    pub listen_dist: f32,
    pub aggro_dist: Option<f32>,
    pub idle_wander_factor: f32,
    pub aggro_range_multiplier: f32,
    pub should_stop_pursuing: bool,
}Fields§
§flee_health: f32The proportion of health below which entities will start fleeing. 0.0 = never flees, 1.0 = always flees, 0.5 = flee at 50% health.
sight_dist: f32The distance below which the agent will see enemies if it has line of sight.
listen_dist: f32The distance below which the agent can hear enemies without seeing them.
aggro_dist: Option<f32>The distance below which the agent will attack enemies. Should be lower
than sight_dist. None implied that the agent is always aggro
towards enemies that it is aware of.
idle_wander_factor: f32A factor that controls how much further an agent will wander when in the
idle state. 1.0 is normal.
aggro_range_multiplier: f32Aggro range is multiplied by this factor. 1.0 is normal.
This includes scaling the effective sight_dist and listen_dist
when finding new targets to attack, adjusting the strength of
wandering behavior in the idle state, and scaling aggro_dist in
certain situations.
should_stop_pursuing: boolWhether this entity should intelligently decide to loose aggro based on distance from agent home and health, this is not suitable for world bosses and roaming entities
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Psyche
impl RefUnwindSafe for Psyche
impl Send for Psyche
impl Sync for Psyche
impl Unpin for Psyche
impl UnwindSafe for Psyche
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
 
impl<T> Pointable for T
Source§impl<Context> SubContext<Context> for Context
 
impl<Context> SubContext<Context> for Context
fn sub_context(self) -> Context
§impl<T> TryDefault for Twhere
    T: Default,
 
impl<T> TryDefault for Twhere
    T: Default,
§fn try_default() -> Result<T, String>
 
fn try_default() -> Result<T, String>
§fn unwrap_default() -> Self
 
fn unwrap_default() -> Self
try_default and panics on an error case.