Created
September 22, 2016 05:19
-
-
Save sigsegv-mvm/2bb86422784b15a9b5e354cdb08c7672 to your computer and use it in GitHub Desktop.
TFBot Path Cost: Route Types by Action
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
TFBot Path Cost: Route Types by Action | |
DEFAULT_ROUTE: | |
- In MvM, non-MiniBoss bots get a large random factor applied to their path cost to make them spread out more randomly. | |
FASTEST_ROUTE: | |
- No special path cost modifiers. | |
SAFEST_ROUTE: | |
- Applies a 0x-to-4x multiplier to the path cost of nav areas based on recent, nearby combat (within 1000 HU during the last 30 seconds). | |
- Applies a 5x multiplier to the path cost of nav areas that are within range and line-of-sight to an enemy sentry. | |
RETREAT_ROUTE: | |
- No special path cost modifiers. | |
NOTE: This is not a complete list of TFBot actions; actions that don't do any pathing aren't included in this document. | |
GENERIC ACTIONS | |
================================================================== | |
CTFBotAttack::Update SAFEST_ROUTE <== generic attack: in MvM mode and active weapon is melee | |
CTFBotAttack::Update DEFAULT_ROUTE <== generic attack: all other cases | |
CTFBotSeekAndDestroy::RecomputeSeekPath SAFEST_ROUTE <== going after and attacking enemies (basically just deathmatchy behavior) | |
CTFBotMeleeAttack::Update FASTEST_ROUTE <== used by snipers, squad non-leaders, and bots escorting a flag carrier in CTF/MvM | |
CTFBotUseTeleporter::Update FASTEST_ROUTE <== opportunistically using a PvP tele | |
CTFBotRetreatToCover::Update RETREAT_ROUTE <== used in a variety of cases in PvP; but only by spies and engies in MvM | |
PVP HEALTH/AMMO ACTIONS | |
================================================================== | |
CTFBotGetAmmo::OnStart FASTEST_ROUTE <== get ammo | |
CTFBotGetHealth::IsPossible FASTEST_ROUTE <== get health: determining whether there is a route to any health pack | |
CTFBotGetHealth::OnStart SAFEST_ROUTE <== get health: path toward health | |
CTFBotGetHealth::Update SAFEST_ROUTE <== get health: path toward health | |
PVP ANTI-SENTRY ACTIONS | |
================================================================== | |
CTFBotDestroyEnemySentry::Update SAFEST_ROUTE <== non-uber: demoman | |
CTFBotDestroyEnemySentry::Update SAFEST_ROUTE <== non-uber: non-demoman | |
CTFBotDestroyEnemySentry::Update FASTEST_ROUTE <== if ubercharged | |
CTFBotUberAttackEnemySentry::Update FASTEST_ROUTE <== also when ubercharged | |
MISCELLANEOUS MVM ACTIONS | |
================================================================== | |
CTFBotPushToCapturePoint::Update FASTEST_ROUTE <== initial action of bots with Attributes Aggressive / BehaviorModifiers Push | |
CTFBotNavEntMoveTo::Update FASTEST_ROUTE <== gatebot "go here" action (func_nav_prerequisite) | |
CTFBotEscortSquadLeader::Update FASTEST_ROUTE <== all squad members except the leader (also excludes medics) | |
CTFBotMissionSuicideBomber::Update FASTEST_ROUTE <== sentry busters | |
CAPTURE-THE-FLAG SCENARIO ACTIONS (ALL ALSO USED IN MVM) | |
================================================================== | |
CTFBotFetchFlag::Update DEFAULT_ROUTE <== no one has the flag; running toward it to pick it up | |
CTFBotDeliverFlag::Update FASTEST_ROUTE <== carrying the flag; take it toward the capture zone | |
CTFBotEscortFlagCarrier::Update FASTEST_ROUTE <== a teammate has the flag; defend them while they run it in | |
CTFBotAttackFlagDefenders::Update DEFAULT_ROUTE <== enough teammates are escorting the flag carrier; attack defenders instead | |
CONTROL POINT SCENARIO ACTIONS | |
================================================================== | |
CTFBotCapturePoint::Update SAFEST_ROUTE <== offense: move toward control point | |
CTFBotCapturePoint::Update DEFAULT_ROUTE <== offense: move around once on control point | |
CTFBotDefendPoint::Update DEFAULT_ROUTE <== defense: move to area to defend from | |
CTFBotDefendPoint::Update FASTEST_ROUTE <== defense: chase enemy with melee/flamethrower: non-pyro | |
CTFBotDefendPoint::Update SAFEST_ROUTE <== defense: chase enemy with melee/flamethrower: pyro | |
CTFBotDefendPointBlockCapture::Update DEFAULT_ROUTE <== defense: physically move to point to block it from being captured | |
CTFBotDefendPointBlockCapture::Update DEFAULT_ROUTE | |
PAYLOAD SCENARIO ACTIONS | |
================================================================== | |
CTFBotPayloadPush::Update DEFAULT_ROUTE <== offense: push the cart | |
CTFBotPayloadGuard::Update DEFAULT_ROUTE <== defense: guard the cart | |
CTFBotPayloadBlock::Update DEFAULT_ROUTE <== defense: move close to the cart to prevent it from being pushed | |
PVP ENGINEER ACTIONS | |
================================================================== | |
CTFBotEngineerMoveToBuild::Update SAFEST_ROUTE <== moving to the main build hint location | |
CTFBotEngineerBuildSentryGun::Update FASTEST_ROUTE <== building sentry | |
CTFBotEngineerBuildDispenser::Update FASTEST_ROUTE <== building dispenser | |
CTFBotEngineerBuildTeleportEntrance::Update FASTEST_ROUTE <== building tele entrance | |
CTFBotEngineerBuildTeleportExit::Update FASTEST_ROUTE <== building tele exit | |
CTFBotEngineerBuilding::UpgradeAndMaintainBuildings FASTEST_ROUTE <== default action when buildings are built | |
CTFBotEngineerBuilding::UpgradeAndMaintainBuildings FASTEST_ROUTE | |
CTFBotEngineerBuilding::CheckIfSentryIsOutOfPosition FASTEST_ROUTE | |
MVM ENGINEER ACTIONS | |
================================================================== | |
CTFBotMvMEngineerBuildSentryGun::Update SAFEST_ROUTE <== from spawn (or sentry destroyed) to sentry built | |
CTFBotMvMEngineerBuildTeleportExit::Update FASTEST_ROUTE <== very brief, when he walks over to build his tele | |
CTFBotMvMEngineerIdle::Update SAFEST_ROUTE <== default action when sentry and tele are building/built | |
CTFBotMvMEngineerIdle::Update SAFEST_ROUTE | |
MEDIC ACTIONS | |
================================================================== | |
CTFBotMedicHeal::Update FASTEST_ROUTE <== main medic action in PvP and MvM | |
CTFBotMedicHeal::Update FASTEST_ROUTE | |
CTFBotMedicHeal::SelectPatient FASTEST_ROUTE | |
CTFBotMedicRetreat::OnStart FASTEST_ROUTE <== PvP-only: used when caught without a patient and need to fall back | |
CTFBotMedicRetreat::OnResume FASTEST_ROUTE | |
CTFBotMedicRetreat::OnMoveToFailure FASTEST_ROUTE | |
CTFBotMedicRetreat::OnStuck FASTEST_ROUTE | |
CSelectPrimaryPatient::Inspect FASTEST_ROUTE <== part of CTFBotMedicHeal | |
SNIPER ACTIONS | |
================================================================== | |
CTFBotSniperLurk::Update SAFEST_ROUTE <== main sniper action in PvP and MvM | |
SPY ACTIONS | |
================================================================== | |
CTFBotSpyInfiltrate::Update SAFEST_ROUTE <== PvP-only: initial action | |
CTFBotSpyHide::Update SAFEST_ROUTE <== MvM-only: initial action after teleporting from spawn | |
CTFBotSpyAttack::Update FASTEST_ROUTE <== when going for a backstab | |
CTFBotSpySap::Update FASTEST_ROUTE <== from when a building is targeted until it's been sapped | |
TRAINING MODE ACTIONS | |
================================================================== | |
CTFGotoActionPoint::Update FASTEST_ROUTE | |
CTFTrainingAttackSentryActionPoint::Update FASTEST_ROUTE | |
UNUSED ACTIONS | |
================================================================== | |
CTFBotApproachObject::Update FASTEST_ROUTE | |
CTFBotMoveToVantagePoint::Update FASTEST_ROUTE | |
CTFBotEscort::Update FASTEST_ROUTE | |
CTFBotNavEntDestroyEntity::Update FASTEST_ROUTE |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment