MCPcopy Create free account
hub / github.com/Phobos-developers/Phobos / ProcessAction

Method ProcessAction

src/Ext/Script/Body.cpp:30–231  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

28ScriptExt::ExtContainer::~ExtContainer() = default;
29
30void ScriptExt::ProcessAction(TeamClass* pTeam)
31{
32 const int action = pTeam->CurrentScript->Type->ScriptActions[pTeam->CurrentScript->CurrentMission].Action;
33 const int argument = pTeam->CurrentScript->Type->ScriptActions[pTeam->CurrentScript->CurrentMission].Argument;
34
35 switch (static_cast<PhobosScripts>(action))
36 {
37 case PhobosScripts::TimedAreaGuard:
38 ScriptExt::ExecuteTimedAreaGuardAction(pTeam);
39 break;
40 case PhobosScripts::LoadIntoTransports:
41 ScriptExt::LoadIntoTransports(pTeam);
42 break;
43 case PhobosScripts::WaitUntilFullAmmo:
44 ScriptExt::WaitUntilFullAmmoAction(pTeam);
45 break;
46 case PhobosScripts::RepeatAttackCloserThreat:
47 // Threats that are close have more priority. Kill until no more targets.
48 ScriptExt::Mission_Attack(pTeam);
49 break;
50 case PhobosScripts::RepeatAttackFartherThreat:
51 // Threats that are far have more priority. Kill until no more targets.
52 ScriptExt::Mission_Attack(pTeam, 1);
53 break;
54 case PhobosScripts::RepeatAttackCloser:
55 // Closer targets from Team Leader have more priority. Kill until no more targets.
56 ScriptExt::Mission_Attack(pTeam, 2);
57 break;
58 case PhobosScripts::RepeatAttackFarther:
59 // Farther targets from Team Leader have more priority. Kill until no more targets.
60 ScriptExt::Mission_Attack(pTeam, 3);
61 break;
62 case PhobosScripts::SingleAttackCloserThreat:
63 // Threats that are close have more priority. 1 kill only (good for xx=49,0 combos)
64 ScriptExt::Mission_Attack(pTeam, 0, false);
65 break;
66 case PhobosScripts::SingleAttackFartherThreat:
67 // Threats that are far have more priority. 1 kill only (good for xx=49,0 combos)
68 ScriptExt::Mission_Attack(pTeam, 1, false);
69 break;
70 case PhobosScripts::SingleAttackCloser:
71 // Closer targets from Team Leader have more priority. 1 kill only (good for xx=49,0 combos)
72 ScriptExt::Mission_Attack(pTeam, 2, false);
73 break;
74 case PhobosScripts::SingleAttackFarther:
75 // Farther targets from Team Leader have more priority. 1 kill only (good for xx=49,0 combos)
76 ScriptExt::Mission_Attack(pTeam, 3, false);
77 break;
78 case PhobosScripts::DecreaseCurrentAITriggerWeight:
79 ScriptExt::DecreaseCurrentTriggerWeight(pTeam);
80 break;
81 case PhobosScripts::IncreaseCurrentAITriggerWeight:
82 ScriptExt::IncreaseCurrentTriggerWeight(pTeam);
83 break;
84 case PhobosScripts::RepeatAttackTypeCloserThreat:
85 // Threats specific targets that are close have more priority. Kill until no more targets.
86 ScriptExt::Mission_Attack_List(pTeam);
87 break;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected