pub struct AgentData<'a> {Show 29 fields
    pub entity: &'a Entity,
    pub uid: &'a Uid,
    pub pos: &'a Pos,
    pub vel: &'a Vel,
    pub ori: &'a Ori,
    pub energy: &'a Energy,
    pub body: Option<&'a Body>,
    pub inventory: &'a Inventory,
    pub skill_set: &'a SkillSet,
    pub physics_state: &'a PhysicsState,
    pub alignment: Option<&'a Alignment>,
    pub traversal_config: TraversalConfig,
    pub scale: f32,
    pub damage: f32,
    pub light_emitter: Option<&'a LightEmitter>,
    pub glider_equipped: bool,
    pub is_gliding: bool,
    pub health: Option<&'a Health>,
    pub heads: Option<&'a Heads>,
    pub char_state: &'a CharacterState,
    pub active_abilities: &'a ActiveAbilities,
    pub combo: Option<&'a Combo>,
    pub buffs: Option<&'a Buffs>,
    pub stats: Option<&'a Stats>,
    pub poise: Option<&'a Poise>,
    pub stance: Option<&'a Stance>,
    pub cached_spatial_grid: &'a CachedSpatialGrid,
    pub msm: &'a MaterialStatManifest,
    pub rtsim_entity: Option<&'a RtSimEntity>,
}Fields§
§entity: &'a Entity§uid: &'a Uid§pos: &'a PosIf the agent is riding something this is the root mounts position.
vel: &'a VelIf the agent is riding something this is the root mounts velocity.
ori: &'a Ori§energy: &'a Energy§body: Option<&'a Body>§inventory: &'a Inventory§skill_set: &'a SkillSet§physics_state: &'a PhysicsState§alignment: Option<&'a Alignment>§traversal_config: TraversalConfig§scale: f32§damage: f32§light_emitter: Option<&'a LightEmitter>§glider_equipped: bool§is_gliding: bool§health: Option<&'a Health>§heads: Option<&'a Heads>§char_state: &'a CharacterState§active_abilities: &'a ActiveAbilities§combo: Option<&'a Combo>§buffs: Option<&'a Buffs>§stats: Option<&'a Stats>§poise: Option<&'a Poise>§stance: Option<&'a Stance>§cached_spatial_grid: &'a CachedSpatialGrid§msm: &'a MaterialStatManifest§rtsim_entity: Option<&'a RtSimEntity>Implementations§
Source§impl AgentData<'_>
 
impl AgentData<'_>
pub fn glider_equip( &self, controller: &mut Controller, read_data: &ReadData<'_>, )
pub fn glider_flight( &self, controller: &mut Controller, _read_data: &ReadData<'_>, )
pub fn fly_upward(&self, controller: &mut Controller, read_data: &ReadData<'_>)
Sourcepub fn path_toward_target(
    &self,
    agent: &mut Agent,
    controller: &mut Controller,
    tgt_pos: Vec3<f32>,
    read_data: &ReadData<'_>,
    path: Path,
    speed_multiplier: Option<f32>,
) -> Option<Vec3<f32>>
 
pub fn path_toward_target( &self, agent: &mut Agent, controller: &mut Controller, tgt_pos: Vec3<f32>, read_data: &ReadData<'_>, path: Path, speed_multiplier: Option<f32>, ) -> Option<Vec3<f32>>
Directs the entity to path and move toward the target
If path is not Full, the entity will path to a location 50 units along
the vector between the entity and the target. The speed multiplier
multiplies the movement speed by a value less than 1.0.
A None value implies a multiplier of 1.0.
Returns false if the pathfinding algorithm fails to return a path
fn traverse(&self, controller: &mut Controller, bearing: Vec3<f32>, speed: f32)
pub fn unstuck_if(&self, condition: bool, controller: &mut Controller)
pub fn jump_if(&self, condition: bool, controller: &mut Controller)
pub fn idle( &self, agent: &mut Agent, controller: &mut Controller, read_data: &ReadData<'_>, _emitters: &mut AgentEmitters<'_>, rng: &mut impl Rng, )
pub fn follow( &self, agent: &mut Agent, controller: &mut Controller, read_data: &ReadData<'_>, tgt_pos: &Pos, )
pub fn look_toward( &self, controller: &mut Controller, read_data: &ReadData<'_>, target: EcsEntity, ) -> bool
pub fn flee( &self, agent: &mut Agent, controller: &mut Controller, read_data: &ReadData<'_>, tgt_pos: &Pos, )
Sourcepub fn heal_self(
    &self,
    _agent: &mut Agent,
    controller: &mut Controller,
    relaxed: bool,
) -> bool
 
pub fn heal_self( &self, _agent: &mut Agent, controller: &mut Controller, relaxed: bool, ) -> bool
Attempt to consume a healing item, and return whether any healing items
were queued. Callers should use this to implement a delay so that
the healing isn’t interrupted. If relaxed is true, we allow eating
food and prioritise healing.
pub fn choose_target( &self, agent: &mut Agent, controller: &mut Controller, read_data: &ReadData<'_>, is_enemy: fn(&Self, EcsEntity, &ReadData<'_>) -> bool, )
pub fn attack( &self, agent: &mut Agent, controller: &mut Controller, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn attack_inner( &self, agent: &mut Agent, controller: &mut Controller, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_sounds_heard( &self, agent: &mut Agent, controller: &mut Controller, read_data: &ReadData<'_>, emitters: &mut AgentEmitters<'_>, rng: &mut impl Rng, )
pub fn attack_target_attacker( &self, agent: &mut Agent, read_data: &ReadData<'_>, controller: &mut Controller, emitters: &mut AgentEmitters<'_>, rng: &mut impl Rng, )
pub fn chat_npc_if_allowed_to_speak( &self, msg: Content, agent: &Agent, emitters: &mut AgentEmitters<'_>, ) -> bool
pub fn chat_npc(&self, content: Content, emitters: &mut AgentEmitters<'_>)
fn emit_scream(&self, time: f64, emitters: &mut AgentEmitters<'_>)
pub fn cry_out( &self, agent: &Agent, emitters: &mut AgentEmitters<'_>, read_data: &ReadData<'_>, )
pub fn exclaim_relief_about_enemy_dead( &self, agent: &Agent, emitters: &mut AgentEmitters<'_>, )
pub fn below_flee_health(&self, agent: &Agent) -> bool
pub fn is_more_dangerous_than_target( &self, entity: EcsEntity, target: Target, read_data: &ReadData<'_>, ) -> bool
pub fn is_enemy(&self, entity: EcsEntity, read_data: &ReadData<'_>) -> bool
pub fn is_hunting_animal( &self, entity: EcsEntity, read_data: &ReadData<'_>, ) -> bool
fn should_defend(&self, entity: EcsEntity, read_data: &ReadData<'_>) -> bool
fn passive_towards(&self, entity: EcsEntity, read_data: &ReadData<'_>) -> bool
fn friendly_towards(&self, entity: EcsEntity, read_data: &ReadData<'_>) -> bool
pub fn can_see_entity( &self, agent: &Agent, controller: &Controller, other: EcsEntity, other_pos: &Pos, other_scale: Option<&Scale>, read_data: &ReadData<'_>, ) -> bool
pub fn detects_other( &self, agent: &Agent, controller: &Controller, other: &EcsEntity, other_pos: &Pos, other_scale: Option<&Scale>, read_data: &ReadData<'_>, ) -> bool
pub fn can_sense_directly_near(&self, e_pos: &Pos) -> bool
pub fn menacing( &self, agent: &mut Agent, controller: &mut Controller, target: EcsEntity, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, emitters: &mut AgentEmitters<'_>, remembers_fight_with_target: bool, )
Sourcepub fn dismount_uncontrollable(
    &self,
    controller: &mut Controller,
    read_data: &ReadData<'_>,
)
 
pub fn dismount_uncontrollable( &self, controller: &mut Controller, read_data: &ReadData<'_>, )
Dismount if riding something the agent can’t control.
Sourcepub fn dismount(&self, controller: &mut Controller, read_data: &ReadData<'_>)
 
pub fn dismount(&self, controller: &mut Controller, read_data: &ReadData<'_>)
Dismount if riding something.
Currently there’s an exception for if the agent is steering a volume entity.
Source§impl AgentData<'_>
 
impl AgentData<'_>
pub fn handle_simple_melee( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_simple_flying_melee( &self, _agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, _rng: &mut impl Rng, )
pub fn handle_bloodmoon_bat_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, _rng: &mut impl Rng, )
pub fn handle_vampire_bat_attack( &self, agent: &mut Agent, controller: &mut Controller, _attack_data: &AttackData, _tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, _rng: &mut impl Rng, )
pub fn handle_bloodmoon_heiress_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_simple_backstab( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_elevated_ranged( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_hammer_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_sword_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_axe_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_bow_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_staff_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_sceptre_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_stone_golem_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_iron_golem_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_circle_charge_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, radius: u32, circle_time: u32, rng: &mut impl Rng, )
pub fn handle_quadlow_ranged_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_tail_slap_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_quadlow_quick_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_quadlow_basic_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_quadmed_jump_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_quadmed_basic_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_quadmed_hoof_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_quadlow_beam_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_organ_aura_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, _tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_theropod_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_turret_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_fixed_turret_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_rotating_turret_attack( &self, agent: &mut Agent, controller: &mut Controller, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_radial_turret_attack(&self, controller: &mut Controller)
pub fn handle_fiery_tornado_attack( &self, agent: &mut Agent, controller: &mut Controller, )
pub fn handle_mindflayer_attack( &self, agent: &mut Agent, controller: &mut Controller, _attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, _rng: &mut impl Rng, )
pub fn handle_forgemaster_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_flamekeeper_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_birdlarge_fire_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, _rng: &mut impl Rng, )
pub fn handle_wyvern_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, _rng: &mut impl Rng, )
pub fn handle_birdlarge_breathe_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_birdlarge_basic_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_arthropod_ranged_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_arthropod_ambush_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_arthropod_melee_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_minotaur_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_cyclops_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_dullahan_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_grave_warden_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_tidal_warrior_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_yeti_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_elephant_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_rocksnapper_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_roshwalr_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_harvester_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_frostgigas_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_boreal_hammer_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_boreal_bow_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_firegigas_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_ashen_axe_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_ashen_staff_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_cardinal_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_sea_bishop_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_cursekeeper_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_shamanic_spirit_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_cursekeeper_fake_attack( &self, controller: &mut Controller, attack_data: &AttackData, )
pub fn handle_karkatha_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, _rng: &mut impl Rng, )
pub fn handle_dagon_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_snaretongue_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, read_data: &ReadData<'_>, )
pub fn handle_deadwood( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_mandragora( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_wood_golem( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_gnarling_chieftain( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_sword_simple_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_adlet_hunter( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_adlet_icepicker( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_adlet_tracker( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_adlet_elder( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_icedrake( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_hydra( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_random_abilities( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, primary_weight: u8, secondary_weight: u8, ability_weights: [u8; 5], )
pub fn handle_simple_double_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_clay_steed_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_ancient_effigy_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_clay_golem_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_haniwa_soldier( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_haniwa_guard( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, rng: &mut impl Rng, )
pub fn handle_haniwa_archer( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
pub fn handle_terracotta_statue_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, read_data: &ReadData<'_>, )
pub fn handle_jiangshi_attack( &self, agent: &mut Agent, controller: &mut Controller, attack_data: &AttackData, tgt_data: &TargetData<'_>, read_data: &ReadData<'_>, )
Source§impl AgentData<'_>
 
impl AgentData<'_>
pub fn has_buff(&self, read_data: &ReadData<'_>, buff: BuffKind) -> bool
pub fn extract_ability(&self, input: AbilityInput) -> Option<AbilityData>
Auto Trait Implementations§
impl<'a> Freeze for AgentData<'a>
impl<'a> !RefUnwindSafe for AgentData<'a>
impl<'a> Send for AgentData<'a>
impl<'a> Sync for AgentData<'a>
impl<'a> Unpin for AgentData<'a>
impl<'a> !UnwindSafe for AgentData<'a>
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> CheckedAs for T
 
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
    T: CheckedCast<Dst>,
 
fn checked_as<Dst>(self) -> Option<Dst>where
    T: CheckedCast<Dst>,
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
    Src: CheckedCast<Dst>,
 
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
    Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
 
fn checked_cast_from(src: Src) -> Option<Dst>
§impl<T> Conv for T
 
impl<T> Conv for T
§impl<T> FmtForward for T
 
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
    Self: Binary,
 
fn fmt_binary(self) -> FmtBinary<Self>where
    Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
    Self: Display,
 
fn fmt_display(self) -> FmtDisplay<Self>where
    Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
    Self: LowerExp,
 
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
    Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
    Self: LowerHex,
 
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
    Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
    Self: Octal,
 
fn fmt_octal(self) -> FmtOctal<Self>where
    Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
    Self: Pointer,
 
fn fmt_pointer(self) -> FmtPointer<Self>where
    Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
    Self: UpperExp,
 
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
    Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
    Self: UpperHex,
 
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
    Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
    &'a Self: for<'a> IntoIterator,
 
fn fmt_list(self) -> FmtList<Self>where
    &'a Self: for<'a> IntoIterator,
§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 moreSource§impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
    Dst: LosslessTryFrom<Src>,
 
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
    Dst: LosslessTryFrom<Src>,
Source§fn lossless_try_into(self) -> Option<Dst>
 
fn lossless_try_into(self) -> Option<Dst>
Source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
    Dst: LossyFrom<Src>,
 
impl<Src, Dst> LossyInto<Dst> for Srcwhere
    Dst: LossyFrom<Src>,
Source§fn lossy_into(self) -> Dst
 
fn lossy_into(self) -> Dst
Source§impl<T> OverflowingAs for T
 
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
    T: OverflowingCast<Dst>,
 
fn overflowing_as<Dst>(self) -> (Dst, bool)where
    T: OverflowingCast<Dst>,
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
    Src: OverflowingCast<Dst>,
 
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
    Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
 
fn overflowing_cast_from(src: Src) -> (Dst, bool)
§impl<T> Pipe for Twhere
    T: ?Sized,
 
impl<T> Pipe for Twhere
    T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
    Self: Sized,
 
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
    Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
    R: 'a,
 
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
    R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
    R: 'a,
 
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
    R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
 
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
    &'a mut self,
    func: impl FnOnce(&'a mut B) -> R,
) -> R
 
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
 
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
 
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
 
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
 
impl<T> Pointable for T
Source§impl<T> SaturatingAs for T
 
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
    T: SaturatingCast<Dst>,
 
fn saturating_as<Dst>(self) -> Dstwhere
    T: SaturatingCast<Dst>,
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
    Src: SaturatingCast<Dst>,
 
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
    Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
 
fn saturating_cast_from(src: Src) -> Dst
Source§impl<Context> SubContext<Context> for Context
 
impl<Context> SubContext<Context> for Context
fn sub_context(self) -> Context
§impl<T> Tap for T
 
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
 
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
 
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
 
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
 
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
 
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
 
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
 
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
 
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
 
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
 
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
 
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
 
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
 
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.