MCPcopy Create free account
hub / github.com/bwapi/bwapi / EmulateOrder

Method EmulateOrder

bwapi/BWScriptEmulator/OrderEmulate.cpp:16–70  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14}
15
16void UnitWrap::EmulateOrder()
17{
18 // Update all countdown timers (order timer is an important update)
19 UpdateOrderTimers();
20
21 // Safety check so that we don't interrupt orders (for some reason the AI enjoys spam)
22 if ( Broodwar->getFrameCount() <= (pUnit->getLastCommandFrame() + Broodwar->getLatencyFrames()) )
23 return;
24
25 // Switch for emulated order IDs
26 switch ( GetUnitOrder() )
27 {
28 case Orders::Enum::JunkYardDog:
29 RunJunkYardDog();
30 break;
31 case Orders::Enum::ComputerAI:
32 RunComputerAI();
33 break;
34 case Orders::Enum::Guard:
35 RunGuard();
36 break;
37 case Orders::Enum::GuardPost:
38 RunGuardPost();
39 break;
40 case Orders::Enum::ComputerReturn:
41 RunComputerReturn();
42 break;
43 case Orders::Enum::CastDarkSwarm:
44 case Orders::Enum::CastDefensiveMatrix:
45 case Orders::Enum::CastDisruptionWeb:
46 case Orders::Enum::CastEMPShockwave:
47 case Orders::Enum::CastEnsnare:
48 case Orders::Enum::CastFeedback:
49 case Orders::Enum::CastHallucination:
50 case Orders::Enum::CastInfestation:
51 case Orders::Enum::CastIrradiate:
52 case Orders::Enum::CastLockdown:
53 case Orders::Enum::CastMaelstrom:
54 case Orders::Enum::CastMindControl:
55 case Orders::Enum::CastNuclearStrike:
56 case Orders::Enum::CastOpticalFlare:
57 case Orders::Enum::CastParasite:
58 case Orders::Enum::CastPlague:
59 case Orders::Enum::CastPsionicStorm:
60 case Orders::Enum::CastRecall:
61 case Orders::Enum::CastRestoration:
62 case Orders::Enum::CastScannerSweep:
63 case Orders::Enum::CastSpawnBroodlings:
64 case Orders::Enum::CastStasisField:
65 case Orders::Enum::FireYamatoGun:
66 if ( pUnit->isIdle() )
67 AssignComputerIdleOrder();
68 break;
69 }
70}
71
72BWAPI::Unit UnitWrap::FindNewAttackTarget() const
73{

Callers 1

onFrameMethod · 0.80

Calls 4

getLastCommandFrameMethod · 0.80
isIdleMethod · 0.80
getFrameCountMethod · 0.45
getLatencyFramesMethod · 0.45

Tested by

no test coverage detected