CandideServer.Entities.Controllers.Enemies.ServerEngineerController
Type JSONpublic class in CandideServer.Entities.Controllers.Enemies
Type metadata
- Assembly
CandideServer - Namespace
CandideServer.Entities.Controllers.Enemies - Base type
CandideServer.Entities.Controllers.ServerBehaviorMachineController - Hash
8E359EC4CBFD902A5C7ACC989C847AF2F3F5A72165ADD664718937BAA01A36D5
Relationships
Fields
| Name | Visibility | Signature |
|---|---|---|
AttackCooldownTimer# | private | private System.String AttackCooldownTimer |
AttackOnCooldown# | private | private System.String AttackOnCooldown |
Ballista# | private | private System.String Ballista |
BallistaGuidKey# | private | private System.String BallistaGuidKey |
ChaseDurationBeforeRepairTimer# | private | private System.String ChaseDurationBeforeRepairTimer |
CurrentPatrolPointPosition# | private | private System.String CurrentPatrolPointPosition |
CurrentPatrolPointStopTime# | private | private System.String CurrentPatrolPointStopTime |
HasFinishedConstructingBallistaKey# | private | private System.String HasFinishedConstructingBallistaKey |
IsConstructingBallistaKey# | private | private System.String IsConstructingBallistaKey |
IsSpawnedInTalosKey# | public | public System.String IsSpawnedInTalosKey |
TalosWeakSpot# | private | private System.String TalosWeakSpot |
TargetEntity# | private | private System.String TargetEntity |
_attackAnimDuration# | private | private System.Single _attackAnimDuration |
_attackChargeDuration# | private | private System.Single _attackChargeDuration |
_attackCooldown# | private | private System.Single _attackCooldown |
_attackMovementLockDuration# | private | private System.Single _attackMovementLockDuration |
_attackRange# | private | private System.Single _attackRange |
_attackSpell# | private | private System.String _attackSpell |
_attackSpellTriggerDelay# | private | private System.Single _attackSpellTriggerDelay |
_ballistaGuid# | private | private System.Guid _ballistaGuid |
_ballistaRadius# | private | private System.Single _ballistaRadius |
_chaseDurationBeforeRepair# | private | private System.Single _chaseDurationBeforeRepair |
_constructBallistaHitAngleThreshold# | private | private System.Single _constructBallistaHitAngleThreshold |
_constructBallistaHitRange# | private | private System.Single _constructBallistaHitRange |
_constructBallistaOffset# | private | private System.Single _constructBallistaOffset |
_constructBallistaProgressPerHit# | private | private System.Single _constructBallistaProgressPerHit |
_hasFinishedConstructingBallista# | private | private System.Boolean _hasFinishedConstructingBallista |
_ignoreConstructBallistaIfTargetInRange# | private | private System.Single _ignoreConstructBallistaIfTargetInRange |
_isConstructingBallista# | private | private System.Boolean _isConstructingBallista |
_isPatroller# | private | private System.Boolean _isPatroller |
_isSpawnedInTalos# | private | private System.Boolean _isSpawnedInTalos |
_patrolMode# | private | private CandideServer.Entities.BehaviorMachine.Modules.Nodes.Schmovement.PatrolMode _patrolMode |
_patrolRoute# | private | private System.String _patrolRoute |
_patrolRouteStartIndex# | private | private System.Int32 _patrolRouteStartIndex |
_pauseDurationAfterLosingAggro# | private | private System.Single _pauseDurationAfterLosingAggro |
_repairHealthPerHit# | private | private System.Single _repairHealthPerHit |
_repairTalosWeakSpot# | private | private System.Boolean _repairTalosWeakSpot |
_repairWeakSpotCandidates# | private | private System.Collections.Generic.List<System.ValueTuple<Shared.Entity.EntityWrapper, System.Single, System.Single>> _repairWeakSpotCandidates |
_repairWeakSpotHitRange# | private | private System.Single _repairWeakSpotHitRange |
_repairWeakSpotOffset# | private | private System.Single _repairWeakSpotOffset |
_runSpeed# | private | private System.Single _runSpeed |
_shouldWanderHome# | private | private System.Boolean _shouldWanderHome |
_talosWeakSpotId# | private | private System.Guid _talosWeakSpotId |
_talosWeakSpots# | private | private System.Collections.Generic.List<System.Guid> _talosWeakSpots |
_walkSpeed# | private | private System.Single _walkSpeed |
_wanderDistance# | private | private System.ValueTuple<System.Single, System.Single> _wanderDistance |
_wanderHomeRadius# | private | private System.Single _wanderHomeRadius |
_wanderIdleDuration# | private | private System.ValueTuple<System.Single, System.Single> _wanderIdleDuration |
Methods
CreateBallistaConstructionProgressSubTree
#
private BM.BehaviorTree CreateBallistaConstructionProgressSubTree()
Method metadata
- Visibilityprivate
- Return type
BM.BehaviorTree - StaticFalse
- VirtualFalse
- Hash
98B41979F1960203322BD4663CE0102B827C483E9E182C9A3E6737A2260C8E58 - Body hash
E183C8614D39D199DE594370C89B5252E632B700F60647EF4C2CD929FA3889B4 - IL size188
Referenced calls
BM.BTBuilderPool::Get()BM.NodeArg<Shared.Entity.EntityWrapper>::op_Implicit(T)BM.NodeArg<System.Guid>::op_Implicit(System.String)BM.NodeArg<System.Single>::op_Implicit(T)BM.IsInRange<Shared.Entity.EntityWrapper, System.Guid>::.ctor(BM.NodeArg<T1>, BM.NodeArg<T2>, BM.NodeArg<System.Single>, System.Boolean, System.Boolean)BM.IsFacingTarget<System.Guid>::.ctor(BM.NodeArg<T>, System.Single)BM.ConditionHelper::Sequence(BM.Node[])BM.ConditionalDecorator::.ctor(BM.IBaseCondition, System.Boolean, System.Boolean, Node.Status)BM.BTBuilder::Decorator(BM.Decorator)BM.Sequence::.ctor()BM.BTBuilder::Composite(BM.Composite)CandideServer.Entities.Controllers.Enemies.ServerEngineerController::<CreateBallistaConstructionProgressSubTree>b__51_0()System.Action::.ctor(System.Object, System.IntPtr)BM.CustomVoid::.ctor(System.Action)BM.BTBuilder::Leaf(BM.Leaf)BM.StringNodeArg::op_Implicit(System.String)BM.PlaySfxOnEntityFromServer::.ctor(BM.StringNodeArg, System.Nullable<System.Single>, System.Nullable<System.Single>)BM.BTBuilder::End()BM.BTBuilder::Build()
String literals
event:/hits/impact/generic_impact_wood
CreateRepairTalosWeakSpotSubTree
#
private BM.BehaviorTree CreateRepairTalosWeakSpotSubTree()
Method metadata
- Visibilityprivate
- Return type
BM.BehaviorTree - StaticFalse
- VirtualFalse
- Hash
FB45E031DBE6715C753D917FBFF916089EB6C190FBCEF84D9DC4BC9DE4E0D0B5 - Body hash
99EDEB6D4F5226B6B9FC6216E1078CB4EBA484B180EE93DB9F08C9D392690729 - IL size187
Referenced calls
BM.BTBuilderPool::Get()BM.NodeArg<Shared.Entity.EntityWrapper>::op_Implicit(T)BM.NodeArg<System.Guid>::op_Implicit(System.String)BM.NodeArg<System.Single>::op_Implicit(T)BM.IsInRange<Shared.Entity.EntityWrapper, System.Guid>::.ctor(BM.NodeArg<T1>, BM.NodeArg<T2>, BM.NodeArg<System.Single>, System.Boolean, System.Boolean)BM.IsFacingTarget<System.Guid>::.ctor(BM.NodeArg<T>, System.Single)BM.ConditionHelper::Sequence(BM.Node[])BM.ConditionalDecorator::.ctor(BM.IBaseCondition, System.Boolean, System.Boolean, Node.Status)BM.BTBuilder::Decorator(BM.Decorator)BM.Sequence::.ctor()BM.BTBuilder::Composite(BM.Composite)CandideServer.Entities.Controllers.Enemies.ServerEngineerController::<CreateRepairTalosWeakSpotSubTree>b__52_0()System.Action::.ctor(System.Object, System.IntPtr)BM.CustomVoid::.ctor(System.Action)BM.BTBuilder::Leaf(BM.Leaf)BM.StringNodeArg::op_Implicit(System.String)BM.PlaySfxOnEntityFromServer::.ctor(BM.StringNodeArg, System.Nullable<System.Single>, System.Nullable<System.Single>)BM.BTBuilder::End()BM.BTBuilder::Build()
String literals
event:/hits/impact/impact_shield
CreateStateMachine
#
public BM.StateMachine CreateStateMachine()
Method metadata
- Visibilitypublic
- Return type
BM.StateMachine - StaticFalse
- VirtualTrue
- Hash
542BA68AD4C589D7DBDADE80CC72E1BEAB6F06A2417EDCA4EF2B8FF97BC35BE7 - Body hash
27EED7012C240604BE8684FB40D3A6CED119467201A99E3E116DE383945BD915 - IL size4299
Referenced calls
BM.SMBuilder::.ctor()BM.SMBuilder::Branch(System.String, BM.State&, System.Int32, System.Int32)BM.StateBuilder<BM.SMBuilder>::Branch(System.String, BM.State&, System.Int32, System.Int32)BM.StateBuilder<BM.StateBuilder<BM.SMBuilder>>::Branch(System.String, BM.State&, System.Int32, System.Int32)BM.StateBuilder<BM.StateBuilder<BM.StateBuilder<BM.SMBuilder>>>::Leaf(System.String, BM.State&, System.Int32, System.Int32)BM.StateBuilder<BM.StateBuilder<BM.StateBuilder<BM.SMBuilder>>>::Branch(System.String, BM.State&, System.Int32, System.Int32)BM.StateBuilder<BM.StateBuilder<BM.StateBuilder<BM.StateBuilder<BM.SMBuilder>>>>::Leaf(System.String, BM.State&, System.Int32, System.Int32)BM.StateBuilder<BM.StateBuilder<BM.StateBuilder<BM.StateBuilder<BM.SMBuilder>>>>::End()BM.StateBuilder<BM.StateBuilder<BM.StateBuilder<BM.SMBuilder>>>::End()BM.StateBuilder<BM.StateBuilder<BM.SMBuilder>>::End()BM.StateBuilder<BM.StateBuilder<BM.SMBuilder>>::Leaf(System.String, BM.State&, System.Int32, System.Int32)BM.StateBuilder<BM.SMBuilder>::End()BM.SMBuilder::Build()BM.BTBuilderPool::Get()BM.ParallelSequence::.ctor(System.Boolean)BM.BTBuilder::Composite(BM.Composite)BM.TryGetThreateningEntity::.ctor(System.String)BM.BTBuilder::Leaf(BM.Leaf)BM.NodeArg<System.Single>::op_Implicit(T)BM.CooldownTimer::.ctor(BM.Blackboard, BM.NodeArg<System.Single>, System.String, System.String)BM.BTBuilder::End()BM.BTBuilder::Build()BM.State::set_UpdateBehaviorTree(BM.BehaviorTree)BM.State::AddStartChildTransition(BM.State)CandideServer.Entities.Controllers.Enemies.ServerEngineerController::<CreateStateMachine>b__50_0(BM.BTUpdateContext, BM.Blackboard, System.Object[])System.Func<BM.BTUpdateContext, BM.Blackboard, System.Object[], System.Boolean>::.ctor(System.Object, System.IntPtr)System.Array::Empty()BM.CustomBool::.ctor(System.Func<BM.BTUpdateContext, BM.Blackboard, System.Object[], System.Boolean>, System.Object[])BM.ConditionHelper::Leaf(BM.Leaf)BM.Transition::set_Condition(BM.IBaseCondition)CandideServer.Entities.Controllers.Enemies.ServerEngineerController::<CreateStateMachine>b__50_1(BM.BTUpdateContext, BM.Blackboard, System.Object[])BM.BTFactory::IdleWithRange(System.Int32, System.Single, System.Single)
String literals
basepassivewanderno_player_nearbyplayer_nearbywalkidlewalkHomepatrolaggrochaseattackballistaapproachconstructtalos_weak_spot
EntityInitialize
#
public System.Void EntityInitialize()
Method metadata
- Visibilitypublic
- Return type
System.Void - StaticFalse
- VirtualTrue
- Hash
9AB18C580AA41FD2A0D016D326C061570035DCE2D8347DF0E414578BEF1498E3 - Body hash
191FB29317F8F44D9B2A3B614559C359D0F331FC53634F4D32CFE2D35150973D - IL size1079
Referenced calls
CandideCreator.Shared.Helpers.Parameters::GetFloat(System.String, System.Single)CandideCreator.Shared.Helpers.Parameters::GetBool(System.String, System.Boolean)System.ValueTuple<System.Single, System.Single>::.ctor(!0, !1)CandideCreator.Shared.Helpers.Parameters::GetString(System.String, System.String)CandideCreator.Shared.Helpers.Parameters::GetInt(System.String, System.Int32)CandideCreator.Shared.Helpers.Parameters::GetEnum(System.String, !!0)CandideCreator.Shared.Helpers.Parameters::GetGuid(System.String, System.Guid)System.Collections.Generic.Dictionary<System.Guid, Shared.Entity.EntitySystem>::TryGetValue(!0, !1&)System.Collections.Generic.List<System.ValueTuple<Shared.Entity.EntityWrapper, System.Single, System.Single>>::.ctor()CandideServer.Entities.Controllers.Enemies.ServerEngineerController::GetTalosWeakSpots()Shared.Entity.EntityWrapper::get_Stats()Shared.Models.Stats.EntityStats::GetCalculatedWeaponCooldownTimer(System.Single)CandideServer.Entities.Controllers.ServerBehaviorMachineController::EntityInitialize()CandideServer.Entities.Controllers.ServerBehaviorMachineController::get_Blackboard()BM.Blackboard::SetValue(System.String, T)
String literals
walk_speedrun_speedshould_wander_homewander_home_radiusmin_wander_distancemax_wander_distancemin_wander_idle_durationmax_wander_idle_durationattack_spellattack_rangeattack_charge_timeattack_spell_trigger_delayattack_movement_lock_durationattack_cooldownattack_anim_durationis_patroller
GetTalosWeakSpots
#
private System.Void GetTalosWeakSpots()
Method metadata
- Visibilityprivate
- Return type
System.Void - StaticFalse
- VirtualFalse
- Hash
6F709CB8DC3C5A7BCF8A4CF2B056927AC2A1EC0531A1320AD1A7B289A9B6827B - Body hash
F96DA027EAC7F11D8262A6B26F83905910346B1FECCC56B2CA797B6230CBA171 - IL size100
Referenced calls
System.Collections.Generic.List<System.Guid>::.ctor()Shared.Entity.EntitySystem::GetEntityWrappers()EntitySystem.EntityEnumerator::GetEnumerator()EntitySystem.EntityEnumerator::get_Current()Shared.Entity.EntityWrapper::get_Mask()Shared.Entity.Components.ComponentExtension::HasFlags(Shared.Entity.Components.Component, Shared.Entity.Components.Component)Shared.Entity.EntityWrapper::get_Controller()Shared.Entity.EntityWrapper::get_Id()System.Collections.Generic.List<System.Guid>::Add(!0)EntitySystem.EntityEnumerator::MoveNext()
IsTalosWeakSpotMaxHealth
#
private System.Boolean IsTalosWeakSpotMaxHealth()
Method metadata
- Visibilityprivate
- Return type
System.Boolean - StaticFalse
- VirtualFalse
- Hash
BD4D7728DE53009B25B8B260447280961E915EF410F54C0EA5EC830177E2E9A2 - Body hash
1502219C94ABA770B12B1BD49F84C6CBB4A0FF869CC228572474546A3F1A659F - IL size73
Referenced calls
Shared.Entity.EntitySystem::GetEntityById(System.Guid)Shared.Entity.EntityWrapper::get_Mask()System.Enum::HasFlag(System.Enum)Shared.Entity.EntityWrapper::get_Health()Shared.Entity.EntityWrapper::get_MaxHealth()
TryFindDamagedTalosWeakSpot
#
private System.Boolean TryFindDamagedTalosWeakSpot()
Method metadata
- Visibilityprivate
- Return type
System.Boolean - StaticFalse
- VirtualFalse
- Hash
FC6F9984149F1EF0D70B6E0A143F6CA4A69E9F3819E8D193DBCC051B55A12AD9 - Body hash
A4855C97F50C7B9CB8672B3B51724DE50B254DF4E69E58F953476808DEAF1838 - IL size402
Referenced calls
CandideCreator.Shared.Helpers.RandomHelper::NextFloat(System.Random)System.Collections.Generic.List<System.ValueTuple<Shared.Entity.EntityWrapper, System.Single, System.Single>>::Clear()System.Collections.Generic.List<System.Guid>::GetEnumerator()List.Enumerator<System.Guid>::get_Current()Shared.Entity.EntitySystem::GetEntityById(System.Guid)Shared.Entity.EntityWrapper::get_Mask()System.Enum::HasFlag(System.Enum)Shared.Entity.EntityWrapper::get_Health()Shared.Entity.EntityWrapper::get_MaxHealth()Shared.Entity.EntityWrapper::get_Position2()Microsoft.Xna.Framework.Vector2::op_Subtraction(Microsoft.Xna.Framework.Vector2, Microsoft.Xna.Framework.Vector2)Microsoft.Xna.Framework.Vector2::Length()System.ValueTuple<Shared.Entity.EntityWrapper, System.Single, System.Single>::.ctor(!0, !1, !2)System.Collections.Generic.List<System.ValueTuple<Shared.Entity.EntityWrapper, System.Single, System.Single>>::Add(!0)List.Enumerator<System.Guid>::MoveNext()System.IDisposable::Dispose()System.Collections.Generic.List<System.ValueTuple<Shared.Entity.EntityWrapper, System.Single, System.Single>>::GetEnumerator()List.Enumerator<System.ValueTuple<Shared.Entity.EntityWrapper, System.Single, System.Single>>::get_Current()List.Enumerator<System.ValueTuple<Shared.Entity.EntityWrapper, System.Single, System.Single>>::MoveNext()CandideServer.Entities.Controllers.ServerBehaviorMachineController::get_Blackboard()Shared.Entity.EntityWrapper::get_Id()BM.EnemyUtil::SyncBlackboardValue(BM.Blackboard, System.String, T)