|
override UsableMachineAIBase | CreateAIBehaviorObject () |
|
override void | AfterMissionStart () |
|
override SiegeEngineType | GetSiegeEngineType () |
|
override TickRequirement | GetTickRequirement () |
|
override string | GetDescriptionText (GameEntity gameEntity=null) |
|
override TextObject | GetActionTextForStandingPoint (UsableMissionObject usableGameObject) |
|
override TargetFlags | GetTargetFlags () |
|
override float | GetTargetValue (List< Vec3 > weaponPos) |
|
override float | ProcessTargetValue (float baseValue, TargetFlags flags) |
|
void | SetSpawnedFromSpawner () |
|
Public Member Functions inherited from TaleWorlds.MountAndBlade.RangedSiegeWeapon |
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.
|
|
virtual float | GetTargetReleaseAngle (Vec3 target) |
| Calculates the required release angle of this ranged siege weapon to hit the param target.
|
|
virtual bool | AimAtThreat (Threat threat) |
| Rotates the param current direction angle towards the param target direction angle.
|
|
virtual void | AimAtRotation (float horizontalRotation, float verticalRotation) |
|
bool | Shoot () |
| Shoots if it is ready to shoot.
|
|
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 | CanShootAtThreat (Threat threat) |
|
Vec3 | GetEstimatedTargetMovementVector (Vec3 targetCurrentPosition, Vec3 targetVelocity) |
|
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 |
void | SetForcedUse (bool value) |
|
abstract SiegeEngineType | GetSiegeEngineType () |
|
override TickRequirement | GetTickRequirement () |
|
override bool | ShouldAutoLeaveDetachmentWhenDisabled (BattleSideEnum sideEnum) |
|
override bool | AutoAttachUserToFormation (BattleSideEnum sideEnum) |
|
override bool | HasToBeDefendedByUser (BattleSideEnum sideEnum) |
|
GameEntity | GetTargetEntity () |
|
Vec3 | GetTargetingOffset () |
|
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) |
|
T | 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.
|
|
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 bool | ShouldAutoLeaveDetachmentWhenDisabled (BattleSideEnum sideEnum) |
|
virtual bool | AutoAttachUserToFormation (BattleSideEnum sideEnum) |
|
virtual bool | HasToBeDefendedByUser (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.
|
|
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.
|
|
virtual void | OnEndMission () |
|
virtual void | AddStuckMissile (GameEntity missileEntity) |
|
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 | IsAgentUsingOrInterested (Agent agent) |
|
float? | GetWeightOfNextSlot (BattleSideEnum side) |
| Null if there is no vacancy left. Otherwise it is a positive number.
|
|
float | GetDetachmentWeight (BattleSideEnum side) |
|
float | ComputeAndCacheDetachmentWeight (BattleSideEnum side) |
|
float | GetDetachmentWeightFromCache () |
|
void | GetSlotIndexWeightTuples (List< ValueTuple< int, float > > slotIndexWeightTuples) |
|
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 (List< Agent > candidates, out Agent match) |
|
float? | GetWeightOfAgentAtNextSlot (List< ValueTuple< Agent, float > > agentTemplateScores, out Agent match) |
|
float | GetTemplateWeightOfAgent (Agent candidate) |
|
List< float > | GetTemplateCostsOfAgent (Agent candidate, List< float > oldValue) |
|
float | GetExactCostOfAgentAtSlot (Agent candidate, int slotIndex) |
|
float | GetWeightOfOccupiedSlot (Agent detachedAgent) |
|
float? | GetWeightOfAgentAtOccupiedSlot (Agent detachedAgent, List< 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) |
|
WorldFrame? | GetAgentFrame (Agent detachedAgent) |
| Returns null for siege weapons and other detachments that sets scripted frame for the agent. Returns a frame otherwise.
|
|
void | ResetEvaluation () |
|
bool | IsEvaluated () |
|
void | SetAsEvaluated () |
|
void | OnFormationLeave (Formation formation) |
|
TargetFlags | GetTargetFlags () |
|
float | GetTargetValue (List< Vec3 > referencePositions) |
|
GameEntity | GetTargetEntity () |
|
Vec3 | GetTargetingOffset () |
|
BattleSideEnum | GetSide () |
|
GameEntity | Entity () |
|
void | SetSpawnedFromSpawner () |
|
|
Public Types inherited from TaleWorlds.MountAndBlade.RangedSiegeWeapon |
enum | WeaponState {
Invalid = -1
,
Idle = 0
,
WaitingBeforeProjectileLeaving
,
Shooting
,
WaitingAfterShooting
,
WaitingBeforeReloading
,
LoadingAmmo
,
WaitingBeforeIdle
,
Reloading
,
ReloadingPaused
,
NumberOfStates
} |
| 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 {
Troops
,
Walls
,
RangedSiegeWeapons
,
PrimarySiegeWeapons
} |
|
enum | CameraState {
StickToWeapon
,
DontMove
,
MoveDownToReload
,
RememberLastShotDirection
,
FreeMove
,
ApproachToCamera
} |
|
Public Types inherited from TaleWorlds.MountAndBlade.SynchedMissionObject |
enum | SynchFlags : uint {
SynchNone = 0x00000000
,
SynchTransform = 0x00000001
,
SynchAnimation = 0x00000002
,
SynchBodyFlags = 0x00000004
,
SyncColors = 0x00000008
,
SynchAll = 0xffffffff
} |
|
enum | TickRequirement : uint {
None = 0x00000000
,
TickOccasionally = 0x00000001
,
Tick = 0x00000002
,
TickParallel = 0x00000004
,
TickParallel2 = 0x00000008
} |
|
Static Public Attributes inherited from TaleWorlds.MountAndBlade.RangedSiegeWeapon |
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" |
|
Static Protected Member Functions inherited from TaleWorlds.MountAndBlade.RangedSiegeWeapon |
static bool | ApproachToAngle (ref float angle, float angleToApproach, bool isMouse, float speed_limit, float dt, float sensitivity) |
|
Protected Attributes inherited from TaleWorlds.MountAndBlade.RangedSiegeWeapon |
bool | UsesMouseForAiming |
|
GameEntity | MissileStartingPositionEntityForSimulation |
|
Skeleton[] | Skeletons |
|
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 |
|
int | ReloadEndSoundIndex = -1 |
|
ItemObject | OriginalMissileItem |
|
ItemObject | LoadedMissileItem |
|
List< StandingPoint > | CanPickUpAmmoStandingPoints |
|
List< StandingPoint > | ReloadStandingPoints |
|
List< StandingPointWithWeaponRequirement > | AmmoPickUpStandingPoints |
|
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 -π≤θ≤π.
|
|
float | currentReleaseAngle |
| The angle of launch, θ, measured in radians.
|
|
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 |
|
Vec2 | MachinePositionOffsetToStopUsing = Vec2.Zero |
|
bool | MakeVisibilityCheck = true |
|
bool | _isDisabledForAI = false |
|
MBList< Formation > | _userFormations |
|
Protected Attributes inherited from TaleWorlds.MountAndBlade.MissionObject |
string | NavMeshPrefabName = "" |
|
int | DynamicNavmeshIdStart = 0 |
|
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 |
|
Events inherited from TaleWorlds.MountAndBlade.RangedSiegeWeapon |
OnSiegeWeaponReloadDone | OnReloadDone |
|
Action< RangedSiegeWeapon, Agent > | OnAgentLoadsMachine |
|