From 1328bb3d31bdbdd047731a40dc07016e1425c6de Mon Sep 17 00:00:00 2001 From: Dylan <28832631+DARwins1@users.noreply.github.com> Date: Wed, 27 Oct 2021 02:14:20 -0500 Subject: [PATCH 1/7] Add files via upload --- stats/body.json | 12 ++--- stats/research.json | 37 +++++++++++-- stats/structure.json | 2 +- stats/weaponmodifier.json | 2 +- stats/weapons.json | 108 +++++++++++++++++++------------------- 5 files changed, 95 insertions(+), 66 deletions(-) diff --git a/stats/body.json b/stats/body.json index 149d5f9..a54e48a 100644 --- a/stats/body.json +++ b/stats/body.json @@ -92,8 +92,8 @@ "Body10MBT": { "armourHeat": 25, "armourKinetic": 28, - "buildPoints": 800, - "buildPower": 130, + "buildPoints": 470, + "buildPower": 80, "class": "Droids", "designable": 1, "hitpoints": 300, @@ -482,8 +482,8 @@ "Body3MBT": { "armourHeat": 15, "armourKinetic": 20, - "buildPoints": 400, - "buildPower": 68, + "buildPoints": 170, + "buildPower": 43, "class": "Droids", "designable": 1, "hitpoints": 100, @@ -794,8 +794,8 @@ "Body7ABT": { "armourHeat": 20, "armourKinetic": 24, - "buildPoints": 600, - "buildPower": 100, + "buildPoints": 330, + "buildPower": 64, "class": "Droids", "designable": 1, "hitpoints": 200, diff --git a/stats/research.json b/stats/research.json index fa28c9d..295c8b7 100644 --- a/stats/research.json +++ b/stats/research.json @@ -7171,6 +7171,7 @@ "iconID": "IMAGE_RES_SYSTEMTECH", "id": "R-Sys-Resistance-Upgrade02", "imdName": "ICCCCONS.PIE", + "msgName": "RES_SY_RESU3", "name": "NEXUS Resistance Circuits Mk2", "requiredResearch": [ "R-Sys-Resistance-Upgrade01" @@ -7193,13 +7194,13 @@ "value": 60 } ], - "subgroupIconID": "IMAGE_RES_GRPUPG", - "techCode": 1 + "subgroupIconID": "IMAGE_RES_GRPUPG" }, "R-Sys-Resistance-Upgrade03": { "iconID": "IMAGE_RES_SYSTEMTECH", "id": "R-Sys-Resistance-Upgrade03", "imdName": "ICCCCONS.PIE", + "msgName": "RES_SY_RESU4", "name": "NEXUS Resistance Circuits Mk3", "requiredResearch": [ "R-Sys-Resistance-Upgrade02" @@ -7222,8 +7223,36 @@ "value": 60 } ], - "subgroupIconID": "IMAGE_RES_GRPUPG", - "techCode": 1 + "subgroupIconID": "IMAGE_RES_GRPUPG" + }, + "R-Sys-Resistance-Upgrade04": { + "iconID": "IMAGE_RES_SYSTEMTECH", + "id": "R-Sys-Resistance-Upgrade04", + "imdName": "ICCCCONS.PIE", + "msgName": "RES_SY_RESU5", + "name": "NEXUS Immunization Systems", + "requiredResearch": [ + "R-Sys-Resistance-Upgrade03" + ], + "researchPoints": 35000, + "researchPower": 450, + "results": [ + { + "class": "Building", + "filterParameter": "Type", + "filterValue": "Structure", + "parameter": "Resistance", + "value": 5 + }, + { + "class": "Body", + "filterParameter": "BodyClass", + "filterValue": "Droids", + "parameter": "Resistance", + "value": 5 + } + ], + "subgroupIconID": "IMAGE_RES_GRPUPG" }, "R-Sys-SpyTurret": { "iconID": "IMAGE_RES_SYSTEMTECH", diff --git a/stats/structure.json b/stats/structure.json index 9113ce2..8c9114e 100644 --- a/stats/structure.json +++ b/stats/structure.json @@ -1218,7 +1218,7 @@ "armour": 10, "breadth": 1, "buildPoints": 400, - "buildPower": 125, + "buildPower": 100, "ecmID": "ZNULLECM", "height": 1, "hitpoints": 300, diff --git a/stats/weaponmodifier.json b/stats/weaponmodifier.json index 728b499..7883df2 100644 --- a/stats/weaponmodifier.json +++ b/stats/weaponmodifier.json @@ -2,7 +2,7 @@ "ALL ROUNDER": { "Half-Tracked": 115, "Hover": 120, - "Legged": 65, + "Legged": 60, "Lift": 40, "Tracked": 105, "Wheeled": 125 diff --git a/stats/weapons.json b/stats/weapons.json index c23ed1b..85ec640 100644 --- a/stats/weapons.json +++ b/stats/weapons.json @@ -526,7 +526,7 @@ "Bomb3-VTOL-LtINC": { "buildPoints": 700, "buildPower": 175, - "damage": 300, + "damage": 500, "designable": 1, "effectSize": 150, "explosionWav": "lrgexpl.ogg", @@ -549,8 +549,8 @@ "name": "VTOL Phosphor Bomb Bay", "numAttackRuns": 1, "numExplosions": 10, - "numRounds": 3, - "periodicalDamage": 130, + "numRounds": 2, + "periodicalDamage": 70, "periodicalDamageRadius": 256, "periodicalDamageTime": 200, "periodicalDamageWeaponClass": "HEAT", @@ -563,7 +563,7 @@ "shortRange": 384, "waterGfx": "FXMSplsh.PIE", "weaponClass": "HEAT", - "weaponEffect": "ARTILLERY ROUND", + "weaponEffect": "FLAMER", "weaponSubClass": "BOMB", "weaponWav": "hwtzflgt.ogg", "weight": 2400 @@ -571,7 +571,7 @@ "Bomb4-VTOL-HvyINC": { "buildPoints": 900, "buildPower": 225, - "damage": 500, + "damage": 750, "designable": 1, "effectSize": 250, "explosionWav": "lrgexpl.ogg", @@ -594,8 +594,8 @@ "name": "VTOL Thermite Bomb Bay", "numAttackRuns": 1, "numExplosions": 14, - "numRounds": 3, - "periodicalDamage": 130, + "numRounds": 2, + "periodicalDamage": 90, "periodicalDamageRadius": 384, "periodicalDamageTime": 200, "periodicalDamageWeaponClass": "HEAT", @@ -609,7 +609,7 @@ "shortRange": 384, "waterGfx": "FXMSplsh.PIE", "weaponClass": "HEAT", - "weaponEffect": "ARTILLERY ROUND", + "weaponEffect": "FLAMER", "weaponSubClass": "BOMB", "weaponWav": "hwtzflgt.ogg", "weight": 3800 @@ -630,7 +630,7 @@ "id": "Cannon1-VTOL", "lightWorld": 1, "longRange": 1280, - "longHit": 80, + "longHit": 70, "minElevation": -90, "minimumDamage": 33, "missGfx": "FXMExp.PIE", @@ -646,7 +646,7 @@ "radiusLife": 100, "recoilValue": 100, "rotate": 180, - "shortHit": 90, + "shortHit": 80, "shortRange": 768, "waterGfx": "FXSSplsh.PIE", "weaponClass": "KINETIC", @@ -795,7 +795,7 @@ "id": "Cannon4AUTO-VTOL", "lightWorld": 1, "longRange": 1408, - "longHit": 80, + "longHit": 75, "maxElevation": 15, "minElevation": -60, "minimumDamage": 33, @@ -810,7 +810,7 @@ "radiusLife": 10, "recoilValue": 100, "rotate": 180, - "shortHit": 80, + "shortHit": 75, "shortRange": 1408, "waterGfx": "FXSSplsh.PIE", "weaponClass": "KINETIC", @@ -827,7 +827,7 @@ "effectSize": 50, "explosionWav": "smlexpl.ogg", "facePlayer": 1, - "firePause": 36, + "firePause": 35, "flags": "ShootAir", "flightGfx": "FXTracer.PIE", "flightSpeed": 2250, @@ -835,7 +835,7 @@ "hitpoints": 250, "id": "Cannon4AUTOMk1", "lightWorld": 1, - "longRange": 1152, + "longRange": 1216, "longHit": 65, "maxElevation": 90, "minElevation": -60, @@ -851,13 +851,13 @@ "recoilValue": 100, "rotate": 180, "shortHit": 65, - "shortRange": 1152, + "shortRange": 1216, "waterGfx": "FXSSplsh.PIE", "weaponClass": "KINETIC", "weaponEffect": "ALL ROUNDER", "weaponSubClass": "CANNON", "weaponWav": "hivelcan.ogg", - "weight": 4000 + "weight": 2500 }, "Cannon5Vulcan-VTOL": { "buildPoints": 700, @@ -875,7 +875,7 @@ "id": "Cannon5Vulcan-VTOL", "lightWorld": 1, "longRange": 1280, - "longHit": 80, + "longHit": 70, "minElevation": -60, "minimumDamage": 33, "missGfx": "FXMExp.PIE", @@ -890,7 +890,7 @@ "radiusDamage": 50, "recoilValue": 25, "rotate": 180, - "shortHit": 90, + "shortHit": 80, "shortRange": 768, "waterGfx": "FXSSplsh.PIE", "weaponClass": "KINETIC", @@ -1018,7 +1018,7 @@ "Cyb-Hvywpn-Acannon": { "buildPoints": 400, "buildPower": 125, - "damage": 45, + "damage": 40, "effectSize": 25, "explosionWav": "smlexpl.ogg", "facePlayer": 1, @@ -1042,7 +1042,7 @@ "name": "Super Auto-Cannon Cyborg", "numExplosions": 1, "radius": 96, - "radiusDamage": 35, + "radiusDamage": 30, "recoilValue": 25, "rotate": 180, "shortHit": 60, @@ -1061,7 +1061,7 @@ "effectSize": 25, "explosionWav": "smlexpl.ogg", "facePlayer": 1, - "firePause": 36, + "firePause": 32, "flags": "ShootAir", "flightGfx": "FXTracer.PIE", "flightSpeed": 2250, @@ -1172,7 +1172,7 @@ "Cyb-Hvywpn-RailGunner": { "buildPoints": 750, "buildPower": 240, - "damage": 240, + "damage": 180, "effectSize": 100, "explosionWav": "gaussgun.ogg", "facePlayer": 1, @@ -1183,7 +1183,7 @@ "hitpoints": 120, "id": "Cyb-Hvywpn-RailGunner", "lightWorld": 1, - "longRange": 1024, + "longRange": 1792, "longHit": 70, "maxElevation": 90, "minElevation": -60, @@ -1197,7 +1197,7 @@ "numExplosions": 1, "penetrate": 1, "radius": 128, - "radiusDamage": 80, + "radiusDamage": 90, "rotate": 180, "shortHit": 80, "shortRange": 768, @@ -1215,7 +1215,7 @@ "effectSize": 50, "explosionWav": "lrgexpl.ogg", "facePlayer": 1, - "firePause": 180, + "firePause": 160, "flightGfx": "FXMPLME.PIE", "flightSpeed": 1500, "hitGfx": "FXGRDexl.PIE", @@ -1798,7 +1798,7 @@ "weight": 10000 }, "Howitzer150Mk1": { - "buildPoints": 1600, + "buildPoints": 1800, "buildPower": 450, "damage": 350, "designable": 1, @@ -1882,7 +1882,7 @@ "Laser2PULSE-VTOL": { "buildPoints": 800, "buildPower": 200, - "damage": 400, + "damage": 320, "designable": 1, "effectSize": 100, "explosionWav": "lsrexpl.ogg", @@ -1963,12 +1963,12 @@ "Laser3BEAM-VTOL": { "buildPoints": 600, "buildPower": 150, - "damage": 200, + "damage": 160, "designable": 1, "effectSize": 100, "explosionWav": "lsrexpl.ogg", "facePlayer": 1, - "firePause": 3, + "firePause": 2, "flags": "ShootAir", "flightGfx": "FXLFLSH.PIE", "flightSpeed": 3200, @@ -2077,11 +2077,11 @@ "MG1-VTOL": { "buildPoints": 50, "buildPower": 10, - "damage": 30, + "damage": 15, "designable": 1, "effectSize": 100, "facePlayer": 1, - "firePause": 3, + "firePause": 5, "flags": "ShootAir", "flightGfx": "FXTracer.PIE", "flightSpeed": 1500, @@ -2089,7 +2089,7 @@ "hitpoints": 75, "id": "MG1-VTOL", "longRange": 768, - "longHit": 80, + "longHit": 50, "maxElevation": 15, "minElevation": -90, "minimumDamage": 33, @@ -2103,7 +2103,7 @@ "numExplosions": 1, "recoilValue": 20, "rotate": 180, - "shortHit": 95, + "shortHit": 75, "shortRange": 512, "waterGfx": "FXSSplsh.PIE", "weaponClass": "KINETIC", @@ -2185,11 +2185,11 @@ "MG2-VTOL": { "buildPoints": 125, "buildPower": 25, - "damage": 42, + "damage": 21, "designable": 1, "effectSize": 100, "facePlayer": 1, - "firePause": 3, + "firePause": 6, "flags": "ShootAir", "flightGfx": "fxtracer_twin.pie", "flightSpeed": 1500, @@ -2197,7 +2197,7 @@ "hitpoints": 95, "id": "MG2-VTOL", "longRange": 832, - "longHit": 80, + "longHit": 50, "maxElevation": 15, "minElevation": -90, "minimumDamage": 33, @@ -2211,7 +2211,7 @@ "numExplosions": 2, "recoilValue": 20, "rotate": 180, - "shortHit": 95, + "shortHit": 75, "shortRange": 512, "waterGfx": "FXSSplsh.PIE", "weaponClass": "KINETIC", @@ -2293,19 +2293,19 @@ "MG3-VTOL": { "buildPoints": 250, "buildPower": 50, - "damage": 54, + "damage": 27, "designable": 1, "effectSize": 150, "facePlayer": 1, - "firePause": 4, + "firePause": 5, "flags": "ShootAir", "flightGfx": "fxtracerh.pie", - "flightSpeed": 1500, + "flightSpeed": 1800, "hitGfx": "FXMETHIT.PIE", "hitpoints": 95, "id": "MG3-VTOL", - "longRange": 960, - "longHit": 80, + "longRange": 1152, + "longHit": 75, "maxElevation": 15, "minElevation": -90, "minimumDamage": 33, @@ -2401,11 +2401,11 @@ "MG4ROTARY-VTOL": { "buildPoints": 500, "buildPower": 100, - "damage": 56, + "damage": 28, "designable": 1, "effectSize": 100, "facePlayer": 1, - "firePause": 2, + "firePause": 3, "flags": "ShootAir", "flightGfx": "fxtracerh.pie", "flightSpeed": 2250, @@ -2413,7 +2413,7 @@ "hitpoints": 185, "id": "MG4ROTARY-VTOL", "longRange": 1408, - "longHit": 80, + "longHit": 75, "maxElevation": 15, "minElevation": -90, "minimumDamage": 33, @@ -2572,7 +2572,7 @@ "flightGfx": "FXMflare.PIE", "flightSpeed": 2250, "hitGfx": "FXMExp.PIE", - "hitpoints": 10, + "hitpoints": 50, "id": "Missile-HvySAM", "lightWorld": 1, "longRange": 2562, @@ -2602,7 +2602,7 @@ "weaponEffect": "ANTI TANK", "weaponSubClass": "MISSILE", "weaponWav": "rocket.ogg", - "weight": 4000 + "weight": 800 }, "Missile-LtSAM": { "buildPoints": 800, @@ -2722,7 +2722,7 @@ "numAttackRuns": 1, "numExplosions": 1, "numRounds": 2, - "radius": 192, + "radius": 128, "radiusDamage": 360, "radiusLife": 10, "recoilValue": 20, @@ -3175,7 +3175,7 @@ "weight": 2000 }, "QuadRotAAGun": { - "buildPoints": 1200, + "buildPoints": 800, "buildPower": 150, "damage": 90, "designable": 1, @@ -3214,7 +3214,7 @@ "weaponEffect": "ANTI TANK", "weaponSubClass": "A-A GUN", "weaponWav": "asltmg.ogg", - "weight": 6000 + "weight": 4000 }, "RailGun1-VTOL": { "buildPoints": 1000, @@ -3224,7 +3224,7 @@ "effectSize": 75, "explosionWav": "smlexpl.ogg", "facePlayer": 1, - "firePause": 4, + "firePause": 3, "flightGfx": "FXGAmmo.PIE", "flightSpeed": 1800, "hitGfx": "FXFlecht.PIE", @@ -3297,7 +3297,7 @@ "RailGun2-VTOL": { "buildPoints": 1200, "buildPower": 300, - "damage": 400, + "damage": 440, "designable": 1, "effectSize": 100, "explosionWav": "lrgexpl.ogg", @@ -3323,7 +3323,7 @@ "numExplosions": 1, "penetrate": 1, "radius": 192, - "radiusDamage": 200, + "radiusDamage": 220, "rotate": 180, "shortHit": 90, "shortRange": 768, @@ -3485,7 +3485,7 @@ "numExplosions": 1, "numRounds": 2, "radiusLife": 10, - "reloadTime": 200, + "reloadTime": 180, "rotate": 180, "shortHit": 30, "shortRange": 512, From d4f839b616e35c28657042af58a491498671e8d7 Mon Sep 17 00:00:00 2001 From: Dylan <28832631+DARwins1@users.noreply.github.com> Date: Wed, 27 Oct 2021 02:14:43 -0500 Subject: [PATCH 2/7] Add files via upload --- messages/resmessages23.json | 2 +- messages/resmessages3.json | 39 ++++++++++++++++++++++++++++++++++--- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/messages/resmessages23.json b/messages/resmessages23.json index afdbdcf..baa1237 100644 --- a/messages/resmessages23.json +++ b/messages/resmessages23.json @@ -138,7 +138,7 @@ "text": [ "New Bomb Bay Available", "Drops incendiary bombs", - "Best Targets: Structures, Vehicles and Infantry", + "Best Targets: Bunkers, Vehicles and Infantry", "Body Points: Low" ] }, diff --git a/messages/resmessages3.json b/messages/resmessages3.json index 9a5aba0..b0d215c 100644 --- a/messages/resmessages3.json +++ b/messages/resmessages3.json @@ -490,8 +490,41 @@ "text": [ "Computer Technology Breakthrough", "Improved NEXUS resistance circuitry", - "Computer systems can now be 'ring-fenced' from NEXUS", - "Reduced chance of NEXUS take-over" + "Reduced chance of NEXUS take-over", + "Hero and Special rank units are protected" + ] + }, + "RES_SY_RESU3": { + "id": "RES_SY_RESU3", + "imdName": "MICAPSUL.PIE", + "sequenceName": "res_systech.ogg", + "text": [ + "Computer Technology Breakthrough", + "Improved NEXUS resistance circuitry", + "Reduced chance of NEXUS take-over", + "Elite and Veteran rank units and Factories are protected" + ] + }, + "RES_SY_RESU4": { + "id": "RES_SY_RESU4", + "imdName": "MICAPSUL.PIE", + "sequenceName": "res_systech.ogg", + "text": [ + "Computer Technology Breakthrough", + "Improved NEXUS resistance circuitry", + "Reduced chance of NEXUS take-over", + "Professional and Regular rank units are protected" + ] + }, + "RES_SY_RESU5": { + "id": "RES_SY_RESU5", + "imdName": "MICAPSUL.PIE", + "sequenceName": "res_systech.ogg", + "text": [ + "Computer Technology Breakthrough", + "Improved NEXUS resistance circuitry", + "Computer systems are now 'ring-fenced' from NEXUS", + "Stops NEXUS take-over" ] }, "RES_SY_ST1": { @@ -787,7 +820,7 @@ "text": [ "New Bomb Bay Available", "Drops high intensity thermite bombs", - "Best Targets: Structures, Vehicles and Infantry", + "Best Targets: Bunkers, Vehicles and Infantry", "Body Points: Low" ] }, From 713595e03825598b9a3e787762453c201b6217f4 Mon Sep 17 00:00:00 2001 From: Dylan <28832631+DARwins1@users.noreply.github.com> Date: Wed, 27 Oct 2021 02:17:52 -0500 Subject: [PATCH 3/7] Add files via upload From 5cd40bb08f4b25c3ac814c5615245281b75a11db Mon Sep 17 00:00:00 2001 From: Dylan <28832631+DARwins1@users.noreply.github.com> Date: Wed, 27 Oct 2021 02:20:56 -0500 Subject: [PATCH 4/7] Add files via upload --- wrf/cam1/sub1-d/labels.json | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/wrf/cam1/sub1-d/labels.json b/wrf/cam1/sub1-d/labels.json index 316ce79..6a08be3 100644 --- a/wrf/cam1/sub1-d/labels.json +++ b/wrf/cam1/sub1-d/labels.json @@ -45,23 +45,23 @@ }, "position_11": { "label": "hoverDefense1", - "pos": [320, 8256] + "pos": [576, 2624] }, "position_12": { "label": "hoverDefense2", - "pos": [9664, 10560] + "pos": [1856, 2624] }, "position_13": { "label": "hoverDefense3", - "pos": [6080, 704] + "pos": [576, 3264] }, "position_14": { "label": "hoverDefense4", - "pos": [2752, 2368] + "pos": [1856, 3264] }, "position_15": { "label": "NPFactoryWAssembly", - "pos": [4416, 3264] + "pos": [1600, 4416] }, "position_16": { "label": "NPFactoryEAssembly", @@ -83,6 +83,22 @@ "label": "NPCybFactoryEAssembly", "pos": [5696, 4800] }, + "position_21": { + "label": "hoverDefense5", + "pos": [832, 7360] + }, + "position_22": { + "label": "hoverDefense6", + "pos": [3392, 7360] + }, + "position_23": { + "label": "hoverDefense7", + "pos": [2112, 8640] + }, + "position_24": { + "label": "hoverDefense8", + "pos": [1088, 14912] + }, "area_0": { "label": "RTLZ", From 3b46639e5ed7f44efc2eeb032bd42fd75eb8daf2 Mon Sep 17 00:00:00 2001 From: Dylan <28832631+DARwins1@users.noreply.github.com> Date: Wed, 27 Oct 2021 02:23:12 -0500 Subject: [PATCH 5/7] Add files via upload --- wrf/cam3/cam3b/labels.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/wrf/cam3/cam3b/labels.json b/wrf/cam3/cam3b/labels.json index dcfc3a9..b3d5c44 100644 --- a/wrf/cam3/cam3b/labels.json +++ b/wrf/cam3/cam3b/labels.json @@ -83,6 +83,14 @@ "label": "gammaCyborgFactoryAssembly", "pos": [2112, 2112] }, + "position_21": { + "label": "buildPos1", + "pos": [3200, 896] + }, + "position_22": { + "label": "buildPos2", + "pos": [4864, 640] + }, "area_0": { "label": "landingZone", From 2746928679b96b084e918001735c532255c11720 Mon Sep 17 00:00:00 2001 From: Dylan <28832631+DARwins1@users.noreply.github.com> Date: Wed, 27 Oct 2021 02:26:06 -0500 Subject: [PATCH 6/7] Add files via upload --- script/campaign/cam1-1.js | 4 +- script/campaign/cam1-1s.js | 4 +- script/campaign/cam1-2.js | 2 +- script/campaign/cam1-2s.js | 2 +- script/campaign/cam1-3.js | 4 +- script/campaign/cam1-3s.js | 2 +- script/campaign/cam1-4a.js | 2 +- script/campaign/cam1-4as.js | 2 +- script/campaign/cam1-5s.js | 2 +- script/campaign/cam1-7.js | 6 +-- script/campaign/cam1-7s.js | 2 +- script/campaign/cam1-d.js | 17 +++++--- script/campaign/cam1-ds.js | 2 +- script/campaign/cam1a-c.js | 2 +- script/campaign/cam1a.js | 2 +- script/campaign/cam1b.js | 2 +- script/campaign/cam1c.js | 6 +-- script/campaign/cam1ca.js | 9 +++- script/campaign/cam1end.js | 2 +- script/campaign/cam2-1s.js | 2 +- script/campaign/cam2-1x.js | 2 +- script/campaign/cam2-2.js | 4 +- script/campaign/cam2-2s.js | 2 +- script/campaign/cam2-5.js | 2 +- script/campaign/cam2-5s.js | 2 +- script/campaign/cam2-6.js | 32 +++++++-------- script/campaign/cam2-6s.js | 2 +- script/campaign/cam2-7.js | 16 ++++---- script/campaign/cam2-7s.js | 2 +- script/campaign/cam2-8.js | 2 +- script/campaign/cam2-8s.js | 2 +- script/campaign/cam2-a.js | 6 +-- script/campaign/cam2-b.js | 6 +-- script/campaign/cam2-c.js | 10 ++--- script/campaign/cam2-d.js | 6 +-- script/campaign/cam2-ds.js | 2 +- script/campaign/cam2-end.js | 4 +- script/campaign/cam3-1.js | 2 +- script/campaign/cam3-1s.js | 2 +- script/campaign/cam3-2.js | 4 +- script/campaign/cam3-2s.js | 4 +- script/campaign/cam3-4.js | 6 +-- script/campaign/cam3-4s.js | 2 +- script/campaign/cam3-a.js | 2 +- script/campaign/cam3-ab.js | 7 +++- script/campaign/cam3-ad1.js | 2 +- script/campaign/cam3-ad2.js | 14 +++---- script/campaign/cam3-b.js | 41 +++++++++++++++++-- script/campaign/cam3-c.js | 6 +-- script/campaign/libcampaign_includes/nexus.js | 4 ++ 50 files changed, 165 insertions(+), 109 deletions(-) diff --git a/script/campaign/cam1-1.js b/script/campaign/cam1-1.js index bdf7701..8e2f3f4 100644 --- a/script/campaign/cam1-1.js +++ b/script/campaign/cam1-1.js @@ -62,7 +62,7 @@ function eventStartLevel() "artifactLocation": { tech: "R-Wpn-Cannon1Mk1" }, // Light Cannon }); - camPlayVideos("FLIGHT"); - hackAddMessage("C1-1_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, true); + camPlayVideos({video: "FLIGHT", type: CAMP_MSG}); + hackAddMessage("C1-1_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, false); } diff --git a/script/campaign/cam1-1s.js b/script/campaign/cam1-1s.js index 7ded991..56304ea 100644 --- a/script/campaign/cam1-1s.js +++ b/script/campaign/cam1-1s.js @@ -13,13 +13,13 @@ function eventChat(from, to, message) //Video if player does not yet have power module built function resPowModVideo() { - camPlayVideos("MB1_B2_MSG"); + camPlayVideos({video: "MB1_B2_MSG", type: MISS_MSG}); } //Sector clear commander! function secondVideo() { - camPlayVideos("SB1_1_MSG"); + camPlayVideos({video: "SB1_1_MSG", type: MISS_MSG}); } //Has player built the power module? diff --git a/script/campaign/cam1-2.js b/script/campaign/cam1-2.js index 25d20f5..e59c20d 100644 --- a/script/campaign/cam1-2.js +++ b/script/campaign/cam1-2.js @@ -5,7 +5,7 @@ include("script/campaign/templates.js"); function exposeNorthBase() { camDetectEnemyBase("NorthGroup"); // no problem if already detected - camPlayVideos("SB1_2_MSG2"); + camPlayVideos({video: "SB1_2_MSG2", type: MISS_MSG}); } function camArtifactPickup_ScavLab() diff --git a/script/campaign/cam1-2s.js b/script/campaign/cam1-2s.js index 3a1b304..c1aac24 100644 --- a/script/campaign/cam1-2s.js +++ b/script/campaign/cam1-2s.js @@ -7,6 +7,6 @@ function eventStartLevel() centreView(13, 52); setNoGoArea(10, 51, 12, 53, CAM_HUMAN_PLAYER); setMissionTime(camChangeOnDiff(camMinutesToSeconds(30))); - camPlayVideos("SB1_2_MSG"); + camPlayVideos({video: "SB1_2_MSG", type: CAMP_MSG}); camSetStandardWinLossConditions(CAM_VICTORY_PRE_OFFWORLD, "SUB_1_2"); } diff --git a/script/campaign/cam1-3.js b/script/campaign/cam1-3.js index 494d0e6..99e0490 100644 --- a/script/campaign/cam1-3.js +++ b/script/campaign/cam1-3.js @@ -78,7 +78,7 @@ function enableNP(args) repair: 66, }); - camPlayVideos(["pcv455.ogg", "SB1_3_MSG4"]); + camPlayVideos(["pcv455.ogg", {video: "SB1_3_MSG4", type: MISS_MSG}]); } function NPReinforce() @@ -175,7 +175,7 @@ function camEnemyBaseEliminated_ScavBaseGroup() function playNPWarningMessage() { - camPlayVideos(["pcv455.ogg", "SB1_3_MSG3"]); + camPlayVideos(["pcv455.ogg", {video: "SB1_3_MSG3", type: CAMP_MSG}]); } function eventDroidBuilt(droid, structure) diff --git a/script/campaign/cam1-3s.js b/script/campaign/cam1-3s.js index 0e164ba..bd26db1 100644 --- a/script/campaign/cam1-3s.js +++ b/script/campaign/cam1-3s.js @@ -7,6 +7,6 @@ function eventStartLevel() centreView(13, 52); setNoGoArea(10, 51, 12, 53, CAM_HUMAN_PLAYER); setMissionTime(camChangeOnDiff(camHoursToSeconds(1))); - camPlayVideos("SB1_3_UPDATE"); + camPlayVideos({video: "SB1_3_UPDATE", type: CAMP_MSG}); camSetStandardWinLossConditions(CAM_VICTORY_PRE_OFFWORLD, "SUB_1_3"); } diff --git a/script/campaign/cam1-4a.js b/script/campaign/cam1-4a.js index 632bb08..ffca649 100644 --- a/script/campaign/cam1-4a.js +++ b/script/campaign/cam1-4a.js @@ -45,7 +45,7 @@ camAreaEvent("removeRedObjectiveBlip", function() camAreaEvent("LandingZoneTrigger", function() { - camPlayVideos(["pcv456.ogg", "SB1_4_B"]); + camPlayVideos(["pcv456.ogg", {video: "SB1_4_B", type: MISS_MSG}]); hackRemoveMessage("C1-4_LZ", PROX_MSG, CAM_HUMAN_PLAYER); //Remove LZ 2 blip. var lz = getObject("LandingZone2"); // will override later diff --git a/script/campaign/cam1-4as.js b/script/campaign/cam1-4as.js index 1eca578..d01e37d 100644 --- a/script/campaign/cam1-4as.js +++ b/script/campaign/cam1-4as.js @@ -7,6 +7,6 @@ function eventStartLevel() centreView(13, 52); setNoGoArea(10, 51, 12, 53, CAM_HUMAN_PLAYER); setMissionTime(camChangeOnDiff(camMinutesToSeconds(30))); - camPlayVideos("SB1_4_MSG"); + camPlayVideos({video: "SB1_4_MSG", type: MISS_MSG}); camSetStandardWinLossConditions(CAM_VICTORY_PRE_OFFWORLD, "SUB_1_4A"); } diff --git a/script/campaign/cam1-5s.js b/script/campaign/cam1-5s.js index 4229e91..e915054 100644 --- a/script/campaign/cam1-5s.js +++ b/script/campaign/cam1-5s.js @@ -6,6 +6,6 @@ function eventStartLevel() centreView(13, 52); setNoGoArea(10, 51, 12, 53, CAM_HUMAN_PLAYER); setMissionTime(camChangeOnDiff(camHoursToSeconds(1))); - camPlayVideos("SB1_5_MSG"); + camPlayVideos({video: "SB1_5_MSG", type: MISS_MSG}); camSetStandardWinLossConditions(CAM_VICTORY_PRE_OFFWORLD, "SUB_1_5"); } diff --git a/script/campaign/cam1-7.js b/script/campaign/cam1-7.js index a390e0b..c0c8881 100644 --- a/script/campaign/cam1-7.js +++ b/script/campaign/cam1-7.js @@ -66,7 +66,7 @@ camAreaEvent("NPTransportTrigger", function(droid) //Only called once when the New Paradigm takes the artifact for the first time. function artifactVideoSetup() { - camPlayVideos("SB1_7_MSG3"); + camPlayVideos({video: "SB1_7_MSG3", type: MISS_MSG}); camCallOnce("removeCanyonBlip"); artiMovePos = "NPWayPoint"; } @@ -158,7 +158,7 @@ function getArtifact() if (camDist(artiMembers[idx], artiLoc) < GRAB_RADIUS) { camCallOnce("artifactVideoSetup"); - hackAddMessage("C1-7_LZ2", PROX_MSG, CAM_HUMAN_PLAYER, true); //NPLZ blip + hackAddMessage("C1-7_LZ2", PROX_MSG, CAM_HUMAN_PLAYER, false); //NPLZ blip droidWithArtiID = artiMembers[idx].id; enemyHasArtifact = true; camSafeRemoveObject(realCrate, false); @@ -331,6 +331,6 @@ function eventStartLevel() camManageTrucks(NEW_PARADIGM); buildLancers(); - hackAddMessage("C1-7_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, true); //Canyon + hackAddMessage("C1-7_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, false); //Canyon queue("startArtifactCollection", camChangeOnDiff(camMinutesToMilliseconds(1.5))); } diff --git a/script/campaign/cam1-7s.js b/script/campaign/cam1-7s.js index 59286d3..0ae0028 100644 --- a/script/campaign/cam1-7s.js +++ b/script/campaign/cam1-7s.js @@ -6,6 +6,6 @@ function eventStartLevel() centreView(13, 52); setNoGoArea(10, 51, 12, 53, CAM_HUMAN_PLAYER); setMissionTime(camChangeOnDiff(camMinutesToSeconds(30))); - camPlayVideos(["SB1_7_MSG", "SB1_7_MSG2"]); + camPlayVideos([{video: "SB1_7_MSG", type: CAMP_MSG}, {video: "SB1_7_MSG2", type: MISS_MSG}]); camSetStandardWinLossConditions(CAM_VICTORY_PRE_OFFWORLD, "SUB_1_7"); } diff --git a/script/campaign/cam1-d.js b/script/campaign/cam1-d.js index c9b8d54..97ac47b 100644 --- a/script/campaign/cam1-d.js +++ b/script/campaign/cam1-d.js @@ -77,7 +77,7 @@ function HoverGroupPatrol() pos: camMakePos("attackPoint2"), fallback: camMakePos("cybRetreatPoint"), morale: 50, - regroup: true + regroup: false }); camManageGroup(camMakeGroup("hoversDefense"), CAM_ORDER_PATROL, { pos: [ @@ -197,10 +197,17 @@ function eventStartLevel() camSetFactories({ "NPFactoryW": { assembly: "NPFactoryWAssembly", - order: CAM_ORDER_ATTACK, - groupSize: 4, - throttle: camChangeOnDiff(camSecondsToMilliseconds(75)), + order: CAM_ORDER_PATROL, + groupSize: 6, + throttle: camChangeOnDiff(camSecondsToMilliseconds(60)), data: { + pos: [ + camMakePos("hoverDefense5"), + camMakePos("hoverDefense6"), + camMakePos("hoverDefense7"), + camMakePos("hoverDefense8") + ], + interval: camSecondsToMilliseconds(45), regroup: false, repair: 66, count: -1, @@ -269,7 +276,7 @@ function eventStartLevel() }, }); - hackAddMessage("C1D_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, true); + hackAddMessage("C1D_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, false); queue("setupPatrols", camMinutesToMilliseconds(2.5)); } diff --git a/script/campaign/cam1-ds.js b/script/campaign/cam1-ds.js index 423a783..821332d 100644 --- a/script/campaign/cam1-ds.js +++ b/script/campaign/cam1-ds.js @@ -6,6 +6,6 @@ function eventStartLevel() centreView(13, 52); setNoGoArea(10, 51, 12, 53, CAM_HUMAN_PLAYER); setMissionTime(camChangeOnDiff(camHoursToSeconds(2))); - camPlayVideos(["MB1D_MSG", "MB1D_MSG2"]); + camPlayVideos([{video: "MB1D_MSG", type: CAMP_MSG}, {video: "MB1D_MSG2", type: MISS_MSG}]); camSetStandardWinLossConditions(CAM_VICTORY_PRE_OFFWORLD, "SUB_1_D"); } diff --git a/script/campaign/cam1a-c.js b/script/campaign/cam1a-c.js index 42f4feb..207ff21 100644 --- a/script/campaign/cam1a-c.js +++ b/script/campaign/cam1a-c.js @@ -158,7 +158,7 @@ function eventStartLevel() } camCompleteRequiredResearch(NEW_PARADIGM_RES, NEW_PARADIGM); - camPlayVideos(["MB1A-C_MSG", "MB1A-C_MSG2"]); + camPlayVideos([{video: "MB1A-C_MSG", type: CAMP_MSG}, {video: "MB1A-C_MSG2", type: MISS_MSG}]); index = 0; switchLZ = 0; diff --git a/script/campaign/cam1a.js b/script/campaign/cam1a.js index 803c213..600fd2d 100644 --- a/script/campaign/cam1a.js +++ b/script/campaign/cam1a.js @@ -8,7 +8,7 @@ const PLAYER_RES = [ // Player zero's droid enters area next to first oil patch. camAreaEvent("launchScavAttack", function(droid) { - camPlayVideos(["pcv456.ogg", "MB1A_MSG"]); + camPlayVideos(["pcv456.ogg", {video: "MB1A_MSG", type: MISS_MSG}]); hackAddMessage("C1A_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, false); // Send scavengers on war path if triggered above. camManageGroup(camMakeGroup("scavAttack1", ENEMIES), CAM_ORDER_ATTACK, { diff --git a/script/campaign/cam1b.js b/script/campaign/cam1b.js index 606d64e..9b3cfe7 100644 --- a/script/campaign/cam1b.js +++ b/script/campaign/cam1b.js @@ -114,7 +114,7 @@ function eventStartLevel() }, }); - camPlayVideos("MB1B_MSG"); + camPlayVideos({video: "MB1B_MSG", type: MISS_MSG}); camDetectEnemyBase("base4group"); // power surge detected camSetFactories({ diff --git a/script/campaign/cam1c.js b/script/campaign/cam1c.js index 4d678c5..55d91a9 100644 --- a/script/campaign/cam1c.js +++ b/script/campaign/cam1c.js @@ -138,7 +138,7 @@ camAreaEvent("NPLZ1Trigger", function() { // Message4 here, Message3 for the second LZ, and // please don't ask me why they did it this way - camPlayVideos("MB1C4_MSG"); + camPlayVideos({video: "MB1C4_MSG", type: MISS_MSG}); camDetectEnemyBase("NPLZ1Group"); camSetBaseReinforcements("NPLZ1Group", camChangeOnDiff(camMinutesToMilliseconds(5)), "getDroidsForNPLZ", @@ -151,7 +151,7 @@ camAreaEvent("NPLZ1Trigger", function() camAreaEvent("NPLZ2Trigger", function() { - camPlayVideos("MB1C3_MSG"); + camPlayVideos({video: "MB1C3_MSG", type: MISS_MSG}); camDetectEnemyBase("NPLZ2Group"); camSetBaseReinforcements("NPLZ2Group", camChangeOnDiff(camMinutesToMilliseconds(5)), "getDroidsForNPLZ", @@ -269,7 +269,7 @@ function eventStartLevel() }); hackAddMessage("C1C_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, false); // initial beacon - camPlayVideos(["MB1C_MSG", "MB1C2_MSG"]); + camPlayVideos([{video: "MB1C_MSG", type: CAMP_MSG}, {video: "MB1C2_MSG", type: CAMP_MSG}]); camSetArtifacts({ "ScavSouthFactory": { tech: "R-Wpn-Rocket05-MiniPod" }, diff --git a/script/campaign/cam1ca.js b/script/campaign/cam1ca.js index 276c5f7..9ce6a45 100644 --- a/script/campaign/cam1ca.js +++ b/script/campaign/cam1ca.js @@ -13,7 +13,12 @@ var totalTransportLoads; function baseEstablished() { //Now we check if there is stuff built here already from cam1-C. - if (camCountStructuresInArea("buildArea") >= 7) + var total = camCountStructuresInArea("buildArea") + + camCountStructuresInArea("buildArea2") + + camCountStructuresInArea("buildArea3") + + camCountStructuresInArea("buildArea4") + + camCountStructuresInArea("buildArea5"); + if (total >= 7) { if (blipActive) { @@ -159,7 +164,7 @@ function eventStartLevel() } setMissionTime(camChangeOnDiff(camMinutesToSeconds(30))); - camPlayVideos("MB1CA_MSG"); + camPlayVideos({video: "MB1CA_MSG", type: CAMP_MSG}); // first transport after 10 seconds queue("startTransporterAttack", camSecondsToMilliseconds(10)); diff --git a/script/campaign/cam1end.js b/script/campaign/cam1end.js index ce4a5da..cfdcf18 100644 --- a/script/campaign/cam1end.js +++ b/script/campaign/cam1end.js @@ -6,6 +6,6 @@ function eventStartLevel() centreView(13, 52); setNoGoArea(10, 51, 12, 53, CAM_HUMAN_PLAYER); setMissionTime(camMinutesToSeconds(15)); - camPlayVideos(["CAM1_OUT", "CAM1_OUT2", "CAM2_BRIEF"]); + camPlayVideos([{video: "CAM1_OUT", type: CAMP_MSG}, {video: "CAM1_OUT2", type: CAMP_MSG}, {video: "CAM2_BRIEF", type: CAMP_MSG}]); camSetStandardWinLossConditions(CAM_VICTORY_PRE_OFFWORLD, "CAM_2A"); } diff --git a/script/campaign/cam2-1s.js b/script/campaign/cam2-1s.js index 9eebf18..a8ff2af 100644 --- a/script/campaign/cam2-1s.js +++ b/script/campaign/cam2-1s.js @@ -18,5 +18,5 @@ function eventStartLevel() //Set Mission Time setMissionTime(camChangeOnDiff(camMinutesToSeconds(30))); //Give player briefings - camPlayVideos(["MB2_1_MSG", "MB2_1_MSG2"]); + camPlayVideos([{video: "MB2_1_MSG", type: CAMP_MSG}, {video: "MB2_1_MSG2", type: MISS_MSG}]); } diff --git a/script/campaign/cam2-1x.js b/script/campaign/cam2-1x.js index 6274dd7..2f663d1 100644 --- a/script/campaign/cam2-1x.js +++ b/script/campaign/cam2-1x.js @@ -133,7 +133,7 @@ function eventStartLevel() setNoGoArea(enemyLz.x, enemyLz.y, enemyLz.x2, enemyLz.y2, THE_COLLECTIVE); //Add crash site blip and from an alliance with the crashed team. - hackAddMessage("C21_OBJECTIVE", PROX_MSG, CAM_HUMAN_PLAYER, true); + hackAddMessage("C21_OBJECTIVE", PROX_MSG, CAM_HUMAN_PLAYER, false); setAlliance(CAM_HUMAN_PLAYER, TRANSPORT_TEAM, true); //set downed transport team colour to be Project Green. diff --git a/script/campaign/cam2-2.js b/script/campaign/cam2-2.js index aa64079..20bac16 100644 --- a/script/campaign/cam2-2.js +++ b/script/campaign/cam2-2.js @@ -234,8 +234,8 @@ function eventStartLevel() truckDefense(); camEnableFactory("COFactoryWest"); - hackAddMessage("C22_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, true); + hackAddMessage("C22_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, false); queue("vtolAttack", camMinutesToMilliseconds(2)); - setTimer("truckDefense", camSecondsToMilliseconds(160)); + setTimer("truckDefense", camChangeOnDiff(camMinutesToMilliseconds(3))); } diff --git a/script/campaign/cam2-2s.js b/script/campaign/cam2-2s.js index 113a985..f4847e6 100644 --- a/script/campaign/cam2-2s.js +++ b/script/campaign/cam2-2s.js @@ -7,6 +7,6 @@ function eventStartLevel() setNoGoArea(86, 99, 88, 101, CAM_HUMAN_PLAYER); setNoGoArea(49, 83, 51, 85, THE_COLLECTIVE); setMissionTime(camChangeOnDiff(camMinutesToSeconds(70))); - camPlayVideos(["MB2_2_MSG", "MB2_2_MSG2", "MB2_2_MSG3"]); + camPlayVideos([{video: "MB2_2_MSG", type: CAMP_MSG}, {video:"MB2_2_MSG2", type: CAMP_MSG}, {video: "MB2_2_MSG3", type: MISS_MSG}]); camSetStandardWinLossConditions(CAM_VICTORY_PRE_OFFWORLD, "SUB_2_2"); } diff --git a/script/campaign/cam2-5.js b/script/campaign/cam2-5.js index 930f411..7c74142 100644 --- a/script/campaign/cam2-5.js +++ b/script/campaign/cam2-5.js @@ -172,7 +172,7 @@ function eventStartLevel() }, }); - hackAddMessage("C25_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, true); + hackAddMessage("C25_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, false); queue("setupDamHovers", camSecondsToMilliseconds(3)); queue("setupCyborgsEast", camChangeOnDiff(camMinutesToMilliseconds(3))); diff --git a/script/campaign/cam2-5s.js b/script/campaign/cam2-5s.js index 345ee31..c81e78a 100644 --- a/script/campaign/cam2-5s.js +++ b/script/campaign/cam2-5s.js @@ -7,6 +7,6 @@ function eventStartLevel() setNoGoArea(86, 99, 88, 101, CAM_HUMAN_PLAYER); setNoGoArea(49, 83, 51, 85, THE_COLLECTIVE); setMissionTime(camChangeOnDiff(camHoursToSeconds(1))); - camPlayVideos(["MB2_5_MSG", "MB2_5_MSG2"]); + camPlayVideos([{video: "MB2_5_MSG", type: CAMP_MSG}, {video: "MB2_5_MSG2", type: MISS_MSG}]); camSetStandardWinLossConditions(CAM_VICTORY_PRE_OFFWORLD, "SUB_2_5"); } diff --git a/script/campaign/cam2-6.js b/script/campaign/cam2-6.js index d96c3de..0db7095 100644 --- a/script/campaign/cam2-6.js +++ b/script/campaign/cam2-6.js @@ -25,18 +25,6 @@ function camEnemyBaseDetected_COMainBase() regroup: false, }); - camManageGroup(camMakeGroup("southEastGroup"), CAM_ORDER_PATROL, { - pos: [ - camMakePos("playerLZ"), - camMakePos("grp2Pos2"), - camMakePos("uplinkBaseCorner"), - ], - interval: camSecondsToMilliseconds(40), - //fallback: camMakePos("heavyFacAssembly"), - repair: 40, - regroup: false, - }); - camEnableFactory("COCyborgFactory-b1"); camEnableFactory("COCyborgFactory-b2"); camEnableFactory("COHeavyFactory-b2R"); @@ -60,6 +48,17 @@ function camEnemyBaseDetected_COMediumBase() }); } +function southEastAttack() +{ + camManageGroup(camMakeGroup("southEastGroup"), CAM_ORDER_COMPROMISE, { + pos: [ + camMakePos("playerLZ"), + ], + repair: 40, + regroup: false, + }); +} + function northWestAttack() { camManageGroup(camMakeGroup("uplinkBaseGroup"), CAM_ORDER_ATTACK, { @@ -214,9 +213,10 @@ function eventStartLevel() }, }); - hackAddMessage("C26_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, true); + hackAddMessage("C26_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, false); - queue("northWestAttack", camMinutesToMilliseconds(2)); - queue("mainBaseAttackGroup", camMinutesToMilliseconds(3)); - queue("enableTimeBasedFactories", camChangeOnDiff(camMinutesToMilliseconds(10))); + queue("northWestAttack", camChangeOnDiff(camMinutesToMilliseconds(3))); + queue("mainBaseAttackGroup", camChangeOnDiff(camMinutesToMilliseconds(4.5))); + queue("southEastAttack", camChangeOnDiff(camMinutesToMilliseconds(5))); + queue("enableTimeBasedFactories", camChangeOnDiff(camMinutesToMilliseconds(6))); } diff --git a/script/campaign/cam2-6s.js b/script/campaign/cam2-6s.js index 8fff861..17d4725 100644 --- a/script/campaign/cam2-6s.js +++ b/script/campaign/cam2-6s.js @@ -7,6 +7,6 @@ function eventStartLevel() setNoGoArea(86, 99, 88, 101, CAM_HUMAN_PLAYER); setNoGoArea(49, 83, 51, 85, THE_COLLECTIVE); setMissionTime(camChangeOnDiff(camHoursToSeconds(1))); - camPlayVideos(["MB2_6_MSG", "MB2_6_MSG2", "MB2_6_MSG3"]); + camPlayVideos([{video: "MB2_6_MSG", type: CAMP_MSG}, {video: "MB2_6_MSG2", type: CAMP_MSG}, {video: "MB2_6_MSG3", type: MISS_MSG}]); camSetStandardWinLossConditions(CAM_VICTORY_PRE_OFFWORLD, "SUB_2_6"); } diff --git a/script/campaign/cam2-7.js b/script/campaign/cam2-7.js index 5d541f9..49e1eeb 100644 --- a/script/campaign/cam2-7.js +++ b/script/campaign/cam2-7.js @@ -220,12 +220,12 @@ function eventStartLevel() //This mission shows you the approximate base locations at the start. //These are removed once the base it is close to is seen and is replaced //with a more precise proximity blip. - hackAddMessage("C27_OBJECTIVE1", PROX_MSG, CAM_HUMAN_PLAYER, true); - hackAddMessage("C27_OBJECTIVE2", PROX_MSG, CAM_HUMAN_PLAYER, true); - hackAddMessage("C27_OBJECTIVE3", PROX_MSG, CAM_HUMAN_PLAYER, true); - hackAddMessage("C27_OBJECTIVE4", PROX_MSG, CAM_HUMAN_PLAYER, true); - - queue("baseThreeVtolAttack", camSecondsToMilliseconds(30)); - queue("baseFourVtolAttack", camMinutesToMilliseconds(1)); - queue("enableFactoriesAndHovers", camChangeOnDiff(camMinutesToMilliseconds(1.5))); + hackAddMessage("C27_OBJECTIVE1", PROX_MSG, CAM_HUMAN_PLAYER, false); + hackAddMessage("C27_OBJECTIVE2", PROX_MSG, CAM_HUMAN_PLAYER, false); + hackAddMessage("C27_OBJECTIVE3", PROX_MSG, CAM_HUMAN_PLAYER, false); + hackAddMessage("C27_OBJECTIVE4", PROX_MSG, CAM_HUMAN_PLAYER, false); + + queue("baseThreeVtolAttack", camChangeOnDiff(camSecondsToMilliseconds(90))); + queue("baseFourVtolAttack", camChangeOnDiff(camMinutesToMilliseconds(2))); + queue("enableFactoriesAndHovers", camChangeOnDiff(camMinutesToMilliseconds(2))); } diff --git a/script/campaign/cam2-7s.js b/script/campaign/cam2-7s.js index a2763d2..1de78a5 100644 --- a/script/campaign/cam2-7s.js +++ b/script/campaign/cam2-7s.js @@ -7,6 +7,6 @@ function eventStartLevel() setNoGoArea(86, 99, 88, 101, CAM_HUMAN_PLAYER); setNoGoArea(49, 83, 51, 85, THE_COLLECTIVE); setMissionTime(camChangeOnDiff(camHoursToSeconds(1.5))); - camPlayVideos(["MB2_7_MSG", "MB2_7_MSG2"]); + camPlayVideos([{video: "MB2_7_MSG", type: CAMP_MSG}, {video: "MB2_7_MSG2", type: MISS_MSG}]); camSetStandardWinLossConditions(CAM_VICTORY_PRE_OFFWORLD, "SUB_2_7"); } diff --git a/script/campaign/cam2-8.js b/script/campaign/cam2-8.js index 61fa150..3c63523 100644 --- a/script/campaign/cam2-8.js +++ b/script/campaign/cam2-8.js @@ -185,7 +185,7 @@ function eventStartLevel() truckDefense(); queue("setupLandGroups", camSecondsToMilliseconds(50)); - queue("vtolAttack", camMinutesToMilliseconds(1)); + queue("vtolAttack", camChangeOnDiff(camMinutesToMilliseconds(1.5))); queue("enableFactories", camChangeOnDiff(camMinutesToMilliseconds(1.5))); setTimer("truckDefense", camMinutesToMilliseconds(2)); } diff --git a/script/campaign/cam2-8s.js b/script/campaign/cam2-8s.js index 9da5fe3..dff7db0 100644 --- a/script/campaign/cam2-8s.js +++ b/script/campaign/cam2-8s.js @@ -7,6 +7,6 @@ function eventStartLevel() setNoGoArea(86, 99, 88, 101, CAM_HUMAN_PLAYER); setNoGoArea(49, 83, 51, 85, THE_COLLECTIVE); setMissionTime(camChangeOnDiff(camHoursToSeconds(1))); - camPlayVideos(["MB2_8_MSG", "MB2_8_MSG2"]); + camPlayVideos([{video: "MB2_8_MSG", type: CAMP_MSG}, {video: "MB2_8_MSG2", type: MISS_MSG}]); camSetStandardWinLossConditions(CAM_VICTORY_PRE_OFFWORLD, "SUB_2_8"); } diff --git a/script/campaign/cam2-a.js b/script/campaign/cam2-a.js index 6e0e51b..34ccbc2 100644 --- a/script/campaign/cam2-a.js +++ b/script/campaign/cam2-a.js @@ -16,7 +16,7 @@ camAreaEvent("vtolRemoveZone", function(droid) //Attack and destroy all those who resist the Machine! -The Collective function secondVideo() { - camPlayVideos("MB2A_MSG2"); + camPlayVideos({video: "MB2A_MSG2", type: CAMP_MSG}); } //Damage the base and droids for the player @@ -341,7 +341,7 @@ function eventStartLevel() camManageTrucks(THE_COLLECTIVE); truckDefense(); setUnitRank(); //All pre-placed player droids are ranked. - camPlayVideos("MB2A_MSG"); + camPlayVideos({video: "MB2A_MSG", type: MISS_MSG}); startedFromMenu = false; //Only if starting Beta directly rather than going through Alpha @@ -359,7 +359,7 @@ function eventStartLevel() queue("secondVideo", camSecondsToMilliseconds(12)); queue("groupPatrol", camChangeOnDiff(camMinutesToMilliseconds(1))); queue("vtolAttack", camChangeOnDiff(camMinutesToMilliseconds(3))); - setTimer("truckDefense", camSecondsToMilliseconds(160)); + setTimer("truckDefense", camChangeOnDiff(camMinutesToMilliseconds(3))); setTimer("sendCOTransporter", camChangeOnDiff(camMinutesToMilliseconds(4))); setTimer("mapEdgeDroids", camChangeOnDiff(camMinutesToMilliseconds(7))); } diff --git a/script/campaign/cam2-b.js b/script/campaign/cam2-b.js index 20c5efa..b0433dc 100644 --- a/script/campaign/cam2-b.js +++ b/script/campaign/cam2-b.js @@ -124,7 +124,7 @@ function eventStartLevel() setNoGoArea(enemyLz.x, enemyLz.y, enemyLz.x2, enemyLz.y2, THE_COLLECTIVE); setMissionTime(camChangeOnDiff(camHoursToSeconds(2))); - camPlayVideos(["MB2_B_MSG", "MB2_B_MSG2"]); + camPlayVideos([{video: "MB2_B_MSG", type: CAMP_MSG}, {video: "MB2_B_MSG2", type: MISS_MSG}]); camSetArtifacts({ "COResearchLab": { tech: "R-Wpn-Flame2" }, @@ -234,7 +234,7 @@ function eventStartLevel() camManageTrucks(THE_COLLECTIVE); truckDefense(); - hackAddMessage("C2B_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, true); + hackAddMessage("C2B_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, false); camEnableFactory("COHeavyFac-b4"); camEnableFactory("COCybFac-b4"); @@ -244,5 +244,5 @@ function eventStartLevel() queue("vtolAttack", camChangeOnDiff(camMinutesToMilliseconds(4))); queue("activateBase1Defenders2", camChangeOnDiff(camMinutesToMilliseconds(20))); queue("activateBase1Defenders", camChangeOnDiff(camMinutesToMilliseconds(30))); - setTimer("truckDefense", camSecondsToMilliseconds(160)); + setTimer("truckDefense", camChangeOnDiff(camMinutesToMilliseconds(3))); } diff --git a/script/campaign/cam2-c.js b/script/campaign/cam2-c.js index 1772c74..d4a6e90 100644 --- a/script/campaign/cam2-c.js +++ b/script/campaign/cam2-c.js @@ -33,8 +33,8 @@ function videoTrigger() setTimer("captureCivilians", camChangeOnDiff(camSecondsToMilliseconds(10))); hackRemoveMessage("C2C_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER); - camPlayVideos("MB2_C_MSG2"); - hackAddMessage("C2C_OBJ2", PROX_MSG, CAM_HUMAN_PLAYER, true); + camPlayVideos({video: "MB2_C_MSG2", type: MISS_MSG}); + hackAddMessage("C2C_OBJ2", PROX_MSG, CAM_HUMAN_PLAYER, false); } //Enable heavy factories and make groups do what they need to. @@ -406,9 +406,9 @@ function eventStartLevel() shepardGroup = camMakeGroup("heavyGroup2"); enableFactories(); - camPlayVideos("MB2_C_MSG"); - hackAddMessage("C2C_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, true); + camPlayVideos({video: "MB2_C_MSG", type: MISS_MSG}); + hackAddMessage("C2C_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, false); queue("activateGroups", camChangeOnDiff(camMinutesToMilliseconds(8))); - setTimer("truckDefense", camSecondsToMilliseconds(160)); + setTimer("truckDefense", camChangeOnDiff(camMinutesToMilliseconds(3))); } diff --git a/script/campaign/cam2-d.js b/script/campaign/cam2-d.js index 5f7611b..82700ba 100644 --- a/script/campaign/cam2-d.js +++ b/script/campaign/cam2-d.js @@ -187,7 +187,7 @@ function eventStartLevel() camManageTrucks(THE_COLLECTIVE); truckDefense(); - hackAddMessage("C2D_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, true); + hackAddMessage("C2D_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER, false); camEnableFactory("COHeavyFactoryA"); camEnableFactory("COHeavyFactoryB"); @@ -195,6 +195,6 @@ function eventStartLevel() camEnableFactory("COHeavyFactoryD"); camEnableFactory("COSouthCyborgFactory"); - queue("vtolAttack", camMinutesToMilliseconds(3)); - setTimer("truckDefense", camSecondsToMilliseconds(160)); + queue("vtolAttack", camChangeOnDiff(camMinutesToMilliseconds(3))); + setTimer("truckDefense", camChangeOnDiff(camMinutesToMilliseconds(4))); } diff --git a/script/campaign/cam2-ds.js b/script/campaign/cam2-ds.js index 40020a3..1d9c4d3 100644 --- a/script/campaign/cam2-ds.js +++ b/script/campaign/cam2-ds.js @@ -8,6 +8,6 @@ function eventStartLevel() setNoGoArea(86, 99, 88, 101, CAM_HUMAN_PLAYER); setNoGoArea(49, 83, 51, 85, THE_COLLECTIVE); setMissionTime(camChangeOnDiff(camMinutesToSeconds(75))); - camPlayVideos(["MB2_DI_MSG", "MB2_DI_MSG2"]); + camPlayVideos([{video: "MB2_DI_MSG", type: MISS_MSG}, {video: "MB2_DI_MSG2", type: CAMP_MSG}]); camSetStandardWinLossConditions(CAM_VICTORY_PRE_OFFWORLD, "SUB_2D"); } diff --git a/script/campaign/cam2-end.js b/script/campaign/cam2-end.js index 582be14..437b0d8 100644 --- a/script/campaign/cam2-end.js +++ b/script/campaign/cam2-end.js @@ -48,7 +48,7 @@ function playLastVideo() { camSafeRemoveObject(droids[i], false); } - camPlayVideos("CAM2_OUT"); + camPlayVideos({video: "CAM2_OUT", type: CAMP_MSG}); } //Allow a win if a transporter was launched with a construction droid. @@ -210,7 +210,7 @@ function eventStartLevel() camCompleteRequiredResearch(COLLECTIVE_RES, THE_COLLECTIVE); allowWin = false; - camPlayVideos(["MB2_DII_MSG", "MB2_DII_MSG2"]); + camPlayVideos([{video: "MB2_DII_MSG", type: CAMP_MSG}, {video: "MB2_DII_MSG2", type: MISS_MSG}]); vtolAttack(); if (difficulty === INSANE) diff --git a/script/campaign/cam3-1.js b/script/campaign/cam3-1.js index 846adec..50f725e 100644 --- a/script/campaign/cam3-1.js +++ b/script/campaign/cam3-1.js @@ -161,7 +161,7 @@ function setupNextMission() { camSetExtraObjectiveMessage(_("Move all units into the valley")); - camPlayVideos(["labort.ogg", "MB3_1B_MSG", "MB3_1B_MSG2"]); + camPlayVideos(["labort.ogg", {video: "MB3_1B_MSG", type: CAMP_MSG}, {video: "MB3_1B_MSG2", type: MISS_MSG}]); setScrollLimits(0, 0, 64, 64); //Reveal the whole map. setMissionTime(camChangeOnDiff(camMinutesToSeconds(30))); diff --git a/script/campaign/cam3-1s.js b/script/campaign/cam3-1s.js index 03a59c2..b274548 100644 --- a/script/campaign/cam3-1s.js +++ b/script/campaign/cam3-1s.js @@ -7,6 +7,6 @@ function eventStartLevel() setNoGoArea(55, 119, 57, 121, CAM_HUMAN_PLAYER); setNoGoArea(7, 52, 9, 54, NEXUS); setMissionTime(camChangeOnDiff(camMinutesToSeconds(75))); - camPlayVideos(["MB3_1A_MSG", "MB3_1A_MSG2"]); + camPlayVideos([{video: "MB3_1A_MSG", type: CAMP_MSG}, {video: "MB3_1A_MSG2", type: MISS_MSG}]); camSetStandardWinLossConditions(CAM_VICTORY_PRE_OFFWORLD, "SUB_3_1"); } diff --git a/script/campaign/cam3-2.js b/script/campaign/cam3-2.js index 112a3fc..45c7050 100644 --- a/script/campaign/cam3-2.js +++ b/script/campaign/cam3-2.js @@ -50,14 +50,14 @@ camAreaEvent("rescueTrigger", function(droid) queue("getAlphaUnitIDs", camSecondsToMilliseconds(2)); setTimer("phantomFactorySE", camChangeOnDiff(camMinutesToMilliseconds(5))); - camPlayVideos("MB3_2_MSG4"); + camPlayVideos({video: "MB3_2_MSG4", type: MISS_MSG}); }); //Play videos, donate alpha to the player and setup reinforcements. camAreaEvent("phantomFacTrigger", function(droid) { vtolAttack(); - camPlayVideos(["pcv456.ogg", "MB3_2_MSG3"]); //Warn about VTOLs. + camPlayVideos(["pcv456.ogg", {video: "MB3_2_MSG3", type: CAMP_MSG}]); //Warn about VTOLs. queue("enableReinforcements", camSecondsToMilliseconds(5)); }); diff --git a/script/campaign/cam3-2s.js b/script/campaign/cam3-2s.js index 05e9d6a..690bd64 100644 --- a/script/campaign/cam3-2s.js +++ b/script/campaign/cam3-2s.js @@ -6,7 +6,7 @@ function eventStartLevel() centreView(57, 119); setNoGoArea(55, 119, 57, 121, CAM_HUMAN_PLAYER); setNoGoArea(7, 52, 9, 54, NEXUS); - setMissionTime(camChangeOnDiff(camHoursToSeconds(1))); - camPlayVideos(["MB3_2_MSG", "MB3_2_MSG2"]); + setMissionTime(camChangeOnDiff(camHoursToSeconds(1))); + camPlayVideos([{video: "MB3_2_MSG", type: CAMP_MSG}, {video: "MB3_2_MSG2", type: MISS_MSG}]); camSetStandardWinLossConditions(CAM_VICTORY_PRE_OFFWORLD, "SUB_3_2"); } diff --git a/script/campaign/cam3-4.js b/script/campaign/cam3-4.js index ab8c930..7c38383 100644 --- a/script/campaign/cam3-4.js +++ b/script/campaign/cam3-4.js @@ -24,7 +24,7 @@ function eventDestroyed(obj) if (enumDroid(CAM_HUMAN_PLAYER).length === 0) { //Play an addition special video when losing on the last Gamma mission. - hackAddMessage("MB3_4_MSG5", MISS_MSG, CAM_HUMAN_PLAYER, true); + camPlayVideos({video: "MB3_4_MSG5", type: CAMP_MSG}); } } } @@ -82,7 +82,7 @@ function activateNexus() function camEnemyBaseDetected_NX_SWBase() { - hackAddMessage("MB3_4_MSG4", MISS_MSG, CAM_HUMAN_PLAYER, true); + camPlayVideos({video: "MB3_4_MSG4", type: MISS_MSG}); firstAbsorbAttack(); //before Nexus state activation to prevent sound spam. queue("activateNexus", camSecondsToMilliseconds(1)); } @@ -382,7 +382,7 @@ function eventStartLevel() }); //Show Project transport flying video. - hackAddMessage("MB3_4_MSG3", MISS_MSG, CAM_HUMAN_PLAYER, true); + camPlayVideos({video: "MB3_4_MSG3", type: CAMP_MSG}); hackAddMessage("CM34_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER); queue("enableAllFactories", camChangeOnDiff(camMinutesToMilliseconds(5))); diff --git a/script/campaign/cam3-4s.js b/script/campaign/cam3-4s.js index 7be6427..78bcd08 100644 --- a/script/campaign/cam3-4s.js +++ b/script/campaign/cam3-4s.js @@ -9,6 +9,6 @@ function eventStartLevel() setScrollLimits(0, 137, 64, 256); setMissionTime(camMinutesToSeconds(30)); setPower(playerPower(CAM_HUMAN_PLAYER) + 50000, CAM_HUMAN_PLAYER); - camPlayVideos(["MB3_4_MSG", "MB3_4_MSG2"]); + camPlayVideos([{video: "MB3_4_MSG", type: CAMP_MSG}, {video: "MB3_4_MSG2", type: MISS_MSG}]); camSetStandardWinLossConditions(CAM_VICTORY_PRE_OFFWORLD, "CAM_3_4"); } diff --git a/script/campaign/cam3-a.js b/script/campaign/cam3-a.js index af078f3..4296eb5 100644 --- a/script/campaign/cam3-a.js +++ b/script/campaign/cam3-a.js @@ -326,7 +326,7 @@ function eventStartLevel() }); camManageTrucks(NEXUS); - camPlayVideos(["CAM3_INT", "MB3A_MSG2"]); + camPlayVideos([{video: "CAM3_INT", type: CAMP_MSG}, {video: "MB3A_MSG2", type: MISS_MSG}]); startedFromMenu = false; //Only if starting Gamma directly rather than going through Beta diff --git a/script/campaign/cam3-ab.js b/script/campaign/cam3-ab.js index 28732b4..2fadd8e 100644 --- a/script/campaign/cam3-ab.js +++ b/script/campaign/cam3-ab.js @@ -186,8 +186,13 @@ function eventResearched(research, structure, player) hackFailChance = 80; } else if (research.name === "R-Sys-Resistance-Upgrade03") + { + hackFailChance = 97; + } + else if (research.name === "R-Sys-Resistance-Upgrade04") { winFlag = true; + hackFailChance = 100; camSetNexusState(false); removeTimer("sendEdgeMapDroids"); setTimer("sendEdgeMapDroids", camChangeOnDiff(camSecondsToMilliseconds(45))); // Waves start coming faster (if the player hasn't already won) @@ -237,7 +242,7 @@ function eventStartLevel() }); camSetNexusState(true); - camPlayVideos(["MB3_AB_MSG", "MB3_AB_MSG2", "MB3_AB_MSG3"]); + camPlayVideos([{video: "MB3_AB_MSG", type: CAMP_MSG}, {video: "MB3_AB_MSG2", type: CAMP_MSG}, {video: "MB3_AB_MSG3", type: MISS_MSG}]); centreView(startpos.x, startpos.y); setNoGoArea(lz.x, lz.y, lz.x2, lz.y2, CAM_HUMAN_PLAYER); diff --git a/script/campaign/cam3-ad1.js b/script/campaign/cam3-ad1.js index 11549a5..02f27bd 100644 --- a/script/campaign/cam3-ad1.js +++ b/script/campaign/cam3-ad1.js @@ -315,7 +315,7 @@ function eventStartLevel() }, }); - camPlayVideos(["MB3_AD1_MSG", "MB3_AD1_MSG2", "MB3_AD1_MSG3"]); + camPlayVideos([{video: "MB3_AD1_MSG", type: CAMP_MSG}, {video: "MB3_AD1_MSG2", type: CAMP_MSG}, {video: "MB3_AD1_MSG3", type: MISS_MSG}]); hackAddMessage("CM3D1_OBJ1", PROX_MSG, CAM_HUMAN_PLAYER); camEnableFactory("NXbase1VtolFacArti"); camEnableFactory("NXcyborgFac1"); diff --git a/script/campaign/cam3-ad2.js b/script/campaign/cam3-ad2.js index 1c61e7e..f47fe1d 100644 --- a/script/campaign/cam3-ad2.js +++ b/script/campaign/cam3-ad2.js @@ -234,7 +234,7 @@ function eventResearched(research, structure, player) if (research.name === videoInfo[i].res && !videoInfo[i].played) { videoInfo[i].played = true; - camPlayVideos(videoInfo[i].video); + camPlayVideos({video: videoInfo[i].video, type: videoInfo[i].type}); if (videoInfo[i].res === "R-Sys-Resistance") { enableResearch("R-Comp-MissileCodes01", CAM_HUMAN_PLAYER); @@ -256,7 +256,7 @@ function checkTime() { if (getMissionTime() <= 2) { - camPlayVideos("MB3_AD2_MSG2"); + camPlayVideos({video: "MB3_AD2_MSG2", type: CAMP_MSG}); setMissionTime(camHoursToSeconds(1)); phantomFactorySpawn(); @@ -292,10 +292,10 @@ function eventStartLevel() winFlag = false; siegeMode = false; videoInfo = [ - {played: false, video: "MB3_AD2_MSG3", res: "R-Sys-Resistance"}, - {played: false, video: "MB3_AD2_MSG4", res: "R-Comp-MissileCodes01"}, - {played: false, video: "MB3_AD2_MSG5", res: "R-Comp-MissileCodes02"}, - {played: false, video: "MB3_AD2_MSG6", res: "R-Comp-MissileCodes03"}, + {played: false, video: "MB3_AD2_MSG3", type: MISS_MSG, res: "R-Sys-Resistance"}, + {played: false, video: "MB3_AD2_MSG4", type: CAMP_MSG, res: "R-Comp-MissileCodes01"}, + {played: false, video: "MB3_AD2_MSG5", type: CAMP_MSG, res: "R-Comp-MissileCodes02"}, + {played: false, video: "MB3_AD2_MSG6", type: CAMP_MSG, res: "R-Comp-MissileCodes03"}, ]; camSetStandardWinLossConditions(CAM_VICTORY_STANDARD, "CAM_3_4S", { @@ -320,7 +320,7 @@ function eventStartLevel() setNoGoArea(enemyLz.x, enemyLz.y, enemyLz.x2, enemyLz.y2, NEXUS); camCompleteRequiredResearch(NEXUS_RES, NEXUS); - camPlayVideos("MB3_AD2_MSG"); + camPlayVideos({video: "MB3_AD2_MSG", type: MISS_MSG}); setTimer("checkTime", camSecondsToMilliseconds(0.2)); queue("vtolAttack", camChangeOnDiff(camMinutesToMilliseconds(3))); diff --git a/script/campaign/cam3-b.js b/script/campaign/cam3-b.js index 506cf75..a6fa712 100644 --- a/script/campaign/cam3-b.js +++ b/script/campaign/cam3-b.js @@ -4,6 +4,7 @@ include("script/campaign/transitionTech.js"); var trapActive; var gammaAttackCount; +var truckLocCounter; const GAMMA = 1; // Player 1 is Gamma team. const NEXUS_RES = [ "R-Defense-WallUpgrade08", "R-Struc-Materials08", "R-Struc-Factory-Upgrade06", @@ -207,12 +208,37 @@ function activateNexusGroups() }); } +function truckDefense() +{ + if (enumDroid(GAMMA, DROID_CONSTRUCT).length === 0) + { + removeTimer("truckDefense"); + return; + } + + var list = ["Emplacement-Howitzer105", "Emplacement-HvART-pit", "Emplacement-RotHow"]; + var position; + + if (truckLocCounter === 0) + { + position = camMakePos("buildPos1"); + truckLocCounter += 1; + } + else + { + position = camMakePos("buildPos2"); + truckLocCounter = 0; + } + + camQueueBuilding(GAMMA, list[camRand(list.length)], position); +} + //Take everything Gamma has and donate to Nexus. function trapSprung() { setAlliance(GAMMA, NEXUS, true); setAlliance(GAMMA, CAM_HUMAN_PLAYER, false); - camPlayVideos("MB3_B_MSG3"); + camPlayVideos({video: "MB3_B_MSG3", type: CAMP_MSG}); hackRemoveMessage("CM3B_GAMMABASE", PROX_MSG, CAM_HUMAN_PLAYER); setMissionTime(camChangeOnDiff(camMinutesToSeconds(90))); @@ -225,6 +251,7 @@ function trapSprung() setTimer("sendNXTransporter", camChangeOnDiff(camMinutesToMilliseconds(3))); setTimer("sendNXlandReinforcements", camChangeOnDiff(camMinutesToMilliseconds(6))); + setTimer("truckDefense", camChangeOnDiff(camMinutesToMilliseconds(4.5))); } function setupCapture() @@ -253,6 +280,7 @@ function eventStartLevel() { trapActive = false; gammaAttackCount = 0; + truckLocCounter = 0; var startpos = getObject("startPosition"); var lz = getObject("landingZone"); @@ -333,9 +361,16 @@ function eventStartLevel() } }); + if (difficulty >= HARD) + { + addDroid(GAMMA, 28, 5, "Truck Python Tracks", "Body11ABT", "tracked01", "", "", "Spade1Mk1"); + + camManageTrucks(GAMMA); + } + setAlliance(GAMMA, CAM_HUMAN_PLAYER, true); - hackAddMessage("CM3B_GAMMABASE", PROX_MSG, CAM_HUMAN_PLAYER, true); - camPlayVideos(["MB3_B_MSG", "MB3_B_MSG2"]); + hackAddMessage("CM3B_GAMMABASE", PROX_MSG, CAM_HUMAN_PLAYER, false); + camPlayVideos([{video: "MB3_B_MSG", type: CAMP_MSG}, {video: "MB3_B_MSG2", type: MISS_MSG}]); changePlayerColour(GAMMA, 0); setAlliance(GAMMA, CAM_HUMAN_PLAYER, true); diff --git a/script/campaign/cam3-c.js b/script/campaign/cam3-c.js index fc70592..c7282b8 100644 --- a/script/campaign/cam3-c.js +++ b/script/campaign/cam3-c.js @@ -157,8 +157,8 @@ function eventStartLevel() camCompleteRequiredResearch(NEXUS_RES, NEXUS); camCompleteRequiredResearch(GAMMA_ALLY_RES, GAMMA); - hackAddMessage("CM3C_GAMMABASE", PROX_MSG, CAM_HUMAN_PLAYER, true); - hackAddMessage("CM3C_BETATEAM", PROX_MSG, CAM_HUMAN_PLAYER, true); + hackAddMessage("CM3C_GAMMABASE", PROX_MSG, CAM_HUMAN_PLAYER, false); + hackAddMessage("CM3C_BETATEAM", PROX_MSG, CAM_HUMAN_PLAYER, false); setAlliance(CAM_HUMAN_PLAYER, GAMMA, true); setAlliance(NEXUS, GAMMA, true); @@ -242,7 +242,7 @@ function eventStartLevel() }, }); - camPlayVideos(["MB3_C_MSG", "MB3_C_MSG2"]); + camPlayVideos([{video: "MB3_C_MSG", type: CAMP_MSG}, {video: "MB3_C_MSG2", type: MISS_MSG}]); setScrollLimits(0, 137, 64, 192); //Show the middle section of the map. changePlayerColour(GAMMA, 0); diff --git a/script/campaign/libcampaign_includes/nexus.js b/script/campaign/libcampaign_includes/nexus.js index 5dc4f23..5b6fd39 100644 --- a/script/campaign/libcampaign_includes/nexus.js +++ b/script/campaign/libcampaign_includes/nexus.js @@ -185,6 +185,10 @@ function __camChooseNexusTarget(player) } return d.experience < EXP.hero; } + else if (getResearch("R-Sys-Resistance-Upgrade04").done) + { + return false; //Everything is safe + } else if (getResearch("R-Sys-Resistance-Upgrade03").done) { if (d.droidType === DROID_CONSTRUCT && camRand(100) < 66) From d42a98d209dd29ca411c26ddaedb3240cb5440b0 Mon Sep 17 00:00:00 2001 From: Dylan <28832631+DARwins1@users.noreply.github.com> Date: Wed, 27 Oct 2021 02:27:35 -0500 Subject: [PATCH 7/7] Add files via upload --- components/weapons/gnmrepr2.pie | 148 ++++++++++++++++---------------- 1 file changed, 74 insertions(+), 74 deletions(-) diff --git a/components/weapons/gnmrepr2.pie b/components/weapons/gnmrepr2.pie index 6a669b8..9cda83c 100644 --- a/components/weapons/gnmrepr2.pie +++ b/components/weapons/gnmrepr2.pie @@ -1,78 +1,78 @@ -PIE 2 +PIE 3 TYPE 10200 -TEXTURE 0 page-17-droid-weapons.png 256 256 +TEXTURE 0 page-17-droid-weapons.png 0 0 LEVELS 1 LEVEL 1 -POINTS 30 - 12 0 15 - 7 26 8 - 7 26 -8 - 12 0 -14 - -12 0 15 - -12 0 -14 - -7 26 -8 - -7 26 8 - 4 22 38 - -3 22 38 - -7 22 9 - 7 22 9 - 0 8 31 - 0 4 14 - 7 22 -9 - -7 22 -9 - -4 22 -41 - 4 22 -41 - 0 4 -13 - 0 11 -44 - -4 14 -54 - -4 11 -44 - 4 11 -44 - 4 14 -54 - -4 25 -51 - 4 25 -51 - 0 3 -51 - 0 13 -52 - -3 12 -46 +POINTS 30 + 12 0 -14 + 7 26 -8 + 7 26 8 + 12 0 15 + -7 26 8 + -7 26 -8 + -12 0 -14 + -12 0 15 + 7 22 9 + -7 22 9 + -3 22 38 + 4 22 38 + 0 4 14 + 0 8 31 + 4 22 -41 + -4 22 -41 + -7 22 -9 + 7 22 -9 + 0 11 -44 + 0 4 -13 + 4 14 -54 + 4 11 -44 + -4 11 -44 + -4 14 -54 + 4 25 -51 + -4 25 -51 + 0 3 -51 + 0 13 -52 + -3 12 -46 2 12 -46 -POLYGONS 41 - 200 3 3 2 1 0 140 0 129 16 129 - 200 3 3 1 0 0 140 16 129 16 140 - 200 3 7 6 5 0 129 16 129 16 140 - 200 3 7 5 4 0 129 16 140 0 140 - 200 3 5 6 2 0 129 16 129 16 140 - 200 3 5 2 3 0 129 16 140 0 140 - 200 3 6 7 1 0 129 16 129 16 140 - 200 3 6 1 2 0 129 16 140 0 140 - 200 3 7 4 0 0 129 16 129 16 140 - 200 3 7 0 1 0 129 16 140 0 140 - 200 3 11 10 9 199 66 182 66 182 83 - 200 3 11 9 8 199 66 182 83 199 83 - 200 3 13 11 8 199 66 182 66 182 83 - 200 3 13 8 12 199 66 182 83 199 83 - 200 3 10 13 12 199 66 182 66 182 83 - 200 3 10 12 9 199 66 182 83 199 83 - 200 3 12 8 9 182 78 190 103 173 103 - 200 3 17 16 15 199 62 182 62 182 87 - 200 3 17 15 14 199 62 182 87 199 87 - 200 3 19 17 14 199 62 182 62 182 87 - 200 3 19 14 18 199 62 182 87 199 87 - 200 3 16 19 18 199 62 182 62 182 87 - 200 3 16 18 15 199 62 182 87 199 87 - 200 3 23 22 21 2 177 0 177 0 191 - 200 3 23 21 20 2 177 0 191 2 191 - 200 3 22 17 16 0 177 4 177 4 191 - 200 3 22 16 21 0 177 4 191 0 191 - 200 3 17 25 24 4 177 6 177 6 191 - 200 3 17 24 16 4 177 6 191 4 191 - 200 3 25 23 20 6 177 2 177 2 191 - 200 3 25 20 24 6 177 2 191 6 191 - 200 3 21 16 24 6 191 6 177 0 177 - 200 3 21 24 20 6 191 0 177 0 191 - 200 3 25 17 22 0 177 6 177 6 191 - 200 3 25 22 23 0 177 6 191 0 191 - 200 3 26 27 28 34 181 36 187 31 187 - 200 3 28 27 26 31 187 36 187 34 181 - 200 3 26 28 29 34 181 31 187 31 187 - 200 3 29 28 26 31 187 31 187 34 181 - 200 3 26 29 27 34 181 31 187 36 187 - 200 3 27 29 26 36 187 31 187 34 181 \ No newline at end of file +POLYGONS 39 + 200 3 0 1 2 0 0.546875 0 0.503906 0.0625 0.503906 + 200 3 0 2 3 0 0.546875 0.0625 0.503906 0.0625 0.546875 + 200 3 4 5 6 0 0.503906 0.0625 0.503906 0.0625 0.546875 + 200 3 4 6 7 0 0.503906 0.0625 0.546875 0 0.546875 + 200 3 6 5 1 0 0.503906 0.0625 0.503906 0.0625 0.546875 + 200 3 6 1 0 0 0.503906 0.0625 0.546875 0 0.546875 + 200 3 5 4 2 0 0.503906 0.0625 0.503906 0.0625 0.546875 + 200 3 5 2 1 0 0.503906 0.0625 0.546875 0 0.546875 + 200 3 4 7 3 0 0.503906 0.0625 0.503906 0.0625 0.546875 + 200 3 4 3 2 0 0.503906 0.0625 0.546875 0 0.546875 + 200 3 8 9 10 0.777344 0.257812 0.710938 0.257812 0.710938 0.324219 + 200 3 8 10 11 0.777344 0.257812 0.710938 0.324219 0.777344 0.324219 + 200 3 12 8 11 0.777344 0.257812 0.710938 0.257812 0.710938 0.324219 + 200 3 12 11 13 0.777344 0.257812 0.710938 0.324219 0.777344 0.324219 + 200 3 9 12 13 0.777344 0.257812 0.710938 0.257812 0.710938 0.324219 + 200 3 9 13 10 0.777344 0.257812 0.710938 0.324219 0.777344 0.324219 + 200 3 13 11 10 0.710938 0.304688 0.742188 0.402344 0.675781 0.402344 + 200 3 14 15 16 0.777344 0.242188 0.710938 0.242188 0.710938 0.339844 + 200 3 14 16 17 0.777344 0.242188 0.710938 0.339844 0.777344 0.339844 + 200 3 18 14 17 0.777344 0.242188 0.710938 0.242188 0.710938 0.339844 + 200 3 18 17 19 0.777344 0.242188 0.710938 0.339844 0.777344 0.339844 + 200 3 15 18 19 0.777344 0.242188 0.710938 0.242188 0.710938 0.339844 + 200 3 15 19 16 0.777344 0.242188 0.710938 0.339844 0.777344 0.339844 + 200 3 20 21 22 0.0078125 0.691406 0 0.691406 0 0.746094 + 200 3 20 22 23 0.0078125 0.691406 0 0.746094 0.0078125 0.746094 + 200 3 21 14 15 0 0.691406 0.015625 0.691406 0.015625 0.746094 + 200 3 21 15 22 0 0.691406 0.015625 0.746094 0 0.746094 + 200 3 14 24 25 0.015625 0.691406 0.0234375 0.691406 0.0234375 0.746094 + 200 3 14 25 15 0.015625 0.691406 0.0234375 0.746094 0.015625 0.746094 + 200 3 24 20 23 0.0234375 0.691406 0.0078125 0.691406 0.0078125 0.746094 + 200 3 24 23 25 0.0234375 0.691406 0.0078125 0.746094 0.0234375 0.746094 + 200 3 22 15 25 0.0234375 0.746094 0.0234375 0.691406 0 0.691406 + 200 3 22 25 23 0.0234375 0.746094 0 0.691406 0 0.746094 + 200 3 24 14 21 0 0.691406 0.0234375 0.691406 0.0234375 0.746094 + 200 3 24 21 20 0 0.691406 0.0234375 0.746094 0 0.746094 + 200 3 26 27 28 0.132812 0.707031 0.140625 0.730469 0.121094 0.730469 + 200 3 28 27 26 0.121094 0.730469 0.140625 0.730469 0.132812 0.707031 + 200 3 26 29 27 0.132812 0.707031 0.121094 0.730469 0.140625 0.730469 + 200 3 27 29 26 0.140625 0.730469 0.121094 0.730469 0.132812 0.707031 +CONNECTORS 1 + 0 -51 3