M&B: Bannerlord 1.0.0
The horns sound, the ravens gather.
Loading...
Searching...
No Matches
TaleWorlds.MountAndBlade.RangedSiegeWeapon Class Referenceabstract

Base class for ranged siege weapons that can shoot.

Inherits TaleWorlds.MountAndBlade.SiegeWeapon.

Inherited by TaleWorlds.MountAndBlade.Ballista, TaleWorlds.MountAndBlade.Mangonel, and TaleWorlds.MountAndBlade.Trebuchet.

Public Types

enum  WeaponState
 The cycle of states is as follows: Idle => WaitingBeforeProjectileLeaving => Shooting => WaitingBeforeReloading => Reloading => Idle. Shoot method should be called for moving from Idle state to WaitingBeforeProjectileLeaving state. All other state changes are done in StateUpdate method. Default value is Idle state. More...
 
enum  FiringFocus
 
enum  CameraState
 
- Public Types inherited from TaleWorlds.MountAndBlade.SynchedMissionObject
enum  SynchFlags : uint
 
- Public Types inherited from TaleWorlds.Engine.ScriptComponentBehavior
enum  TickRequirement : uint
 

Public Member Functions

delegate void OnSiegeWeaponReloadDone ()
 
virtual void SetAmmo (int ammoLeft)
 
void ChangeProjectileEntityClient (int index)
 
override bool ReadFromNetwork ()
 
override void WriteToNetwork ()
 
override bool IsInRangeToCheckAlternativePoints (Agent agent)
 
override StandingPoint GetBestPointAlternativeTo (StandingPoint standingPoint, Agent agent)
 
override TickRequirement GetTickRequirement ()
 
void ToggleTrajectoryVisibility (bool isVisible)
 
void GiveInput (float inputX, float inputY)
 
void GiveExactInput (float targetX, float targetY)
 
virtual float GetTargetDirection (Vec3 target)
 Calculates the required direction of this ranged siege weapon to hit the param target More...
 
virtual float GetTargetReleaseAngle (Vec3 target)
 Calculates the required release angle of this ranged siege weapon to hit the param target. More...
 
virtual bool AimAtTarget (Vec3 target)
 Rotates the param current direction angle towards the param target direction angle. More...
 
virtual void AimAtRotation (float horizontalRotation, float verticalRotation)
 
bool Shoot ()
 Shoots if it is ready to shoot. More...
 
void ManualReload ()
 
void AiRequestsShoot ()
 
void AiRequestsManualReload ()
 
abstract override SiegeEngineType GetSiegeEngineType ()
 
bool CanShootAtBox (Vec3 boxMin, Vec3 boxMax, uint attempts=5)
 
bool CanShootAtBoxSimplified (Vec3 boxMin, Vec3 boxMax)
 
bool CanShootAtAgent (Agent agent)
 
bool CanShootAtPoint (Vec3 target)
 
override OrderType GetOrder (BattleSideEnum side)
 
abstract float ProcessTargetValue (float baseValue, TargetFlags flags)
 
- Public Member Functions inherited from TaleWorlds.MountAndBlade.SiegeWeapon
abstract SiegeEngineType GetSiegeEngineType ()
 
override TickRequirement GetTickRequirement ()
 
GameEntity GetTargetEntity ()
 
BattleSideEnum GetSide ()
 
GameEntity Entity ()
 
abstract TargetFlags GetTargetFlags ()
 
abstract float GetTargetValue (List< Vec3 > weaponPos)
 
- Public Member Functions inherited from TaleWorlds.MountAndBlade.UsableMachine
void AddComponent (UsableMissionObjectComponent component)
 
void RemoveComponent (UsableMissionObjectComponent component)
 
GetComponent< T > ()
 
virtual OrderType GetOrder (BattleSideEnum side)
 
virtual UsableMachineAIBase CreateAIBehaviorObject ()
 
GameEntity GetValidStandingPointForAgent (Agent agent)
 
GameEntity GetValidStandingPointForAgentWithoutDistanceCheck (Agent agent)
 
StandingPoint GetVacantStandingPointForAI (Agent agent)
 
StandingPoint GetTargetStandingPointOfAIAgent (Agent agent)
 
override void SetVisibleSynched (bool value, bool forceChildrenVisible=false)
 The user agent who controls this object More...
 
override void SetPhysicsStateSynched (bool value, bool setChildren=true)
 
override TickRequirement GetTickRequirement ()
 
virtual void OnFocusGain (Agent userAgent)
 
virtual void OnFocusLose (Agent userAgent)
 
virtual TextObject GetInfoTextForBeingNotInteractable (Agent userAgent)
 
void Deactivate ()
 
void Activate ()
 
virtual bool IsDisabledForBattleSide (BattleSideEnum sideEnum)
 
virtual bool IsDisabledForBattleSideAI (BattleSideEnum sideEnum)
 
virtual void Disable ()
 
override bool ReadFromNetwork ()
 
override void WriteToNetwork ()
 
override string ToString ()
 
abstract TextObject GetActionTextForStandingPoint (UsableMissionObject usableGameObject)
 
virtual StandingPoint GetBestPointAlternativeTo (StandingPoint standingPoint, Agent agent)
 
virtual bool IsInRangeToCheckAlternativePoints (Agent agent)
 
void AddAgentAtSlotIndex (Agent agent, int slotIndex)
 
bool IsStandingPointAvailableForAgent (Agent agent)
 
bool IsUsedByFormation (Formation formation)
 
abstract string GetDescriptionText (GameEntity gameEntity=null)
 
- Public Member Functions inherited from TaleWorlds.MountAndBlade.SynchedMissionObject
override TickRequirement GetTickRequirement ()
 
void SetLocalPositionSmoothStep (ref Vec3 targetPosition)
 
virtual void SetVisibleSynched (bool value, bool forceChildrenVisible=false)
 
virtual void SetPhysicsStateSynched (bool value, bool setChildren=true)
 
virtual void SetDisabledSynched ()
 
void SetFrameSynched (ref MatrixFrame frame, bool isClient=false)
 
void SetGlobalFrameSynched (ref MatrixFrame frame, bool isClient=false)
 
void SetFrameSynchedOverTime (ref MatrixFrame frame, float duration, bool isClient=false)
 
void SetGlobalFrameSynchedOverTime (ref MatrixFrame frame, float duration, bool isClient=false)
 
void SetAnimationAtChannelSynched (string animationName, int channelNo, float animationSpeed=1.0f)
 
void SetAnimationAtChannelSynched (int animationIndex, int channelNo, float animationSpeed=1.0f)
 
void SetAnimationChannelParameterSynched (int channelNo, float parameter)
 
void PauseSkeletonAnimationSynched ()
 
void ResumeSkeletonAnimationSynched ()
 
void BurstParticlesSynched (bool doChildren=true)
 
void ApplyImpulseSynched (Vec3 localPosition, Vec3 impulse)
 
void AddBodyFlagsSynched (BodyFlags flags, bool applyToChildren=true)
 
void RemoveBodyFlagsSynched (BodyFlags flags, bool applyToChildren=true)
 
void SetTeamColors (uint color, uint color2)
 
virtual void SetTeamColorsSynched (uint color, uint color2)
 
virtual bool ReadFromNetwork ()
 
virtual void WriteToNetwork ()
 
- Public Member Functions inherited from TaleWorlds.MountAndBlade.MissionObject
 MissionObject ()
 
virtual void SetAbilityOfFaces (bool enabled)
 
override int GetHashCode ()
 
virtual void AfterMissionStart ()
 
void SetDisabled (bool isParentObject=false)
 Only disables the mission object script and removes it from active mission objects list but the object entity remains visible with active physics More...
 
void SetDisabledAndMakeInvisible (bool isParentObject=false)
 Mission object is disabled and removed from active mission objects list, its entity is made invisible and therefore its physics is turned off More...
 
virtual void OnEndMission ()
 
virtual void AddStuckMissile (GameEntity missileEntity)
 
- Public Member Functions inherited from TaleWorlds.Engine.ScriptComponentBehavior
void SetScriptComponentToTick (TickRequirement value)
 
void SetScriptComponentToTickMT (TickRequirement value)
 
virtual TickRequirement GetTickRequirement ()
 
void OnFocusGain (Agent userAgent)
 
void OnFocusLose (Agent userAgent)
 
TextObject GetInfoTextForBeingNotInteractable (Agent userAgent)
 
string GetDescriptionText (GameEntity gameEntity=null)
 
OrderType GetOrder (BattleSideEnum side)
 
bool IsAgentUsingOrMovingTo (Agent agent)
 
float? GetWeightOfNextSlot (BattleSideEnum side)
 Null if there is no vacancy left. Otherwise it is a positive number. More...
 
float GetDetachmentWeight (BattleSideEnum side)
 
float ComputeAndCacheDetachmentWeight (BattleSideEnum side)
 
float GetDetachmentWeightFromCache ()
 
List< ValueTuple< int, float > > GetSlotIndexWeightTuples ()
 
bool IsSlotAtIndexAvailableForAgent (int slotIndex, Agent agent)
 
bool IsAgentEligible (Agent agent)
 
void AddAgentAtSlotIndex (Agent agent, int slotIndex)
 
Agent GetMovingAgentAtSlotIndex (int slotIndex)
 
void MarkSlotAtIndex (int slotIndex)
 
bool IsDetachmentRecentlyEvaluated ()
 
void UnmarkDetachment ()
 
float? GetWeightOfAgentAtNextSlot (IEnumerable< Agent > candidates, out Agent match)
 
float? GetWeightOfAgentAtNextSlot (IEnumerable< AgentValuePair< float > > agentTemplateScores, out Agent match)
 
float GetTemplateWeightOfAgent (Agent candidate)
 
float[] GetTemplateCostsOfAgent (Agent candidate, float[] oldValue)
 
float GetExactCostOfAgentAtSlot (Agent candidate, int slotIndex)
 
float GetWeightOfOccupiedSlot (Agent detachedAgent)
 
float? GetWeightOfAgentAtOccupiedSlot (Agent detachedAgent, IEnumerable< Agent > candidates, out Agent match)
 
bool IsStandingPointAvailableForAgent (Agent agent)
 
void AddAgent (Agent agent, int slotIndex=-1)
 
void RemoveAgent (Agent detachedAgent)
 
void FormationStartUsing (Formation formation)
 
void FormationStopUsing (Formation formation)
 
bool IsUsedByFormation (Formation formation)
 
WorldFrameGetAgentFrame (Agent detachedAgent)
 Returns null for siege weapons and other detachments that sets scripted frame for the agent. Returns a frame otherwise. More...
 
void ResetEvaluation ()
 
bool IsEvaluated ()
 
void SetAsEvaluated ()
 
void OnFormationLeave (Formation formation)
 
TargetFlags GetTargetFlags ()
 
float GetTargetValue (List< Vec3 > referencePositions)
 
GameEntity GetTargetEntity ()
 
BattleSideEnum GetSide ()
 
GameEntity Entity ()
 

Public Attributes

string MissileItemID
 
FiringFocus Focus
 
int startingAmmoCount = 20
 
float TopReleaseAngleRestriction = MBMath.PI / 2.0f
 /// More...
 
float BottomReleaseAngleRestriction = -MBMath.PI / 2.0f
 
float VisualizeReleaseTrajectoryAngle
 
- Public Attributes inherited from TaleWorlds.MountAndBlade.SiegeWeapon
bool ForcedUse
 
- Public Attributes inherited from TaleWorlds.MountAndBlade.UsableMachine
string PilotStandingPointTag = "Pilot"
 
string AmmoPickUpTag = "ammopickup"
 
string WaitStandingPointTag = "Wait"
 

Static Public Attributes

const float DefaultDirectionRestriction = MBMath.PI / 1.5f
 
const string MultipleProjectileId = "grapeshot_fire_stack"
 
const string MultipleProjectileFlyingId = "grapeshot_fire_projectile"
 
const int MultipleProjectileCount = 5
 
const string CanGoAmmoPickupTag = "can_pick_up_ammo"
 
const string DontApplySidePenaltyTag = "no_ammo_pick_up_penalty"
 
const string ReloadTag = "reload"
 
const string AmmoLoadTag = "ammoload"
 
const string CameraHolderTag = "cameraHolder"
 
const string ProjectileTag = "projectile"
 
- Static Public Attributes inherited from TaleWorlds.MountAndBlade.UsableMachine
const string UsableMachineParentTag = "machine_parent"
 

Protected Member Functions

virtual void ConsumeAmmo ()
 
virtual void CheckAmmo ()
 
abstract void RegisterAnimationParameters ()
 
abstract void GetSoundEventIndices ()
 
void ChangeProjectileEntityServer (Agent loadingAgent, string missileItemID)
 
virtual void UpdateProjectilePosition ()
 
virtual void OnRangedSiegeWeaponStateChange ()
 
virtual void SetActivationLoadAmmoPoint (bool activate)
 
float GetDetachmentWeightAuxForExternalAmmoWeapons (BattleSideEnum side)
 
override void OnRemoved (int removeReason)
 
virtual float CalculateShootingRange (float heightDifference)
 
virtual void HandleUserAiming (float dt)
 
virtual bool CanRotate ()
 
virtual void ApplyAimChange ()
 
virtual void ApplyCurrentDirectionToEntity ()
 
void OnLoadingAmmoPointUsingCancelled (Agent agent, bool isCanceledBecauseOfAnimation)
 
void OnAmmoPickupUsingCancelled (Agent agent, bool isCanceledBecauseOfAnimation)
 
void SendAgentToAmmoPickup (Agent agent)
 
void SendReloaderAgentToOriginalPoint ()
 
void OnRotationStarted ()
 
void OnRotationStopped ()
 
override GameEntity GetEntityToAttachNavMeshFaces ()
 
virtual void UpdateAmmoMesh ()
 
- Protected Member Functions inherited from TaleWorlds.MountAndBlade.SiegeWeapon
float GetUserMultiplierOfWeapon ()
 
virtual float GetDistanceMultiplierOfWeapon (Vec3 weaponPos)
 
virtual float GetMinimumDistanceBetweenPositions (Vec3 position)
 
float GetHitPointMultiplierOfWeapon ()
 
- Protected Member Functions inherited from TaleWorlds.MountAndBlade.UsableMachine
 UsableMachine ()
 
virtual void DebugTick (float dt)
 
override void OnRemoved (int removeReason)
 
virtual float GetWeightOfStandingPoint (StandingPoint sp)
 
virtual float GetDetachmentWeightAux (BattleSideEnum side)
 
virtual bool IsAgentOnInconvenientNavmesh (Agent agent, StandingPoint standingPoint)
 
virtual StandingPoint GetSuitableStandingPointFor (BattleSideEnum side, Agent agent=null, IEnumerable< Agent > agents=null, IEnumerable< AgentValuePair< float > > agentValuePairs=null)
 
- Protected Member Functions inherited from TaleWorlds.MountAndBlade.MissionObject
virtual void AttachDynamicNavmeshToEntity ()
 
virtual GameEntity GetEntityToAttachNavMeshFaces ()
 
override void OnRemoved (int removeReason)
 
- Protected Member Functions inherited from TaleWorlds.Engine.ScriptComponentBehavior
void InvalidateWeakPointersIfValid ()
 
 ScriptComponentBehavior ()
 
virtual void OnRemoved (int removeReason)
 

Static Protected Member Functions

static bool ApproachToAngle (ref float angle, float angleToApproach, bool isMouse, float speed_limit, float dt, float sensitivity)
 

Protected Attributes

bool UsesMouseForAiming
 
GameEntity MissileStartingPositionEntityForSimulation
 
SynchedMissionObject[] SkeletonOwnerObjects
 
string[] SkeletonNames
 
string[] FireAnimations
 
string[] SetUpAnimations
 
int[] FireAnimationIndices
 
int[] SetUpAnimationIndices
 
SynchedMissionObject RotationObject
 
SoundEvent MoveSound = null
 
SoundEvent ReloadSound = null
 
int MoveSoundIndex = -1
 
int ReloadSoundIndex = -1
 
ItemObject OriginalMissileItem
 
ItemObject LoadedMissileItem
 
List< StandingPointCanPickUpAmmoStandingPoints
 
List< StandingPointReloadStandingPoints
 
List< StandingPointWithWeaponRequirementAmmoPickUpStandingPoints
 
StandingPointWithWeaponRequirement LoadAmmoStandingPoint
 
Dictionary< StandingPoint, float > PilotReservePriorityValues = new Dictionary<StandingPoint, float>()
 
Agent ReloaderAgent
 
StandingPoint ReloaderAgentOriginalPoint
 
bool AttackClickWillReload = false
 
bool WeaponNeedsClickToReload = false
 
int CurrentAmmo = 1
 
float targetDirection
 
float targetReleaseAngle
 
float cameraDirection
 
float cameraReleaseAngle
 
float reloadTargetReleaseAngle
 
float maxRotateSpeed
 
float dontMoveTimer = 0.0f
 
float currentDirection
 The angle of current direction, θ, measured in radians, such that -π≤θ≤π. More...
 
float currentReleaseAngle
 The angle of launch, θ, measured in radians. More...
 
float ReleaseAngleRestrictionCenter
 
float ReleaseAngleRestrictionAngle
 
float timeGapBetweenShootingEndAndReloadingStart = 0.6f
 
float timeGapBetweenShootActionAndProjectileLeaving = 0.0f
 
BattleSideEnum _defaultSide
 
SiegeMachineStonePile _stonePile
 
- Protected Attributes inherited from TaleWorlds.MountAndBlade.SiegeWeapon
bool _spawnedFromSpawner = false
 
- Protected Attributes inherited from TaleWorlds.MountAndBlade.UsableMachine
GameEntity ActiveWaitStandingPoint
 
bool _areUsableStandingPointsVacant = true
 
List< ValueTuple< int, StandingPoint > > _usableStandingPoints
 
bool _isDetachmentRecentlyEvaluated = false
 
float EnemyRangeToStopUsing = 0.0f
 
bool MakeVisibilityCheck = true
 
bool _isDisabledForAI = false
 
List< Formation_userFormations
 
- Protected Attributes inherited from TaleWorlds.MountAndBlade.MissionObject
string NavMeshPrefabName = ""
 
int DynamicNavmeshIdStart = 0
 

Properties

WeaponState State [get, set]
 
virtual float MaximumBallisticError [get]
 
abstract float ShootingSpeed [get]
 
virtual Vec3 CanShootAtPointCheckingOffset [get]
 
GameEntity cameraHolder [get]
 
SynchedMissionObject Projectile [get]
 
Vec3 MissleStartingPositionForSimulation [get]
 
SynchedMissionObject SkeletonOwnerObject [set]
 
string SkeletonName [set]
 
string FireAnimation [set]
 
string SetUpAnimation [set]
 
int FireAnimationIndex [set]
 
int SetUpAnimationIndex [set]
 
int AmmoCount [get, protected set]
 
virtual bool HasAmmo [get, set]
 
virtual float DirectionRestriction [get]
 Central angle of restriction circular sector of weapon's direction, θ, measured in radians, such that 0<θ≤π/2. More...
 
Vec3 OriginalDirection [get]
 
virtual float HorizontalAimSensitivity [get]
 
virtual float VerticalAimSensitivity [get]
 
virtual Vec3 ShootingDirection [get]
 
virtual Vec3 VisualizationShootingDirection [get]
 
virtual Vec3 ProjectileEntityCurrentGlobalPosition [get]
 
override BattleSideEnum Side [get]
 
- Properties inherited from TaleWorlds.MountAndBlade.SiegeWeapon
bool IsUsed [get]
 
virtual BattleSideEnum Side [get]
 
override bool HasWaitFrame [get]
 
override bool IsDeactivated [get]
 
- Properties inherited from TaleWorlds.MountAndBlade.UsableMachine
List< StandingPointStandingPoints [get]
 
StandingPoint PilotStandingPoint [get]
 
List< GameEntityWaitStandingPoints [get]
 
DestructableComponent DestructionComponent [get]
 
bool IsDestructible [get]
 
bool IsDestroyed [get]
 
Agent PilotAgent [get]
 
bool IsLoose [get]
 
UsableMachineAIBase Ai [get]
 
virtual FocusableObjectType FocusableObjectType [get]
 
StandingPoint CurrentlyUsedAmmoPickUpPoint [get, set]
 
bool HasAIPickingUpAmmo [get]
 
IReadOnlyList< FormationUserFormations [get]
 
IEnumerable< AgentUsers [get]
 
int UserCountNotInStruckAction [get]
 
int UserCountIncludingInStruckAction [get]
 
virtual int MaxUserCount [get]
 
virtual bool HasWaitFrame [get]
 
MatrixFrame WaitFrame [get]
 
GameEntity WaitEntity [get]
 
virtual bool IsDeactivated [get]
 
- Properties inherited from TaleWorlds.MountAndBlade.SynchedMissionObject
uint Color [get]
 
uint Color2 [get]
 
bool SynchronizeCompleted [get]
 
- Properties inherited from TaleWorlds.MountAndBlade.MissionObject
MissionObjectId Id [get, set]
 
bool IsDisabled [get]
 
bool CreatedAtRuntime [get]
 
- Properties inherited from TaleWorlds.Engine.ScriptComponentBehavior
GameEntity GameEntity [get]
 
ManagedScriptComponent ScriptComponent [get]
 
ManagedScriptHolder ManagedScriptHolder [get]
 
Scene Scene [get]
 
- Properties inherited from TaleWorlds.MountAndBlade.IFocusable
FocusableObjectType FocusableObjectType [get]
 
- Properties inherited from TaleWorlds.MountAndBlade.IDetachment
IEnumerable< AgentAgents [get]
 Detached agents of this detachment More...
 
IReadOnlyList< FormationUserFormations [get]
 
bool IsLoose [get]
 

Events

OnSiegeWeaponReloadDone OnReloadDone
 
Action< RangedSiegeWeapon, AgentOnAgentLoadsMachine
 

Additional Inherited Members

- Static Protected Attributes inherited from TaleWorlds.MountAndBlade.MissionObject
const int InsideNavMeshIdLocal = 1
 
const int EnterNavMeshIdLocal = 2
 
const int ExitNavMeshIdLocal = 3
 
const int BlockerNavMeshIdLocal = 4
 
const int ExtraNavMesh1IdLocal = 5
 
const int ExtraNavMesh2IdLocal = 6
 
const int ExtraNavMesh3IdLocal = 7
 

Member Enumeration Documentation

◆ WeaponState

◆ FiringFocus

◆ CameraState

Member Function Documentation

◆ OnSiegeWeaponReloadDone()

delegate void TaleWorlds.MountAndBlade.RangedSiegeWeapon.OnSiegeWeaponReloadDone ( )

◆ ConsumeAmmo()

virtual void TaleWorlds.MountAndBlade.RangedSiegeWeapon.ConsumeAmmo ( )
protectedvirtual

◆ SetAmmo()

virtual void TaleWorlds.MountAndBlade.RangedSiegeWeapon.SetAmmo ( int  ammoLeft)
virtual

◆ CheckAmmo()

virtual void TaleWorlds.MountAndBlade.RangedSiegeWeapon.CheckAmmo ( )
protectedvirtual

◆ RegisterAnimationParameters()

abstract void TaleWorlds.MountAndBlade.RangedSiegeWeapon.RegisterAnimationParameters ( )
protectedpure virtual

◆ GetSoundEventIndices()

abstract void TaleWorlds.MountAndBlade.RangedSiegeWeapon.GetSoundEventIndices ( )
protectedpure virtual

◆ ChangeProjectileEntityServer()

void TaleWorlds.MountAndBlade.RangedSiegeWeapon.ChangeProjectileEntityServer ( Agent  loadingAgent,
string  missileItemID 
)
protected

◆ ChangeProjectileEntityClient()

void TaleWorlds.MountAndBlade.RangedSiegeWeapon.ChangeProjectileEntityClient ( int  index)

◆ ReadFromNetwork()

override bool TaleWorlds.MountAndBlade.RangedSiegeWeapon.ReadFromNetwork ( )
virtual

◆ WriteToNetwork()

override void TaleWorlds.MountAndBlade.RangedSiegeWeapon.WriteToNetwork ( )
virtual

◆ UpdateProjectilePosition()

virtual void TaleWorlds.MountAndBlade.RangedSiegeWeapon.UpdateProjectilePosition ( )
protectedvirtual

◆ IsInRangeToCheckAlternativePoints()

override bool TaleWorlds.MountAndBlade.RangedSiegeWeapon.IsInRangeToCheckAlternativePoints ( Agent  agent)
virtual

◆ GetBestPointAlternativeTo()

override StandingPoint TaleWorlds.MountAndBlade.RangedSiegeWeapon.GetBestPointAlternativeTo ( StandingPoint  standingPoint,
Agent  agent 
)
virtual

◆ OnRangedSiegeWeaponStateChange()

virtual void TaleWorlds.MountAndBlade.RangedSiegeWeapon.OnRangedSiegeWeaponStateChange ( )
protectedvirtual

◆ SetActivationLoadAmmoPoint()

virtual void TaleWorlds.MountAndBlade.RangedSiegeWeapon.SetActivationLoadAmmoPoint ( bool  activate)
protectedvirtual

◆ GetDetachmentWeightAuxForExternalAmmoWeapons()

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.GetDetachmentWeightAuxForExternalAmmoWeapons ( BattleSideEnum  side)
protected

◆ GetTickRequirement()

override TickRequirement TaleWorlds.MountAndBlade.RangedSiegeWeapon.GetTickRequirement ( )
virtual

◆ ToggleTrajectoryVisibility()

void TaleWorlds.MountAndBlade.RangedSiegeWeapon.ToggleTrajectoryVisibility ( bool  isVisible)

◆ OnRemoved()

override void TaleWorlds.MountAndBlade.RangedSiegeWeapon.OnRemoved ( int  removeReason)
protectedvirtual

◆ CalculateShootingRange()

virtual float TaleWorlds.MountAndBlade.RangedSiegeWeapon.CalculateShootingRange ( float  heightDifference)
protectedvirtual

◆ ApproachToAngle()

static bool TaleWorlds.MountAndBlade.RangedSiegeWeapon.ApproachToAngle ( ref float  angle,
float  angleToApproach,
bool  isMouse,
float  speed_limit,
float  dt,
float  sensitivity 
)
staticprotected

◆ HandleUserAiming()

virtual void TaleWorlds.MountAndBlade.RangedSiegeWeapon.HandleUserAiming ( float  dt)
protectedvirtual

◆ GiveInput()

void TaleWorlds.MountAndBlade.RangedSiegeWeapon.GiveInput ( float  inputX,
float  inputY 
)

◆ GiveExactInput()

void TaleWorlds.MountAndBlade.RangedSiegeWeapon.GiveExactInput ( float  targetX,
float  targetY 
)

◆ CanRotate()

virtual bool TaleWorlds.MountAndBlade.RangedSiegeWeapon.CanRotate ( )
protectedvirtual

◆ ApplyAimChange()

virtual void TaleWorlds.MountAndBlade.RangedSiegeWeapon.ApplyAimChange ( )
protectedvirtual

◆ ApplyCurrentDirectionToEntity()

virtual void TaleWorlds.MountAndBlade.RangedSiegeWeapon.ApplyCurrentDirectionToEntity ( )
protectedvirtual

◆ GetTargetDirection()

virtual float TaleWorlds.MountAndBlade.RangedSiegeWeapon.GetTargetDirection ( Vec3  target)
virtual
Parameters
targetThe target point to be hit
Returns
An angle, θ, measured in radians, such that -π≤θ≤π.

◆ GetTargetReleaseAngle()

virtual float TaleWorlds.MountAndBlade.RangedSiegeWeapon.GetTargetReleaseAngle ( Vec3  target)
virtual
Parameters
targetThe target point to be hit.
Returns
An angle, θ, measured in radians, such that -π/2 ≤θ≤π/2.

◆ AimAtTarget()

virtual bool TaleWorlds.MountAndBlade.RangedSiegeWeapon.AimAtTarget ( Vec3  target)
virtual
Parameters
currentThe angle of current direction which will be rotated, θ, measured in radians, such that -π≤θ≤π.
targetThe angle of target direction, θ, measured in radians, such that -π≤θ≤π.
deltaThe maximum angle of rotation allowed, θ, measured in radians, such that 0≤θ≤2π.
hasRotatedIf any rotation has been applied or not

Changes weapon's direction and angle of release to aim at the param target.

Parameters
targetThe target point to be aimed at.
Returns
Returns if aiming changed or not.

◆ AimAtRotation()

virtual void TaleWorlds.MountAndBlade.RangedSiegeWeapon.AimAtRotation ( float  horizontalRotation,
float  verticalRotation 
)
virtual

◆ OnLoadingAmmoPointUsingCancelled()

void TaleWorlds.MountAndBlade.RangedSiegeWeapon.OnLoadingAmmoPointUsingCancelled ( Agent  agent,
bool  isCanceledBecauseOfAnimation 
)
protected

◆ OnAmmoPickupUsingCancelled()

void TaleWorlds.MountAndBlade.RangedSiegeWeapon.OnAmmoPickupUsingCancelled ( Agent  agent,
bool  isCanceledBecauseOfAnimation 
)
protected

◆ SendAgentToAmmoPickup()

void TaleWorlds.MountAndBlade.RangedSiegeWeapon.SendAgentToAmmoPickup ( Agent  agent)
protected

◆ SendReloaderAgentToOriginalPoint()

void TaleWorlds.MountAndBlade.RangedSiegeWeapon.SendReloaderAgentToOriginalPoint ( )
protected

◆ Shoot()

bool TaleWorlds.MountAndBlade.RangedSiegeWeapon.Shoot ( )
Returns
Returns if shot has been made or not

◆ ManualReload()

void TaleWorlds.MountAndBlade.RangedSiegeWeapon.ManualReload ( )

◆ AiRequestsShoot()

void TaleWorlds.MountAndBlade.RangedSiegeWeapon.AiRequestsShoot ( )

◆ AiRequestsManualReload()

void TaleWorlds.MountAndBlade.RangedSiegeWeapon.AiRequestsManualReload ( )

◆ OnRotationStarted()

void TaleWorlds.MountAndBlade.RangedSiegeWeapon.OnRotationStarted ( )
protected

◆ OnRotationStopped()

void TaleWorlds.MountAndBlade.RangedSiegeWeapon.OnRotationStopped ( )
protected

◆ GetSiegeEngineType()

◆ CanShootAtBox()

bool TaleWorlds.MountAndBlade.RangedSiegeWeapon.CanShootAtBox ( Vec3  boxMin,
Vec3  boxMax,
uint  attempts = 5 
)

◆ CanShootAtBoxSimplified()

bool TaleWorlds.MountAndBlade.RangedSiegeWeapon.CanShootAtBoxSimplified ( Vec3  boxMin,
Vec3  boxMax 
)

◆ CanShootAtAgent()

bool TaleWorlds.MountAndBlade.RangedSiegeWeapon.CanShootAtAgent ( Agent  agent)

◆ CanShootAtPoint()

bool TaleWorlds.MountAndBlade.RangedSiegeWeapon.CanShootAtPoint ( Vec3  target)

◆ GetOrder()

override OrderType TaleWorlds.MountAndBlade.RangedSiegeWeapon.GetOrder ( BattleSideEnum  side)
virtual

◆ GetEntityToAttachNavMeshFaces()

override GameEntity TaleWorlds.MountAndBlade.RangedSiegeWeapon.GetEntityToAttachNavMeshFaces ( )
protectedvirtual

◆ ProcessTargetValue()

◆ UpdateAmmoMesh()

virtual void TaleWorlds.MountAndBlade.RangedSiegeWeapon.UpdateAmmoMesh ( )
protectedvirtual

Member Data Documentation

◆ DefaultDirectionRestriction

const float TaleWorlds.MountAndBlade.RangedSiegeWeapon.DefaultDirectionRestriction = MBMath.PI / 1.5f
static

◆ MultipleProjectileId

const string TaleWorlds.MountAndBlade.RangedSiegeWeapon.MultipleProjectileId = "grapeshot_fire_stack"
static

◆ MultipleProjectileFlyingId

const string TaleWorlds.MountAndBlade.RangedSiegeWeapon.MultipleProjectileFlyingId = "grapeshot_fire_projectile"
static

◆ MultipleProjectileCount

const int TaleWorlds.MountAndBlade.RangedSiegeWeapon.MultipleProjectileCount = 5
static

◆ CanGoAmmoPickupTag

const string TaleWorlds.MountAndBlade.RangedSiegeWeapon.CanGoAmmoPickupTag = "can_pick_up_ammo"
static

◆ DontApplySidePenaltyTag

const string TaleWorlds.MountAndBlade.RangedSiegeWeapon.DontApplySidePenaltyTag = "no_ammo_pick_up_penalty"
static

◆ ReloadTag

const string TaleWorlds.MountAndBlade.RangedSiegeWeapon.ReloadTag = "reload"
static

◆ AmmoLoadTag

const string TaleWorlds.MountAndBlade.RangedSiegeWeapon.AmmoLoadTag = "ammoload"
static

◆ CameraHolderTag

const string TaleWorlds.MountAndBlade.RangedSiegeWeapon.CameraHolderTag = "cameraHolder"
static

◆ ProjectileTag

const string TaleWorlds.MountAndBlade.RangedSiegeWeapon.ProjectileTag = "projectile"
static

◆ MissileItemID

string TaleWorlds.MountAndBlade.RangedSiegeWeapon.MissileItemID

◆ UsesMouseForAiming

bool TaleWorlds.MountAndBlade.RangedSiegeWeapon.UsesMouseForAiming
protected

◆ Focus

FiringFocus TaleWorlds.MountAndBlade.RangedSiegeWeapon.Focus

◆ MissileStartingPositionEntityForSimulation

GameEntity TaleWorlds.MountAndBlade.RangedSiegeWeapon.MissileStartingPositionEntityForSimulation
protected

◆ SkeletonOwnerObjects

SynchedMissionObject [] TaleWorlds.MountAndBlade.RangedSiegeWeapon.SkeletonOwnerObjects
protected

◆ SkeletonNames

string [] TaleWorlds.MountAndBlade.RangedSiegeWeapon.SkeletonNames
protected

◆ FireAnimations

string [] TaleWorlds.MountAndBlade.RangedSiegeWeapon.FireAnimations
protected

◆ SetUpAnimations

string [] TaleWorlds.MountAndBlade.RangedSiegeWeapon.SetUpAnimations
protected

◆ FireAnimationIndices

int [] TaleWorlds.MountAndBlade.RangedSiegeWeapon.FireAnimationIndices
protected

◆ SetUpAnimationIndices

int [] TaleWorlds.MountAndBlade.RangedSiegeWeapon.SetUpAnimationIndices
protected

◆ RotationObject

SynchedMissionObject TaleWorlds.MountAndBlade.RangedSiegeWeapon.RotationObject
protected

◆ MoveSound

SoundEvent TaleWorlds.MountAndBlade.RangedSiegeWeapon.MoveSound = null
protected

◆ ReloadSound

SoundEvent TaleWorlds.MountAndBlade.RangedSiegeWeapon.ReloadSound = null
protected

◆ MoveSoundIndex

int TaleWorlds.MountAndBlade.RangedSiegeWeapon.MoveSoundIndex = -1
protected

◆ ReloadSoundIndex

int TaleWorlds.MountAndBlade.RangedSiegeWeapon.ReloadSoundIndex = -1
protected

◆ OriginalMissileItem

ItemObject TaleWorlds.MountAndBlade.RangedSiegeWeapon.OriginalMissileItem
protected

◆ LoadedMissileItem

ItemObject TaleWorlds.MountAndBlade.RangedSiegeWeapon.LoadedMissileItem
protected

◆ CanPickUpAmmoStandingPoints

List<StandingPoint> TaleWorlds.MountAndBlade.RangedSiegeWeapon.CanPickUpAmmoStandingPoints
protected

◆ ReloadStandingPoints

List<StandingPoint> TaleWorlds.MountAndBlade.RangedSiegeWeapon.ReloadStandingPoints
protected

◆ AmmoPickUpStandingPoints

List<StandingPointWithWeaponRequirement> TaleWorlds.MountAndBlade.RangedSiegeWeapon.AmmoPickUpStandingPoints
protected

◆ LoadAmmoStandingPoint

StandingPointWithWeaponRequirement TaleWorlds.MountAndBlade.RangedSiegeWeapon.LoadAmmoStandingPoint
protected

◆ PilotReservePriorityValues

Dictionary<StandingPoint, float> TaleWorlds.MountAndBlade.RangedSiegeWeapon.PilotReservePriorityValues = new Dictionary<StandingPoint, float>()
protected

◆ ReloaderAgent

Agent TaleWorlds.MountAndBlade.RangedSiegeWeapon.ReloaderAgent
protected

◆ ReloaderAgentOriginalPoint

StandingPoint TaleWorlds.MountAndBlade.RangedSiegeWeapon.ReloaderAgentOriginalPoint
protected

◆ AttackClickWillReload

bool TaleWorlds.MountAndBlade.RangedSiegeWeapon.AttackClickWillReload = false
protected

◆ WeaponNeedsClickToReload

bool TaleWorlds.MountAndBlade.RangedSiegeWeapon.WeaponNeedsClickToReload = false
protected

◆ startingAmmoCount

int TaleWorlds.MountAndBlade.RangedSiegeWeapon.startingAmmoCount = 20

◆ CurrentAmmo

int TaleWorlds.MountAndBlade.RangedSiegeWeapon.CurrentAmmo = 1
protected

◆ targetDirection

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.targetDirection
protected

◆ targetReleaseAngle

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.targetReleaseAngle
protected

◆ cameraDirection

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.cameraDirection
protected

◆ cameraReleaseAngle

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.cameraReleaseAngle
protected

◆ reloadTargetReleaseAngle

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.reloadTargetReleaseAngle
protected

◆ maxRotateSpeed

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.maxRotateSpeed
protected

◆ dontMoveTimer

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.dontMoveTimer = 0.0f
protected

◆ currentDirection

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.currentDirection
protected

◆ currentReleaseAngle

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.currentReleaseAngle
protected

◆ TopReleaseAngleRestriction

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.TopReleaseAngleRestriction = MBMath.PI / 2.0f

Central angle of restriction circular sector of weapon's release angle, θ, measured in radians, such that 0<θ≤π/2.

◆ BottomReleaseAngleRestriction

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.BottomReleaseAngleRestriction = -MBMath.PI / 2.0f

◆ ReleaseAngleRestrictionCenter

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.ReleaseAngleRestrictionCenter
protected

◆ ReleaseAngleRestrictionAngle

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.ReleaseAngleRestrictionAngle
protected

◆ timeGapBetweenShootingEndAndReloadingStart

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.timeGapBetweenShootingEndAndReloadingStart = 0.6f
protected

◆ timeGapBetweenShootActionAndProjectileLeaving

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.timeGapBetweenShootActionAndProjectileLeaving = 0.0f
protected

◆ _defaultSide

BattleSideEnum TaleWorlds.MountAndBlade.RangedSiegeWeapon._defaultSide
protected

◆ VisualizeReleaseTrajectoryAngle

float TaleWorlds.MountAndBlade.RangedSiegeWeapon.VisualizeReleaseTrajectoryAngle

◆ _stonePile

SiegeMachineStonePile TaleWorlds.MountAndBlade.RangedSiegeWeapon._stonePile
protected

Property Documentation

◆ State

WeaponState TaleWorlds.MountAndBlade.RangedSiegeWeapon.State
getset

◆ MaximumBallisticError

virtual float TaleWorlds.MountAndBlade.RangedSiegeWeapon.MaximumBallisticError
getprotected

◆ ShootingSpeed

abstract float TaleWorlds.MountAndBlade.RangedSiegeWeapon.ShootingSpeed
getprotected

◆ CanShootAtPointCheckingOffset

virtual Vec3 TaleWorlds.MountAndBlade.RangedSiegeWeapon.CanShootAtPointCheckingOffset
get

◆ cameraHolder

GameEntity TaleWorlds.MountAndBlade.RangedSiegeWeapon.cameraHolder
get

◆ Projectile

SynchedMissionObject TaleWorlds.MountAndBlade.RangedSiegeWeapon.Projectile
getprotected

◆ MissleStartingPositionForSimulation

Vec3 TaleWorlds.MountAndBlade.RangedSiegeWeapon.MissleStartingPositionForSimulation
getprotected

◆ SkeletonOwnerObject

SynchedMissionObject TaleWorlds.MountAndBlade.RangedSiegeWeapon.SkeletonOwnerObject
setprotected

◆ SkeletonName

string TaleWorlds.MountAndBlade.RangedSiegeWeapon.SkeletonName
setprotected

◆ FireAnimation

string TaleWorlds.MountAndBlade.RangedSiegeWeapon.FireAnimation
setprotected

◆ SetUpAnimation

string TaleWorlds.MountAndBlade.RangedSiegeWeapon.SetUpAnimation
setprotected

◆ FireAnimationIndex

int TaleWorlds.MountAndBlade.RangedSiegeWeapon.FireAnimationIndex
setprotected

◆ SetUpAnimationIndex

int TaleWorlds.MountAndBlade.RangedSiegeWeapon.SetUpAnimationIndex
setprotected

◆ AmmoCount

int TaleWorlds.MountAndBlade.RangedSiegeWeapon.AmmoCount
getprotected set

◆ HasAmmo

virtual bool TaleWorlds.MountAndBlade.RangedSiegeWeapon.HasAmmo
getsetprotected

◆ DirectionRestriction

virtual float TaleWorlds.MountAndBlade.RangedSiegeWeapon.DirectionRestriction
get

◆ OriginalDirection

Vec3 TaleWorlds.MountAndBlade.RangedSiegeWeapon.OriginalDirection
get

◆ HorizontalAimSensitivity

virtual float TaleWorlds.MountAndBlade.RangedSiegeWeapon.HorizontalAimSensitivity
getprotected

◆ VerticalAimSensitivity

virtual float TaleWorlds.MountAndBlade.RangedSiegeWeapon.VerticalAimSensitivity
getprotected

◆ ShootingDirection

virtual Vec3 TaleWorlds.MountAndBlade.RangedSiegeWeapon.ShootingDirection
getprotected

◆ VisualizationShootingDirection

virtual Vec3 TaleWorlds.MountAndBlade.RangedSiegeWeapon.VisualizationShootingDirection
getprotected

◆ ProjectileEntityCurrentGlobalPosition

virtual Vec3 TaleWorlds.MountAndBlade.RangedSiegeWeapon.ProjectileEntityCurrentGlobalPosition
get

◆ Side

override BattleSideEnum TaleWorlds.MountAndBlade.RangedSiegeWeapon.Side
get

Event Documentation

◆ OnReloadDone

OnSiegeWeaponReloadDone TaleWorlds.MountAndBlade.RangedSiegeWeapon.OnReloadDone

◆ OnAgentLoadsMachine

Action<RangedSiegeWeapon, Agent> TaleWorlds.MountAndBlade.RangedSiegeWeapon.OnAgentLoadsMachine