Variable; AttackStyles - HWRM/KarosGraveyard GitHub Wiki

Description

A reference for the variables contained in Attack Style scripts.

Attack Actions (pulled from engine)

Attack Actions
NoAction
PickNewTarget
FlightManeuver
InterpolateTarget
MoveRoundTarget
StrafeReRange
StrafeReHeight
StrafeReSpin
JustShoot
MoveToTargetAndShoot
AttackRun
DogFight
CircleStrafe
FlyRound
FaceTarget

Strike group facing types

strikeGroupFacingPolicy
LeaderFacing
TargetFacing
FlightFacing

Example

Data =
{
	RandomActions = {},
	BeingAttackedActions = {},
	FiringActions = {},
}
  • AttackStyleName = <sDescription>: valid observed values are FaceTarget, AttackRun, JustShoot, CircleStrafe, FlyRound, Kamikaze, MoveToTargetAndShoot, DogFight, FollowLeader

Variables

  • angleFromUp = <iAmount>: Ship is happy if we are less than this angle from the target up vector. (FaceTarget)
  • angleVariation = <fAmount>: Multiply CircleSegmentAngle by from 1-AngleVariation to 1+AngleVariation. (FlyRound)
  • approachAngle = 1,
  • attackEngineMult = 1,
  • attackEngineMultAg = 1.0,
  • attackEngineMultEv = 1.05,
  • breakEngineMult = 1,
  • breakEngineMultAg = 1.02,
  • breakEngineMultEv = 1.05,
  • axisRotation = <fAmount>: Axis used for circling will be rotated by between -/+ this amount each step of the circle. (FlyRound)
  • circleHeight = <fAmount>: Circle midpoint will be this far above the target centre. (FlyRound)
  • circleHeightAg = -100.0,
  • circleHeightEv = -400.0,
  • circleSegmentAngle = <fAmount>: Angle between points on the circle. (FlyRound)
  • coordSysToUse = <sDescription>: Valid observed values are Attacker, Target, TargetAttackPoint. (AttackRun)
  • distanceFromTarget = <fAmount>: Ships will fly at this distance from the target's surface. (FlyRound)
  • distanceFromTargetAg = 1400.0,
  • distanceFromTargetEv = 1600.0,
  • distanceFromTargetToBreak = <fAmount>: Break off the attack run when this distance from the target. (AttackRun)
  • distanceFromTargetToBreakAg = {500.0,700,1},
  • distanceFromTargetToBreakEv = {700.0,800,1},
  • distanceVariation = <iAmount>: Multiply DistanceFromTarget by from 1-DistanceVariation to 1+DistanceVariation. (FlyRound)
  • distanceVariationAg = 0.1,
  • distanceVariationEv = 0.2,
  • faceTarget = <bValue>: Face target horizontally and vertically. Valid values are 0 or 1. (CircleStrafe)
  • faceTargetHorizontal = <bValue>: Face the target horizontally only, don't tilt up or down. Valid values are 0 or 1. (JustShoot)
  • faceTargetVertical = <bValue>: Face the target vertically only, don't rotate left or right. Valid values are 0 or 1. (JustShoot)
  • facingAngle = <iAmount>: (FaceTarget)
  • flyToLeaderBecauseItsFarOutOfRangeDelay = 2.0,
  • flyToLeaderBecauseItsMovingAwayDelay = 2.0,
  • flyToAboveTheTargetDelay = <fAmount>: Delays for the things the attack style can do, stated in seconds. (FaceTarget)
  • flyToTargetBecauseItsFarOutOfRangeDelay = <fAmount>: Delays for the things the attack style can do, stated in seconds. (FaceTarget)
  • flyToTargetBecauseItsMovingAwayDelay = <fAmount>: Delays for the things the attack style can do, stated in seconds. (FaceTarget)
  • happilySameHeight = <fAmount>: We want to be less than this many metres different in height from our target. (MoveToTargetAndShoot)
  • horizontalFlip = <fAmount>: Data for picking the position in space to fly to when we break off the attack run. 0-1 range. (AttackRun)
  • horizontalMax = <fAmount>: Data for picking the position in space to fly to when we break off the attack run. 0-1 range. (AttackRun)
  • horizontalMin = <fAmount>: Data for picking the position in space to fly to when we break off the attack run. 0-1 range. (AttackRun)
  • howToBreakFormation = <sDescription>: valid observed values are StraightAndScatter, BreakImmediately, ClimbAndPeelOff
  • inRangeFactor = <fAmount>: Once past (this amount * the weapon range) the ship will stop and turn it's side to the target. (FaceTarget)
  • inRangeMultiplier = <fAmount>: Multiply (weapons?) range by this to work out when we are in range and can stop moving. (CircleStrafe)
  • m_tooLongOutOfRange = <fAmount>: When facing faster targets we will start moving after they have been out of range for this long. (FaceTarget, MoveToTargetAndShoot)
  • maxAxisRotation = <fAmount>: Axis will never be more than this many degrees from vertical. (FlyRound)
  • maxBreakDistance = <fAmount>: Maximum distance to get from the target when breaking away. (AttackRun)
  • maxBreakDistanceAg = {1300.0,1800,1},
  • maxBreakDistanceEv = {1800.0,1900,1},
  • maxSegmentsToCut = <iAmount>: When cutting across the circle skip up to this many segments. (FlyRound)
  • maxTimeToSpendFlyingToAbove = <fAmount>: FaceTarget
  • maxTimeToSpendTryingToMatchHeight = <fAmount>: (MoveToTargetAndShoot)
  • minSegmentsToCut = <iAmount>: When cutting across the circle skip at least this many segments. (FlyRound)
  • minSpeedFraction = <fAmount>: Ships will try to go no slower than this fraction of their max speed in a dogfight. (DogFight)
  • moveAttackMaxDistanceMultiplier = <fAmount>: When doing a move attack we will break off after we get further than this multiplied by our max weapon range from the target. (MoveToTargetAndShoot)
  • moveAttackMaxDistanceMultiplier = <fAmount>: When doing a move attack we will break off after we get further than this multiplied by our max weapon range from the target. (FaceTarget)
  • optimumRangeMultiplier = <fAmount>: Our ship radius multiplied by this and then added on to the enemy radius defines the distance which we will try to maintain from the target. (CircleStrafe)
  • percentChanceOfCutting = <fAmount>: Percentage chance that after completing a segment of the circle a ship will cut across the circle. (FlyRound)
  • percentChanceOfCuttingAg = 5.0,
  • percentChanceOfCuttingEv = 0.1,
  • rangeMultiplierForHeight = <fAmount>: Multiply the optimum range by this to work out the +/- bounds for height difference from the target. (CircleStrafe)
  • safeDistanceFromTargetToDoActions = <fAmount>: (AttackRun)
  • safeDistanceFromTargetToDoActionsAg = 500.0,
  • safeDistanceFromTargetToDoActionsEv = 200.0,
  • slideDistanceMultiplier = <fAmount>: Once in range and facing the target we will slide around maintaining heading until we are more than this distance multiplied by our range from the target, then we will fly normally to catch up. (FaceTarget)
  • stopAndFaceTheTargetDelay = <fAmount>: Delays for the things the attack style can do, stated in seconds. (FaceTarget)
  • strikeGroupFaceFlightDir = <bValue>: Make sure strike group members face their flight direction while following the leader rather than face their target as the follow.
  • tooFastMultiplier = <fAmount>: (FaceTarget)
  • tooLongOutOfRange = <fValue>: when facing faster targets we will start moving after they have been out of range for this long.
  • tooSlowSpeed = <fAmount>: (FaceTarget)
  • tryToGetAboveTarget= <bValue> Valid values are 0 or 1. (FaceTarget)
  • tryToMatchHeight = <bValue> Valid values are 0 or 1. (FaceTarget)
  • useTargetUp = <bValue>: Valid values are 0 or 1. (AttackRun)
  • verticalFlip = <fAmount>: Data for picking the position in space to fly to when we break off the attack run. 0-1 range. (AttackRun)
  • verticalMax = <fAmount>: Data for picking the position in space to fly to when we break off the attack run. 0-1 range. (AttackRun)
  • verticalMin = <fAmount>: Data for picking the position in space to fly to when we break off the attack run. 0-1 range. (AttackRun)

Actions Variables

  • Type = <sDescription>: observed valid values are NoAction, PickNewTarget, InterpolateTarget, MoveRoundTarget, FlightManuever, StrafeReRange, StrafeReHeight, StrafeReSpin
  • Weighting = <iAmount>: Contributes to likelihood of event happening.
  • FlightManeuverName = <sDescription>: Name of FlightManuever to play. Corresponds to manuevers listed in flightmanuevers.lua
  • heatCost = <iValue>: cooldown time before event can play again.
  • heatThresh = <iValue>: cooldown time before event can play again.
  • stance = <sDescription>: observed valid values are Ev, Ag, and Pa.
  • minParam = <iAmount>: used for InterpolateTarget, MoveRoundTarget, StrafeReRange, StrafeReHeight, StrafeReSpin
  • maxParam = <iAmount>: used for InterpolateTarget, MoveRoundTarget, StrafeReRange, StrafeReHeight, StrafeReSpin

Related Pages

Variable Reference

Comments

Page Status

Updated Formatting? Yes
Updated for HWRM? Initial

⚠️ **GitHub.com Fallback** ⚠️