Permalink
Browse files

Update cam2-7 mission.

- Map: Use water triangle correction and move a droid and ground shaker emplacement that caused path difficulties for the AI.
- New assemblies and timer/group management changes suggested by alfred007 to make it work more closely to how it did in 3.1.5.
  • Loading branch information...
KJeff01 committed Nov 5, 2017
1 parent 1dda935 commit f0e096823e43d2fb5cbf204637c5008e9f4a8564
@@ -53,7 +53,7 @@ function camEnemyBaseEliminated_COUplinkBase()
function camEnemyBaseDetected_COMediumBase()
{
var droids = enumArea("mediumBaseCleanup", THE_COLLECTIVE, false).filter(function(obj) {
return obj.type === DROID && !camDef(obj.group) && obj.canHitGround;
return obj.type === DROID && obj.group === null && obj.canHitGround;
});
camManageGroup(camMakeGroup(droids), CAM_ORDER_ATTACK, {
@@ -26,6 +26,13 @@ function camEnemyBaseDetected_COBase1()
function camEnemyBaseDetected_COBase2()
{
hackRemoveMessage("C27_OBJECTIVE2", PROX_MSG, CAM_HUMAN_PLAYER);
var vt = enumArea("COBase2Cleanup", THE_COLLECTIVE, false).filter(function(obj) {
return obj.type === DROID && isVTOL(obj);
});
camManageGroup(camMakeGroup(vt), CAM_ORDER_ATTACK, {
regroup: false,
});
}
function camEnemyBaseDetected_COBase3()
@@ -38,50 +45,53 @@ function camEnemyBaseDetected_COBase4()
hackRemoveMessage("C27_OBJECTIVE4", PROX_MSG, CAM_HUMAN_PLAYER);
}
function baseFourGroupAttack()
function baseThreeVtolAttack()
{
camManageGroup(camMakeGroup("grp2Hovers"), CAM_ORDER_PATROL, {
pos: [
camMakePos("hoverPos1"),
camMakePos("playerLZ"),
camMakePos("hoverPos2"),
],
//fallback: camMakePos("base2HeavyAssembly"),
//morale: 10,
interval: 22000,
var vt = enumArea("vtolGroupBase3", THE_COLLECTIVE, false).filter(function(obj) {
return obj.type === DROID && isVTOL(obj);
});
camManageGroup(camMakeGroup(vt), CAM_ORDER_ATTACK, {
regroup: false,
});
}
camManageGroup(camMakeGroup("vtolGroupBase4"), CAM_ORDER_ATTACK, {
function baseFourVtolAttack()
{
var vt = enumArea("vtolGroupBase4", THE_COLLECTIVE, false).filter(function(obj) {
return obj.type === DROID && isVTOL(obj);
});
camManageGroup(camMakeGroup(vt), CAM_ORDER_ATTACK, {
regroup: false,
});
}
function enableFactories()
function enableFactoriesAndHovers()
{
camEnableFactory("COVtolFactory-b4");
camEnableFactory("COHeavyFac-Arti-b2");
camEnableFactory("COCyborgFac-b2");
camEnableFactory("COCyborgFac-b3");
camEnableFactory("COVtolFactory-b4");
camEnableFactory("COHeavyFac-b4");
camEnableFactory("COCyborgFac-b4");
}
//Player must destroy all bases.
function checkEnemyBases()
{
if (camAllEnemyBasesEliminated())
{
return true;
}
camManageGroup(camMakeGroup("grp2Hovers"), CAM_ORDER_PATROL, {
pos: [
camMakePos("hoverPos1"),
camMakePos("playerLZ"),
camMakePos("hoverPos2"),
],
//fallback: camMakePos("base2HeavyAssembly"),
//morale: 10,
interval: 22000,
regroup: false,
});
}
function enableReinforcements()
{
playSound("pcv440.ogg"); // Reinforcements are available.
camSetStandardWinLossConditions(CAM_VICTORY_OFFWORLD, "SUB_2_8S", {
callback: "checkEnemyBases",
eliminateBases: true,
area: "RTLZ",
message: "C27_LZ",
reinforcements: 180 //3 min
@@ -91,7 +101,7 @@ function enableReinforcements()
function eventStartLevel()
{
camSetStandardWinLossConditions(CAM_VICTORY_OFFWORLD, "SUB_2_8S", {
callback: "checkEnemyBases",
eliminateBases: true,
area: "RTLZ",
message: "C27_LZ",
reinforcements: -1,
@@ -144,7 +154,7 @@ function eventStartLevel()
"COHeavyFac-Arti-b2": {
assembly: "base2HeavyAssembly",
order: CAM_ORDER_ATTACK,
groupSize: 5,
groupSize: 4,
throttle: camChangeOnDiff(60000),
data: {
regroup: false,
@@ -156,7 +166,7 @@ function eventStartLevel()
"COCyborgFac-b2": {
assembly: "base2CybAssembly",
order: CAM_ORDER_ATTACK,
groupSize: 4,
groupSize: 5,
throttle: camChangeOnDiff(40000),
data: {
regroup: false,
@@ -168,7 +178,7 @@ function eventStartLevel()
"COCyborgFac-b3": {
assembly: "base3CybAssembly",
order: CAM_ORDER_ATTACK,
groupSize: 4,
groupSize: 5,
throttle: camChangeOnDiff(40000),
data: {
regroup: false,
@@ -181,7 +191,7 @@ function eventStartLevel()
assembly: "base4HeavyAssembly",
order: CAM_ORDER_ATTACK,
groupSize: 4,
throttle: camChangeOnDiff(80000),
throttle: camChangeOnDiff(70000),
data: {
regroup: false,
repair: 20,
@@ -192,8 +202,8 @@ function eventStartLevel()
"COCyborgFac-b4": {
assembly: "base4CybAssembly",
order: CAM_ORDER_ATTACK,
groupSize: 4,
throttle: camChangeOnDiff(50000),
groupSize: 5,
throttle: camChangeOnDiff(40000),
data: {
regroup: false,
repair: 40,
@@ -205,7 +215,7 @@ function eventStartLevel()
assembly: "base4VTOLAssembly",
order: CAM_ORDER_ATTACK,
groupSize: 5,
throttle: camChangeOnDiff(70000),
throttle: camChangeOnDiff(60000),
data: {
regroup: false,
count: -1,
@@ -222,7 +232,8 @@ function eventStartLevel()
hackAddMessage("C27_OBJECTIVE3", PROX_MSG, CAM_HUMAN_PLAYER, true);
hackAddMessage("C27_OBJECTIVE4", PROX_MSG, CAM_HUMAN_PLAYER, true);
queue("enableReinforcements", 15000);
queue("baseFourGroupAttack", 100000);
queue("enableFactories", camChangeOnDiff(480000)); // 8 min
queue("enableReinforcements", 20000);
queue("baseThreeVtolAttack", 30000);
queue("baseFourVtolAttack", 60000);
queue("enableFactoriesAndHovers", camChangeOnDiff(90000));
}
View
Binary file not shown.
View
Binary file not shown.
View
Binary file not shown.
@@ -3,12 +3,12 @@
"position_1" : { "label": "transporterEntry", "pos": [ 128, 7936 ] },
"position_2" : { "label": "transporterExit", "pos": [ 1280, 7680 ] },
"position_3" : { "label": "playerLZ", "pos": [ 896, 6528 ] },
"position_4" : { "label": "base2HeavyAssembly", "pos": [ 6592, 4416 ] },
"position_4" : { "label": "base2HeavyAssembly", "pos": [ 6720, 3264 ] },
"position_5" : { "label": "base2CybAssembly", "pos": [ 6464, 6336 ] },
"position_6" : { "label": "base4VTOLAssembly", "pos": [ 1728, 1984 ] },
"position_7" : { "label": "base3CybAssembly", "pos": [ 5312, 1088 ] },
"position_8" : { "label": "base4HeavyAssembly", "pos": [ 1088, 1344 ] },
"position_9" : { "label": "base4CybAssembly", "pos": [ 1856, 1344 ] },
"position_6" : { "label": "base4VTOLAssembly", "pos": [ 1728, 2240 ] },
"position_7" : { "label": "base3CybAssembly", "pos": [ 5312, 1088 ] },
"position_8" : { "label": "base4HeavyAssembly", "pos": [ 1728, 1472 ] },
"position_9" : { "label": "base4CybAssembly", "pos": [ 1856, 1728 ] },
"position_10": { "label": "hoverPos1", "pos": [ 832, 2880 ] },
"position_11": { "label": "hoverPos2", "pos": [ 3392, 4288 ] },
View
Binary file not shown.

0 comments on commit f0e0968

Please sign in to comment.