pub mod model;
mod absence;
mod behavior;
#[cfg(feature = "dialogue")]
mod dialogue;
#[cfg(feature = "steering")]
mod steering;
mod beliefs;
mod core;
mod defs;
mod economy;
mod fast_forward;
#[cfg(feature = "fields")]
mod fields;
mod groups;
mod interact;
mod mind;
mod placement;
mod plugins;
#[cfg(feature = "serde")]
mod preview;
mod relationships;
mod reputation;
mod rules;
mod rumor;
#[cfg(feature = "serde")]
mod save;
mod script;
mod script_apply;
mod snapshot;
mod trace;
pub use absence::PersonReturned;
pub use behavior::{
ActivityEnded, ActivityStarted, BehaviorPlugin, Destination, Doing, DoingTarget, EndActivity,
InteractionResolved, PersonDied, ReportDeed, TravelFailed,
};
pub use beliefs::{BeliefsPlugin, Knowledge, Known, Opinion, Opinions, belief_after_hearing};
pub use core::{
AssessmentNorm, Autonomous, Away, AwaySince, BoundPlaces, ClockSource, Deceased, Dormant, Home,
HostClock, Locomotion, NextPersonId, Perception, Person, PersonId, PersonIndex, PersonKey,
Place, PlaceKey, PlaceTags, SocietyClock, SocietyCorePlugin, SocietyPlane, SocietyRng,
SocietySettings, SocietySystems, SocietyTick, Tuning, skill_level, society_tick_due,
};
pub use defs::{
AcceptDef, ActivityDef, ActivityId, ActivityTarget, Consideration, ConversationRuleDef,
DeedDef, DeedId, DefsError, DefsFile, EffectsDef, FactionDef, FactionId, FieldInput, GoodDef,
GoodId, IDLE_ACTIVITY, Input, InteractionBarks, InteractionDef, InteractionId, NeedDef, NeedId,
NodeEffectDef, Signal, SignalDef, SignalId, SkillDef, SkillGroup, SkillId, SocietyDefs,
TieDelta, TopicDef, TopicId, TriggerArea, TriggerDef, TriggerOn, UrgentDef, size_person_state,
};
#[cfg(feature = "dialogue")]
pub use dialogue::{
DialoguePlugin, DialogueProblem, DialogueReferenceKind, TalkTo, dialogue_problems,
};
pub use economy::{EconomyPlugin, Prices, Stock, value_of};
#[cfg(feature = "fields")]
pub use fields::{Commotion, SocialFieldPlugin, SocialFieldSettings, SocialFields};
#[cfg(feature = "fields")]
pub use bevy_stigmergy::{CellFrame, ChannelDef};
pub use fast_forward::{FastForward, FastForwardError, fast_forward};
pub use groups::{
FactionStat, FactionStats, GroupsPlugin, Memberships, STANDING_FAMILIARITY, Status,
contest_win_chance, standing_from,
};
pub use interact::{Feeling, Interact, SocietyBark};
pub use mind::{
ActiveEmotion, Appraise, Chronotype, EmotionKind, Emotions, Memories, Memory, MemoryKind, Mood,
MoodRates, Needs, Personality, Signals, Trait,
};
pub use placement::{
PersonDef, PersonalityDef, PlaceDef, PlaceDependent, Placed, PlacementFile, TieSpec,
persons_in_rect, place_dependents,
};
pub use plugins::SocietyPlugins;
#[cfg(feature = "serde")]
pub use preview::{PersonPreview, Preview, PreviewError, TieChange, preview_forward};
pub use relationships::{RelationshipsPlugin, Tie, TieLabel, TieLabelChanged, Ties};
pub use reputation::NormViolated;
pub use rules::{
FireTrigger, RulesPlugin, TriggerFired, TriggerTest, TriggerTestError, reload_defs,
test_trigger,
};
pub use rumor::{PlantRumor, Rumor, RumorBook, RumorId, RumorLearned};
#[cfg(feature = "serde")]
pub use save::{
ClockSave, DoingSave, DoingTargetSave, EmotionSave, FieldsSave, MemoryKindSave, MemorySave,
NamesSave, PersonSave, RestoreError, RestoreReport, RngSave, RumorSave, SocietySave, TieSave,
TriggersSave, VERSION, capture, restore,
};
pub use script::{
ScriptEngine, ScriptError, ScriptEvent, ScriptId, ScriptKind, ScriptSyntaxError, ScriptValue,
check_script,
};
#[cfg(feature = "steering")]
pub use steering::{Obstacle, SocialMover, SocialVelocity, SteeringPlugin};
pub use trace::{Decision, DecisionTrace, ScoredOption};