From a64f4aca205b6fad48150fb0d030017b2cddea17 Mon Sep 17 00:00:00 2001 From: "Ghostrider [GRG]" Date: Sat, 23 Sep 2023 10:05:31 -0400 Subject: [PATCH] Add GMS Mission System --- @GMS/addons/GMS/$PBOPREFIX$ | 1 + .../Functions/GMS_fnc_findSafePosn_2.sqf | 97 ++ .../Functions/GMS_fnc_findSafePosn_3.sqf | 193 ++++ .../Functions/GMS_fnc_findSafePosn_4.sqf | 179 ++++ .../Compiles/Functions/fn_addItemToCrate.sqf | 21 + .../Functions/fn_broadcastServerFPS.sqf | 19 + .../Functions/fn_cleanEmptyGroups.sqf | 22 + .../Compiles/Functions/fn_countAliveAI.sqf | 27 + .../Functions/fn_createMissionMarkers.sqf | 64 ++ .../Compiles/Functions/fn_deleteMarker.sqf | 17 + .../fn_findPositionsAlongARadius.sqf | 36 + .../fn_findRandomLocationWithinCircle.sqf | 16 + .../Functions/fn_findShoreLocation.sqf | 42 + .../Compiles/Functions/fn_findWaterDepth.sqf | 24 + .../Functions/fn_getAllBlckeaglsMarkers.sqf | 15 + .../Functions/fn_getAllDMSMarkers.sqf | 17 + .../Functions/fn_getAllMarkersOfSubtype.sqf | 26 + .../Functions/fn_getIndexFromDifficulty.sqf | 12 + .../Functions/fn_loadLootItemsFromArray.sqf | 46 + .../GMS/Compiles/Functions/fn_mainThread.sqf | 96 ++ .../Functions/fn_markerSetAliveAICount.sqf | 23 + .../Compiles/Functions/fn_messagePlayers.sqf | 23 + .../Functions/fn_missionCompleteMarker.sqf | 31 + .../GMS/Compiles/Functions/fn_msgIED.sqf | 15 + .../Compiles/Functions/fn_nearestPlayers.sqf | 31 + .../Compiles/Functions/fn_playerInRange.sqf | 31 + .../Functions/fn_playerInRangeArray.sqf | 27 + .../Functions/fn_restoreHiddenObjects.sqf | 27 + .../GMS/Compiles/Functions/fn_setDirUp.sqf | 18 + .../GMS/Compiles/Functions/fn_spawnMarker.sqf | 84 ++ .../Functions/fn_updateMarkerAliveCount.sqf | 17 + @GMS/addons/GMS/Compiles/GMS_functions.sqf | 47 + @GMS/addons/GMS/Compiles/GMS_variables.sqf | 56 + .../Groups/fn_checkGroupWaypointStatus.sqf | 20 + .../Compiles/Groups/fn_cleanEmptyGroups.sqf | 24 + .../GMS/Compiles/Groups/fn_createGroup.sqf | 31 + .../Groups/fn_emplacedWeaponWaypoint.sqf | 21 + .../Groups/fn_findNearestInfantryGroup.sqf | 21 + .../Groups/fn_groupWaypointMonitor.sqf | 47 + .../Compiles/Groups/fn_setNextWaypoint.sqf | 118 +++ .../GMS/Compiles/Groups/fn_setupWaypoints.sqf | 87 ++ .../Compiles/Groups/fn_simulationMonitor.sqf | 74 ++ .../GMS/Compiles/Groups/fn_spawnGroup.sqf | 104 ++ .../GMS_fnc_addDynamicUMS_Mission.sqf | 33 + .../GMS_fnc_garrisonBuilding_relPosSystem.sqf | 68 ++ .../Missions/GMS_fnc_missionSpawner.sqf | 183 ++++ ...MS_fnc_spawnGarrisonInsideBuilding_ATL.sqf | 36 + ...fnc_spawnGarrisonInsideBuilding_relPos.sqf | 90 ++ .../Compiles/Missions/fn_addMIssionToQue.sqf | 57 ++ .../GMS/Compiles/Missions/fn_endMission.sqf | 218 ++++ .../GMS/Compiles/Missions/fn_fillBoxes.sqf | 149 +++ .../fn_garrisonBuilding_ATLsystem.sqf | 82 ++ .../Missions/fn_initializeMission.sqf | 176 ++++ .../Missions/fn_loadLootItemsFromArray.sqf | 51 + .../Compiles/Missions/fn_loadMissionCrate.sqf | 20 + .../Compiles/Missions/fn_missionCleanup.sqf | 34 + .../fn_monitorInitializedMissions.sqf | 436 ++++++++ .../Missions/fn_monitorSpawnedMissions.sqf | 400 ++++++++ .../Compiles/Missions/fn_paraDropObject.sqf | 25 + .../Missions/fn_selecctChanceParatroops.sqf | 16 + .../Missions/fn_selectAIBackpacks.sqf | 16 + .../Compiles/Missions/fn_selectAIHeadgear.sqf | 16 + .../Compiles/Missions/fn_selectAILoadout.sqf | 21 + .../Compiles/Missions/fn_selectAISidearms.sqf | 17 + .../Compiles/Missions/fn_selectAIUniforms.sqf | 16 + .../Compiles/Missions/fn_selectAIVests.sqf | 16 + .../Missions/fn_selectChanceHeliPatrol.sqf | 16 + .../Missions/fn_selectMissionHelis.sqf | 16 + .../Missions/fn_selectNumberAirPatrols.sqf | 16 + .../Missions/fn_selectNumberParatroops.sqf | 16 + .../Missions/fn_selectVehicleCrewCount.sqf | 15 + .../GMS/Compiles/Missions/fn_signalEnd.sqf | 18 + .../Compiles/Missions/fn_smokeAtCrates.sqf | 45 + .../Missions/fn_spawnCompositionObjects.sqf | 59 ++ .../GMS/Compiles/Missions/fn_spawnCrate.sqf | 40 + .../Missions/fn_spawnEmplacedWeaponArray.sqf | 98 ++ .../GMS/Compiles/Missions/fn_spawnMines.sqf | 42 + .../Compiles/Missions/fn_spawnMissionAI.sqf | 65 ++ .../Missions/fn_spawnMissionCrates.sqf | 79 ++ .../Missions/fn_spawnMissionHelis.sqf | 58 ++ .../Missions/fn_spawnMissionLootVehicles.sqf | 38 + .../fn_spawnMissionVehiclePatrols.sqf | 88 ++ .../Compiles/Missions/fn_spawnNewMissions.sqf | 49 + .../Missions/fn_spawnRandomLandscape.sqf | 47 + .../Compiles/Missions/fn_spawnSDVPatrol.sqf | 23 + .../Compiles/Missions/fn_spawnScubaGroup.sqf | 23 + .../Missions/fn_spawnSimpleObjects.sqf | 25 + .../Missions/fn_spawnSurfacePatrol.sqf | 20 + .../Units/GMS_fnc_handlePlayerUpdates.sqf | 106 ++ .../GMS_fnc_placeCharacterInBuilding.sqf | 24 + .../Units/GMS_fnc_processIlleagalAIKills.sqf | 44 + .../Compiles/Units/GMS_fnc_spawnCharacter.sqf | 44 + .../Compiles/Units/GMS_fnc_spawnHostage.sqf | 22 + .../Compiles/Units/GMS_fnc_spawnLeader.sqf | 23 + .../GMS/Compiles/Units/fn_cleanupAliveAI.sqf | 38 + .../addons/GMS/Compiles/Units/fn_deleteAI.sqf | 29 + .../GMS/Compiles/Units/fn_removeAllAIgear.sqf | 14 + .../GMS/Compiles/Units/fn_spawnParaUnits.sqf | 29 + .../GMS/Compiles/Units/fn_spawnUnit.sqf | 130 +++ @GMS/addons/GMS/Compiles/Units/fn_unitHit.sqf | 18 + .../GMS/Compiles/Units/fn_unitKilled.sqf | 135 +++ @GMS/addons/GMS/Compiles/Utils/fn_log.sqf | 23 + .../GMS_fnc_applyVehicleDamagePenalty.sqf | 14 + .../GMS_fnc_configureMissionVehicle.sqf | 37 + .../Vehicles/GMS_fnc_handleVehicleGetOut.sqf | 20 + .../Compiles/Vehicles/fn_alertVehicles.sqf | 29 + .../Vehicles/fn_checkForEmptyVehicle.sqf | 25 + .../Compiles/Vehicles/fn_deleteAIVehicle.sqf | 17 + .../Vehicles/fn_handleEmptyVehicle.sqf | 46 + .../Compiles/Vehicles/fn_loadVehicleCrew.sqf | 23 + .../Compiles/Vehicles/fn_protectVehicle.sqf | 21 + .../Vehicles/fn_releaseVehicleToPlayers.sqf | 31 + .../Vehicles/fn_revealNearbyPlayers.sqf | 55 + .../fn_scanForPlayersNearVehicles.sqf | 19 + .../Vehicles/fn_selectPatrolVehicle.sqf | 20 + .../Compiles/Vehicles/fn_spawnMissionHeli.sqf | 63 ++ .../GMS/Compiles/Vehicles/fn_spawnVehicle.sqf | 60 ++ .../Vehicles/fn_spawnVehiclePatrol.sqf | 43 + .../GMS/Compiles/Vehicles/fn_vehicleHit.sqf | 17 + .../Compiles/Vehicles/fn_vehicleKilled.sqf | 17 + .../Compiles/Vehicles/fn_vehicleMonitor.sqf | 41 + @GMS/addons/GMS/Compiles/init/GMS_defines.hpp | 80 ++ .../GMS/Compiles/init/GMS_dynamicConfigs.sqf | 226 +++++ .../GMS/Compiles/init/GMS_fnc_findWorld.sqf | 60 ++ .../Compiles/init/GMS_fnc_getTraderCites.sqf | 39 + @GMS/addons/GMS/Compiles/init/fn_init.sqf | 214 ++++ .../GMS/Compiles/init/testCrateLoading.sqf | 18 + @GMS/addons/GMS/Configs/GMS_configs.sqf | 627 ++++++++++++ .../GMS/Configs/GMS_configs_default.sqf | 672 ++++++++++++ @GMS/addons/GMS/Configs/GMS_configs_epoch.sqf | 897 +++++++++++++++++ @GMS/addons/GMS/Configs/GMS_configs_exile.sqf | 953 ++++++++++++++++++ @GMS/addons/GMS/Configs/GMS_custom_config.sqf | 212 ++++ @GMS/addons/GMS/FAQ.txt | 0 @GMS/addons/GMS/KnownIssues.txt | 5 + @GMS/addons/GMS/Missions/Blue/ForgottenHQ.sqf | 190 ++++ @GMS/addons/GMS/Missions/Blue/IDAP.sqf | 142 +++ .../GMS/Missions/Blue/Service_point.sqf | 162 +++ @GMS/addons/GMS/Missions/Blue/Toxin.sqf | 165 +++ @GMS/addons/GMS/Missions/Blue/captive1.sqf | 144 +++ @GMS/addons/GMS/Missions/Blue/default.sqf | 152 +++ @GMS/addons/GMS/Missions/Blue/default2.sqf | 154 +++ @GMS/addons/GMS/Missions/Blue/derbunker.sqf | 110 ++ .../addons/GMS/Missions/Blue/forgotten_HQ.sqf | 200 ++++ @GMS/addons/GMS/Missions/Blue/garrison.sqf | 107 ++ @GMS/addons/GMS/Missions/Blue/hostage1.sqf | 162 +++ .../addons/GMS/Missions/Blue/inhaftierung.sqf | 180 ++++ @GMS/addons/GMS/Missions/Blue/medicalCamp.sqf | 59 ++ @GMS/addons/GMS/Missions/Blue/redCamp.sqf | 85 ++ .../addons/GMS/Missions/Blue/resupplyCamp.sqf | 48 + @GMS/addons/GMS/Missions/Blue/sniperBase.sqf | 112 ++ .../GMS/Missions/Blue/survivalSupplies.sqf | 111 ++ @GMS/addons/GMS/Missions/Blue/template.sqf | 108 ++ @GMS/addons/GMS/Missions/GMS_missionLists.sqf | 107 ++ @GMS/addons/GMS/Missions/GMS_privateVars.sqf | 7 + .../GMS/Missions/Green/Camp_Moreell.sqf | 154 +++ @GMS/addons/GMS/Missions/Green/FieldCamp.sqf | 69 ++ @GMS/addons/GMS/Missions/Green/FieldHQ.sqf | 74 ++ @GMS/addons/GMS/Missions/Green/Operations.sqf | 181 ++++ .../GMS/Missions/Green/Operations_Command.sqf | 180 ++++ @GMS/addons/GMS/Missions/Green/Outpost.sqf | 151 +++ .../GMS/Missions/Green/banditVillage.sqf | 112 ++ @GMS/addons/GMS/Missions/Green/charlston.sqf | 187 ++++ .../GMS/Missions/Green/colonelsBase.sqf | 172 ++++ @GMS/addons/GMS/Missions/Green/dashq.sqf | 227 +++++ @GMS/addons/GMS/Missions/Green/default.sqf | 47 + @GMS/addons/GMS/Missions/Green/derbunker.sqf | 117 +++ @GMS/addons/GMS/Missions/Green/factory.sqf | 133 +++ .../GMS/Missions/Green/fieldHospital.sqf | 103 ++ .../GMS/Missions/Green/fieldHospital2.sqf | 74 ++ .../GMS/Missions/Green/forgotten_HQ.sqf | 206 ++++ .../GMS/Missions/Green/fortification.sqf | 189 ++++ .../addons/GMS/Missions/Green/hotelAttack.sqf | 103 ++ @GMS/addons/GMS/Missions/Green/lager.sqf | 182 ++++ .../addons/GMS/Missions/Green/medicalCamp.sqf | 67 ++ .../GMS/Missions/Green/munitionsResearch.sqf | 108 ++ .../GMS/Missions/Green/operationTakeover.sqf | 331 ++++++ @GMS/addons/GMS/Missions/Green/redCamp.sqf | 98 ++ .../GMS/Missions/Green/resupplyCamp.sqf | 56 + .../GMS/Missions/Green/template copy.sqf | 104 ++ @GMS/addons/GMS/Missions/Green/template.sqf | 104 ++ .../addons/GMS/Missions/Green/testMission.sqf | 123 +++ @GMS/addons/GMS/Missions/Green/tko_camp.sqf | 171 ++++ .../GMS/Missions/Green/weaponsResearch.sqf | 304 ++++++ .../GMS/Missions/HeliCrashs/Crashes2.sqf | 178 ++++ @GMS/addons/GMS/Missions/Hunters/Hunters.sqf | 55 + .../GMS/Missions/Orange/Ammunition_depot.sqf | 170 ++++ .../GMS/Missions/Orange/Camp_Moreell.sqf | 153 +++ .../GMS/Missions/Orange/CommandersComplex.sqf | 97 ++ .../Missions/Orange/Operations_Command.sqf | 179 ++++ @GMS/addons/GMS/Missions/Orange/Outpost.sqf | 148 +++ @GMS/addons/GMS/Missions/Orange/bunker.sqf | 146 +++ @GMS/addons/GMS/Missions/Orange/colonel2.sqf | 274 +++++ @GMS/addons/GMS/Missions/Orange/dashq.sqf | 240 +++++ @GMS/addons/GMS/Missions/Orange/default.sqf | 53 + @GMS/addons/GMS/Missions/Orange/derbunker.sqf | 112 ++ .../GMS/Missions/Orange/generalsCamp.sqf | 123 +++ .../GMS/Missions/Orange/medicalCamp.sqf | 65 ++ .../GMS/Missions/Orange/officeComplex.sqf | 154 +++ .../GMS/Missions/Orange/operationShutdown.sqf | 182 ++++ .../GMS/Missions/Orange/operationTakeover.sqf | 327 ++++++ .../addons/GMS/Missions/Orange/pinkPoison.sqf | 143 +++ @GMS/addons/GMS/Missions/Orange/redCamp.sqf | 90 ++ .../GMS/Missions/Orange/resupplyCamp.sqf | 55 + .../addons/GMS/Missions/Orange/stronghold.sqf | 167 +++ @GMS/addons/GMS/Missions/Orange/template.sqf | 104 ++ @GMS/addons/GMS/Missions/Orange/temple.sqf | 616 +++++++++++ @GMS/addons/GMS/Missions/Orange/tko_camp.sqf | 191 ++++ .../GMS/Missions/Red/Ammunition_depot.sqf | 163 +++ @GMS/addons/GMS/Missions/Red/Camp_Moreell.sqf | 146 +++ @GMS/addons/GMS/Missions/Red/IDAP.sqf | 121 +++ .../GMS/Missions/Red/Operations_Command.sqf | 175 ++++ @GMS/addons/GMS/Missions/Red/Outpost.sqf | 144 +++ .../addons/GMS/Missions/Red/Service_point.sqf | 139 +++ @GMS/addons/GMS/Missions/Red/Toxin.sqf | 143 +++ @GMS/addons/GMS/Missions/Red/TraderBoss.sqf | 52 + @GMS/addons/GMS/Missions/Red/captive1.sqf | 131 +++ @GMS/addons/GMS/Missions/Red/carThieves.sqf | 72 ++ @GMS/addons/GMS/Missions/Red/charlston.sqf | 187 ++++ @GMS/addons/GMS/Missions/Red/dashq.sqf | 221 ++++ @GMS/addons/GMS/Missions/Red/default.sqf | 40 + @GMS/addons/GMS/Missions/Red/derbunker.sqf | 110 ++ @GMS/addons/GMS/Missions/Red/factory.sqf | 138 +++ @GMS/addons/GMS/Missions/Red/forgotten_HQ.sqf | 190 ++++ @GMS/addons/GMS/Missions/Red/fuelDepot.sqf | 72 ++ @GMS/addons/GMS/Missions/Red/garrison.sqf | 114 +++ @GMS/addons/GMS/Missions/Red/hostage1.sqf | 124 +++ @GMS/addons/GMS/Missions/Red/inhaftierung.sqf | 180 ++++ .../addons/GMS/Missions/Red/junkyardWilly.sqf | 46 + @GMS/addons/GMS/Missions/Red/lager.sqf | 175 ++++ @GMS/addons/GMS/Missions/Red/medicalCamp.sqf | 56 + @GMS/addons/GMS/Missions/Red/redCamp.sqf | 85 ++ @GMS/addons/GMS/Missions/Red/resupplyCamp.sqf | 46 + .../GMS/Missions/Red/survivalSupplies.sqf | 97 ++ @GMS/addons/GMS/Missions/Red/template.sqf | 103 ++ @GMS/addons/GMS/Missions/Red/testMission.sqf | 140 +++ @GMS/addons/GMS/Missions/Red/tko_camp.sqf | 164 +++ @GMS/addons/GMS/Missions/Scouts/Scouts.sqf | 56 + .../UMS/GMS_UMS_StaticMissions_Lists.sqf | 22 + .../UMS/GMS_UMS_StaticMissions_init.sqf | 27 + .../Missions/UMS/GMS_UMS_configurations.sqf | 91 ++ @GMS/addons/GMS/Missions/UMS/GMS_UMS_init.sqf | 27 + .../GMS_fnc_sm_initializeUMSStaticMission.sqf | 73 ++ .../Missions/UMS/dynamicMissions/default.sqf | 174 ++++ .../UMS/staticMissions/privateVars.sqf | 13 + .../staticMissionExample2_Epoch.sqf | 143 +++ .../staticMissionExample2_Exile.sqf | 146 +++ @GMS/addons/GMS/changeLog.sqf | 781 ++++++++++++++ @GMS/addons/GMS/config.cpp | 159 +++ GMS_Client/GMS_client.sqf | 18 + GMS_Client/GMS_clientFunctions.sqf | 327 ++++++ GMS_Client/GMS_clientSettings.sqf | 11 + 251 files changed, 26595 insertions(+) create mode 100644 @GMS/addons/GMS/$PBOPREFIX$ create mode 100644 @GMS/addons/GMS/Compiles/Functions/GMS_fnc_findSafePosn_2.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/GMS_fnc_findSafePosn_3.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/GMS_fnc_findSafePosn_4.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_addItemToCrate.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_broadcastServerFPS.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_cleanEmptyGroups.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_countAliveAI.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_createMissionMarkers.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_deleteMarker.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_findPositionsAlongARadius.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_findRandomLocationWithinCircle.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_findShoreLocation.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_findWaterDepth.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_getAllBlckeaglsMarkers.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_getAllDMSMarkers.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_getAllMarkersOfSubtype.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_getIndexFromDifficulty.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_loadLootItemsFromArray.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_mainThread.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_markerSetAliveAICount.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_messagePlayers.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_missionCompleteMarker.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_msgIED.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_nearestPlayers.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_playerInRange.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_playerInRangeArray.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_restoreHiddenObjects.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_setDirUp.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_spawnMarker.sqf create mode 100644 @GMS/addons/GMS/Compiles/Functions/fn_updateMarkerAliveCount.sqf create mode 100644 @GMS/addons/GMS/Compiles/GMS_functions.sqf create mode 100644 @GMS/addons/GMS/Compiles/GMS_variables.sqf create mode 100644 @GMS/addons/GMS/Compiles/Groups/fn_checkGroupWaypointStatus.sqf create mode 100644 @GMS/addons/GMS/Compiles/Groups/fn_cleanEmptyGroups.sqf create mode 100644 @GMS/addons/GMS/Compiles/Groups/fn_createGroup.sqf create mode 100644 @GMS/addons/GMS/Compiles/Groups/fn_emplacedWeaponWaypoint.sqf create mode 100644 @GMS/addons/GMS/Compiles/Groups/fn_findNearestInfantryGroup.sqf create mode 100644 @GMS/addons/GMS/Compiles/Groups/fn_groupWaypointMonitor.sqf create mode 100644 @GMS/addons/GMS/Compiles/Groups/fn_setNextWaypoint.sqf create mode 100644 @GMS/addons/GMS/Compiles/Groups/fn_setupWaypoints.sqf create mode 100644 @GMS/addons/GMS/Compiles/Groups/fn_simulationMonitor.sqf create mode 100644 @GMS/addons/GMS/Compiles/Groups/fn_spawnGroup.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/GMS_fnc_addDynamicUMS_Mission.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/GMS_fnc_garrisonBuilding_relPosSystem.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/GMS_fnc_missionSpawner.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/GMS_fnc_spawnGarrisonInsideBuilding_ATL.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/GMS_fnc_spawnGarrisonInsideBuilding_relPos.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_addMIssionToQue.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_endMission.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_fillBoxes.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_garrisonBuilding_ATLsystem.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_initializeMission.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_loadLootItemsFromArray.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_loadMissionCrate.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_missionCleanup.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_monitorInitializedMissions.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_paraDropObject.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_selecctChanceParatroops.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_selectAIBackpacks.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_selectAIHeadgear.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_selectAILoadout.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_selectAISidearms.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_selectAIUniforms.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_selectAIVests.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_selectChanceHeliPatrol.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_selectMissionHelis.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_selectNumberAirPatrols.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_selectNumberParatroops.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_selectVehicleCrewCount.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_signalEnd.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_smokeAtCrates.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_spawnCompositionObjects.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_spawnCrate.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_spawnEmplacedWeaponArray.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_spawnMines.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAI.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_spawnMissionCrates.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_spawnMissionHelis.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_spawnMissionLootVehicles.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_spawnMissionVehiclePatrols.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_spawnNewMissions.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_spawnRandomLandscape.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_spawnSDVPatrol.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_spawnScubaGroup.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_spawnSimpleObjects.sqf create mode 100644 @GMS/addons/GMS/Compiles/Missions/fn_spawnSurfacePatrol.sqf create mode 100644 @GMS/addons/GMS/Compiles/Units/GMS_fnc_handlePlayerUpdates.sqf create mode 100644 @GMS/addons/GMS/Compiles/Units/GMS_fnc_placeCharacterInBuilding.sqf create mode 100644 @GMS/addons/GMS/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf create mode 100644 @GMS/addons/GMS/Compiles/Units/GMS_fnc_spawnCharacter.sqf create mode 100644 @GMS/addons/GMS/Compiles/Units/GMS_fnc_spawnHostage.sqf create mode 100644 @GMS/addons/GMS/Compiles/Units/GMS_fnc_spawnLeader.sqf create mode 100644 @GMS/addons/GMS/Compiles/Units/fn_cleanupAliveAI.sqf create mode 100644 @GMS/addons/GMS/Compiles/Units/fn_deleteAI.sqf create mode 100644 @GMS/addons/GMS/Compiles/Units/fn_removeAllAIgear.sqf create mode 100644 @GMS/addons/GMS/Compiles/Units/fn_spawnParaUnits.sqf create mode 100644 @GMS/addons/GMS/Compiles/Units/fn_spawnUnit.sqf create mode 100644 @GMS/addons/GMS/Compiles/Units/fn_unitHit.sqf create mode 100644 @GMS/addons/GMS/Compiles/Units/fn_unitKilled.sqf create mode 100644 @GMS/addons/GMS/Compiles/Utils/fn_log.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/GMS_fnc_applyVehicleDamagePenalty.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/GMS_fnc_configureMissionVehicle.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/GMS_fnc_handleVehicleGetOut.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/fn_alertVehicles.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/fn_checkForEmptyVehicle.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/fn_deleteAIVehicle.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/fn_handleEmptyVehicle.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/fn_loadVehicleCrew.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/fn_protectVehicle.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/fn_releaseVehicleToPlayers.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/fn_revealNearbyPlayers.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/fn_scanForPlayersNearVehicles.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/fn_selectPatrolVehicle.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/fn_spawnMissionHeli.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/fn_spawnVehicle.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/fn_spawnVehiclePatrol.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/fn_vehicleHit.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/fn_vehicleKilled.sqf create mode 100644 @GMS/addons/GMS/Compiles/Vehicles/fn_vehicleMonitor.sqf create mode 100644 @GMS/addons/GMS/Compiles/init/GMS_defines.hpp create mode 100644 @GMS/addons/GMS/Compiles/init/GMS_dynamicConfigs.sqf create mode 100644 @GMS/addons/GMS/Compiles/init/GMS_fnc_findWorld.sqf create mode 100644 @GMS/addons/GMS/Compiles/init/GMS_fnc_getTraderCites.sqf create mode 100644 @GMS/addons/GMS/Compiles/init/fn_init.sqf create mode 100644 @GMS/addons/GMS/Compiles/init/testCrateLoading.sqf create mode 100644 @GMS/addons/GMS/Configs/GMS_configs.sqf create mode 100644 @GMS/addons/GMS/Configs/GMS_configs_default.sqf create mode 100644 @GMS/addons/GMS/Configs/GMS_configs_epoch.sqf create mode 100644 @GMS/addons/GMS/Configs/GMS_configs_exile.sqf create mode 100644 @GMS/addons/GMS/Configs/GMS_custom_config.sqf create mode 100644 @GMS/addons/GMS/FAQ.txt create mode 100644 @GMS/addons/GMS/KnownIssues.txt create mode 100644 @GMS/addons/GMS/Missions/Blue/ForgottenHQ.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/IDAP.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/Service_point.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/Toxin.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/captive1.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/default.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/default2.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/derbunker.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/forgotten_HQ.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/garrison.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/hostage1.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/inhaftierung.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/medicalCamp.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/redCamp.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/resupplyCamp.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/sniperBase.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/survivalSupplies.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/template.sqf create mode 100644 @GMS/addons/GMS/Missions/GMS_missionLists.sqf create mode 100644 @GMS/addons/GMS/Missions/GMS_privateVars.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/Camp_Moreell.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/FieldCamp.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/FieldHQ.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/Operations.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/Operations_Command.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/Outpost.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/banditVillage.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/charlston.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/colonelsBase.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/dashq.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/default.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/derbunker.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/factory.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/fieldHospital.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/fieldHospital2.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/forgotten_HQ.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/fortification.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/hotelAttack.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/lager.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/medicalCamp.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/munitionsResearch.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/operationTakeover.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/redCamp.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/resupplyCamp.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/template copy.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/template.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/testMission.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/tko_camp.sqf create mode 100644 @GMS/addons/GMS/Missions/Green/weaponsResearch.sqf create mode 100644 @GMS/addons/GMS/Missions/HeliCrashs/Crashes2.sqf create mode 100644 @GMS/addons/GMS/Missions/Hunters/Hunters.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/Ammunition_depot.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/Camp_Moreell.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/CommandersComplex.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/Operations_Command.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/Outpost.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/bunker.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/colonel2.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/dashq.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/default.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/derbunker.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/generalsCamp.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/medicalCamp.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/officeComplex.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/operationShutdown.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/operationTakeover.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/pinkPoison.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/redCamp.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/resupplyCamp.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/stronghold.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/template.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/temple.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/tko_camp.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/Ammunition_depot.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/Camp_Moreell.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/IDAP.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/Operations_Command.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/Outpost.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/Service_point.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/Toxin.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/TraderBoss.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/captive1.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/carThieves.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/charlston.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/dashq.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/default.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/derbunker.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/factory.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/forgotten_HQ.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/fuelDepot.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/garrison.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/hostage1.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/inhaftierung.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/junkyardWilly.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/lager.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/medicalCamp.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/redCamp.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/resupplyCamp.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/survivalSupplies.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/template.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/testMission.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/tko_camp.sqf create mode 100644 @GMS/addons/GMS/Missions/Scouts/Scouts.sqf create mode 100644 @GMS/addons/GMS/Missions/UMS/GMS_UMS_StaticMissions_Lists.sqf create mode 100644 @GMS/addons/GMS/Missions/UMS/GMS_UMS_StaticMissions_init.sqf create mode 100644 @GMS/addons/GMS/Missions/UMS/GMS_UMS_configurations.sqf create mode 100644 @GMS/addons/GMS/Missions/UMS/GMS_UMS_init.sqf create mode 100644 @GMS/addons/GMS/Missions/UMS/code/GMS_fnc_sm_initializeUMSStaticMission.sqf create mode 100644 @GMS/addons/GMS/Missions/UMS/dynamicMissions/default.sqf create mode 100644 @GMS/addons/GMS/Missions/UMS/staticMissions/privateVars.sqf create mode 100644 @GMS/addons/GMS/Missions/UMS/staticMissions/staticMissionExample2_Epoch.sqf create mode 100644 @GMS/addons/GMS/Missions/UMS/staticMissions/staticMissionExample2_Exile.sqf create mode 100644 @GMS/addons/GMS/changeLog.sqf create mode 100644 @GMS/addons/GMS/config.cpp create mode 100644 GMS_Client/GMS_client.sqf create mode 100644 GMS_Client/GMS_clientFunctions.sqf create mode 100644 GMS_Client/GMS_clientSettings.sqf diff --git a/@GMS/addons/GMS/$PBOPREFIX$ b/@GMS/addons/GMS/$PBOPREFIX$ new file mode 100644 index 0000000..e28d69e --- /dev/null +++ b/@GMS/addons/GMS/$PBOPREFIX$ @@ -0,0 +1 @@ +addons\GMS \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Functions/GMS_fnc_findSafePosn_2.sqf b/@GMS/addons/GMS/Compiles/Functions/GMS_fnc_findSafePosn_2.sqf new file mode 100644 index 0000000..1bf4cde --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/GMS_fnc_findSafePosn_2.sqf @@ -0,0 +1,97 @@ +private _safepos = [getMarkerPos "center",0,14000,0,0,0.5,0]; +private _validspot = false; +private "_position"; +_fnc_nearWater = { + _result = false; + _position = _this select 0; + _radius = _this select 1; + + for "_i" from 0 to 359 step 45 do { + //_checkposition = [(_position select 0) + (sin(_i)*_radius), (_position select 1) + (cos(_i)*_radius)]; + //_checkposition2 = [(_position select 0) + (sin(_i)*_radius/2), (_position select 1) + (cos(_i)*_radius/2)]; + _checkPosition = _position getPos[_radius, _i]; + if (surfaceIsWater _checkposition) exitWith { + _result = true; + }; + }; + _result +}; + +while{!_validspot} do { + //uiSleep 1; + _validspot = true; + _position = _safepos call BIS_fnc_findSafePos; + if (count _position > 2) then { + _validspot = false; + }; + if(_validspot) then { + if ([_position,500] call _fnc_nearWater) then { + _validspot = false; + }; + }; + if(_validspot) then { + _isflat = _position isFlatEmpty [20,0,0.5,100,0,false]; + if (_isflat isequalto []) then { + _validspot = false; + }; + }; + if(_validspot) then { + { + if (_position distance _x < 1500) exitwith { + _validspot = false; + }; + } foreach (missionnamespace getvariable ["GMS_ActiveMissionCoords",[]]); + }; + + // Check for near Bases + if(_validspot) then { + if (GMSCore_modtype isEqualTo "Epoch") then { + { + if (_position distance _x < 1000) exitwith { + _validspot = false; + }; + } foreach (missionnamespace getvariable ["Epoch_PlotPoles",[]]); + } + else { + if (GMSCore_modtype isEqualTo "Exile") then { + { + if (_position distance _x < GMS_minDistanceToBases) exitwith { + _validspot = false; + }; + } foreach (nearestObjects [GMS_mapCenter, ["Exile_Construction_Flag_Static"], GMS_mapRange + 25000]); + }; + }; + }; + +// Check for near Players + if(_validspot) then { + { + if (_position distance _x < GMS_minDistanceToPlayer) exitwith { + _validspot = false; + }; + } foreach allplayers; + }; + + // Check for near locations + if (_validspot) then { + { + if (_position distance (_x select 0) < (_x select 1)) exitWith { + _validspot = false; + }; + } forEach GMS_locationBlackList; + }; + + // Check for DMS missions + if (GMS_minDistanceFromDMS > 0 && {_validspot}) then + { + { + if (_position distance _x < GMS_minDistanceFromDMS) exitWith { + _validspot = false; + }; + } forEach ([] call GMS_fnc_getAllDMSMarkers); + }; +}; +_position set [2, 0]; +_position + + diff --git a/@GMS/addons/GMS/Compiles/Functions/GMS_fnc_findSafePosn_3.sqf b/@GMS/addons/GMS/Compiles/Functions/GMS_fnc_findSafePosn_3.sqf new file mode 100644 index 0000000..1dddb75 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/GMS_fnc_findSafePosn_3.sqf @@ -0,0 +1,193 @@ +/* + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ + + Notes: cosine acute angle = hypotenuse / opposite. We always know the opposite = 1/2 mapsize so if we pick a random angle, we can calculate distance to edge of map. + Thus, we can have a random direction, calculate distance to the map edge as cos(direction - east/south/west/north angle) * 1/2 mapsize. Then, we can use 1/2 the lenght of the hypotenuse as the search range. + In this way we can reduce the radius of the search by about 1/2 and ensure a wider range of terrain is selected. + + However, if we use this approach, we risk having some missions spawn outside the map so much check for that. + It may be quicker just to pick a random angle and use 1/2 map size to search a position obtained by getPos[(1/2 mapSize),random(359)]; to pick that random seed location for the search. +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +if (isNil "GMS_locationBlackList") then {GMS_locationBlackList = []}; + +_fn_buildBlacklistedLocationsList = { + params["_minToBases","_minToPlayers","_minToMissions","_minToTowns","_minToRecentMissionLocation"]; + /* locations of villages / cities / others already included in GMS_locationBlackList so we do not need to add it here. */ + private _blacklistedLocs = +GMS_locationBlackList; + + for '_i' from 1 to (count GMS_recentMissionCoords) do { + private _loc = GMS_recentMissionCoords deleteAt 0; + if (_loc select 1 < diag_tickTime) then + { + GMS_recentMissionCoords pushBack _loc; + }; + }; + + { + _blacklistedLocs pushBack [_x,_minToMissions]; + } forEach GMS_ActiveMissionCoords; + + private _bases = []; + if (GMSCore_modtype isEqualTo "Epoch") then {_bases = nearestObjects[GMS_mapCenter, ["PlotPole_EPOCH"], GMS_mapRange + 25000]}; + if (GMSCore_modtype isEqualTo "Exile") then {_bases = nearestObjects[GMS_mapCenter, ["Exile_Construction_Flag_Static"], GMS_mapRange + 25000]}; + + { + _blacklistedLocs pushBack [getPosATL _x,_minToBases]; + } forEach _bases; + + { + _blacklistedLocs pushBack [getPosATL _x,_minToPlayers]; + } forEach allPlayers; + + if (GMS_minDistanceFromDMS > 0) then + { + _blacklistedLocs append ([] call GMS_fnc_getAllDMSMarkers); + }; + + _blacklistedLocs +}; + +_fnc_nearWater = { + private _result = false; + private _coords = _this select 0; + private _radius = _this select 1; + + for "_i" from 0 to 359 step 45 do { + //_checkposition = [(_coords select 0) + (sin(_i)*_radius), (_coords select 1) + (cos(_i)*_radius)]; + //_checkposition2 = [(_coords select 0) + (sin(_i)*_radius/2), (_coords select 1) + (cos(_i)*_radius/2)]; + //_checkPosition = _coords getPos[_radius, _i]; + if (surfaceIsWater (_coords getPos[_radius, _i])) exitWith { + _result = true; + }; + }; + _result +}; + +private _minDistToBases = GMS_minDistanceToBases; +private _minDistToPlayers = GMS_minDistanceToPlayer; +private _minDistToTowns = GMS_minDistanceFromTowns; +private _mindistToMissions = GMS_MinDistanceFromMission; +private _minToRecentMissionLocation = 200; +private _keyDistances = [_minDistToBases,_minDistToPlayers,_minDistToTowns,_minToRecentMissionLocation]; +private _coords = []; +//private _blacklistedLocations = [_minDistToBases,_minDistToPlayers,_minDistToTowns,_mindistToMissions,_minToRecentMissionLocation] call _fn_buildBlacklistedLocationsList; +private _count = 25; +private _flatCoords = []; +private _slope = 0.15; +private _searchDist = GMS_mapRange / 2; +private _timeIn = diag_tickTime; +private _validspot = false; +while { !_validspot} do +{ + private _angle = random(359); + private _searchCenter = GMS_mapCenter getPos[_searchDist, random(359)]; + _coords = [_searchCenter,0,_searchDist,10,0,_slope,0] call BIS_fnc_findSafePos; + + if (_coords isEqualTo []) then + { + _count = _count - 1; + _slope = _slope + 0.02; + uiSleep 0.1; // to give the server a chance to handle other jobs for a moment + diag_log format["_findSafePosn: _count = %1 | _slope = %2 | _coords = %3",_count,_slope,_coords]; + } else { + + //uiSleep 1; + _validspot = true; + + if (count _coords > 2) then { + _validspot = false; + }; + if(_validspot) then { + if ([_coords,500] call _fnc_nearWater) then { + _validspot = false; + }; + }; + if(_validspot) then { + _isflat = _coords isFlatEmpty [20,0,0.5,100,0,false]; + if (_isflat isequalto []) then { + _validspot = false; + }; + }; + if(_validspot) then { + { + if (_coords distance _x < GMS_MinDistanceFromMission) exitwith { + _validspot = false; + }; + } foreach (GMS_ActiveMissionCoords); + }; + + // Check for near Bases + if(_validspot) then { + if (GMSCore_modtype isEqualTo "Epoch") then { + { + if (_coords distance _x < GMS_minDistanceToBases) exitwith { + _validspot = false; + }; + } foreach (missionnamespace getvariable ["Epoch_PlotPoles",[]]); + } + else { + if (GMSCore_modtype isEqualTo "Exile") then { + { + if (_coords distance _x < GMS_minDistanceToBases) exitwith { + _validspot = false; + }; + } foreach (nearestObjects [GMS_mapCenter, ["Exile_Construction_Flag_Static"], GMS_mapRange + 25000]); + }; + }; + }; + + // Check for near Players + if(_validspot) then { + { + if (_coords distance _x < GMS_minDistanceToPlayer) exitwith { + _validspot = false; + }; + } foreach allplayers; + }; + + // Check for near locations + if (_validspot) then { + { + if (_coords distance (_x select 0) < (_x select 1)) exitWith { + _validspot = false; + }; + } forEach GMS_locationBlackList; + }; + + // Check for DMS missions + if (GMS_minDistanceFromDMS > 0 && {_validspot}) then + { + { + if (_coords distance _x < GMS_minDistanceFromDMS) exitWith { + _validspot = false; + }; + } forEach ([] call GMS_fnc_getAllDMSMarkers); + }; + + }; + + //diag_log format["_fnc_findSafePosn: _coords = %1 | _flatCoords = %2 | _searchCenter = %3 | _angle %4 | _count = %5 | _validSpot = %6",_coords,_flatCoords,_searchCenter,_angle,_count,_validspot]; +}; + +if (_coords isEqualTo []) then +{ + ["Could not find a safe position for a mission, consider reducing values for minimum distances between missions and players, bases, other missions or towns","error"] call GMS_fnc_log; +} else { + _coords set[2, 0]; + //diag_log format["_fnc_findSafePosn: _exit with _coords = %1 | time spent = %2",_coords,diag_tickTime - _timeIn]; +}; + +_coords + + + diff --git a/@GMS/addons/GMS/Compiles/Functions/GMS_fnc_findSafePosn_4.sqf b/@GMS/addons/GMS/Compiles/Functions/GMS_fnc_findSafePosn_4.sqf new file mode 100644 index 0000000..004f41a --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/GMS_fnc_findSafePosn_4.sqf @@ -0,0 +1,179 @@ +// self explanatory. Checks to see if the position is in either a black listed location or near a player spawn. +// As written this relies on BIS_fnc_findSafePos to ensure that the spawn point is not on water or an excessively steep slope. +// +/* + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +private _startTime = diag_tickTime; +private _minDistFromBases = GMS_minDistanceToBases; +private _minDistFromMission = GMS_MinDistanceFromMission; +private _minDistanceFromTowns = GMS_minDistanceFromTowns; +private _minDistanceFromPlayers = GMS_minDistanceToPlayer; + +private _weightBlckList = 0.95; +private _weightBases = 0.9; +private _weightMissions = 0.8; +private _weightTowns = 0.7; +private _weightPlayers = 0.6; +private _weightRecentMissions = 0.6; +private _minDistanceRecentMissions = 500; + +// remove any recent mission locations that have timed out +for "_i" from 1 to (count GMS_recentMissionCoords) do +{ + if (_i > (count GMS_recentMissionCoords)) exitWith {}; + private _oldMission = GMS_recentMissionCoords deleteAt 0; + if (diag_tickTime < ((_oldMission select 1) + 900)) then + { + GMS_recentMissionCoords pushBack _oldMission; + }; +}; + +private _waterMode = 0; +private _shoreMode = 0; +private _maxGrad = GMS_maxGradient; +private _minObjDist = 30; +private _searchDist = GMS_mapRange / 2; +private _coords = []; +private _findNew = true; +private _tries = 0; + +while {_coords isEqualTo []} do +{ + _findNew = false; + _coords = []; + // [center, minDist, maxDist, objDist, waterMode, maxGrad, shoreMode, blacklistPos, defaultPos] call BIS_fnc_findSafePos + while {_coords isEqualTo [] && {_tries < 500}} do + { + private _searchCenter = GMS_mapCenter getPos[_searchDist, random(359)]; + _coords = [_searchCenter,0,_searchDist,_minObjDist,_waterMode,_maxGrad,_shoreMode] call BIS_fnc_findSafePos; + _tries = _tries + 1; + //[format["_fnc_findSafePosn(57): _tries = %1 | _coords = %2",_tries,_coords]] call GMS_fnc_log; + }; + + { + //diag_log format["_fnc_findSafePosn(67): _recentMissionCoords %1 = %2",_forEachIndex,_x]; + if (((_x select 0) distance2D _coords) < _minDistanceRecentMissions) then + { + _findNew = true; + if (GMS_debugLevel >= 3) then {[format["_findSafePosn(68): too close to recent missions"]] call GMS_fnc_log}; + }; + }forEach GMS_recentMissionCoords; + + //diag_log format["_fnc_findSafePosn (61): _coords = %1 | _tries = %2 | count GMS_locationBlackList = %1",_coords,_tries, count GMS_locationBlackList]; + { + + //diag_log format["_fnc_findSafePosn (77): location _x = %1",_x]; + if ( ((_x select 0) distance2D _coords) < (_x select 1)) exitWith + { + _findNew = true; + if (GMS_debugLevel >= 3) then {[format["_findSafePosn(77): too close to blacklisted position _coords = %1 | blacklisted pos = %2 | dist to blacklisted pos = %3",_coords,_x select 0, _x select 1]] call GMS_fnc_log}; + }; + } forEach GMS_locationBlackList; + + if !(_findNew) then + { + { + if ( (_x distance2D _coords) < _minDistFromMission) exitWith + { + _findNew = true; + if (GMS_debugLevel >= 3) then {[format["_findSafePosn(87): too close to active mission"]] call GMS_fnc_log}; + }; + } forEach GMS_ActiveMissionCoords; + }; + + if !(_findNew) then + { + private _poles = []; + if (GMSCore_modtype isEqualTo "Epoch") then {_poles = allMissionObjects "PlotPole_EPOCH"}; + if (GMSCore_modtype isEqualTo "Exile") then {_poles = allMissionObjects "Exile_Construction_Flag_Static"}; + //diag_log format["_fnc_findSafePosn: count _poles = %1 | _poles = %2",count _poles,_poles]; + { + if ((_x distance2D _coords) < GMS_minDistanceToBases) then + { + _findNew = true; + if (GMS_debugLevel >= 3) then {[format["_findSafePosn(98): too close to bases"]] call GMS_fnc_log}; + }; + }forEach _poles; + }; + + if !(_findNew) then + { + { + _townPos = [((locationPosition _x) select 0), ((locationPosition _x) select 1), 0]; + if (_townPos distance2D _coords < GMS_minDistanceFromTowns) exitWith { + _findNew = true; + if (GMS_debugLevel >= 3) then {[format["_findSafePosn(109): too close to towns/cities"]] call GMS_fnc_log}; + }; + } forEach GMS_townLocations; + }; + + if !(_findNew) then + { + { + if (isPlayer _x && {(_x distance2D _coords) < GMS_minDistanceToPlayer}) then + { + _findNew = true; + if (GMS_debugLevel >= 3) then {[format["_findSafePosn(120): too close to player"]] call GMS_fnc_log}; + }; + }forEach playableUnits; + }; + + if !(_findNew) then + { + // test for water nearby + for [{_i=0}, {_i<360}, {_i=_i+20}] do + { + //_xpos = (_coords select 0) + sin (_i) * _dist; + //_ypos = (_coords select 1) + cos (_i) * _dist; + //_newPos = [_xpos,_ypos,0]; + if (surfaceIsWater (_coords getPos[50,_i])) exitWith + { + _findNew = true; + if (GMS_debugLevel >= 3) then {[format["_findSafePosn(137): too close to water"]] call GMS_fnc_log}; + }; + }; + }; + + if !(_findNew) then { + _isflat = _coords isFlatEmpty [20,0,0.5,100,0,false]; + if (_isflat isequalto []) then { + _findNew = true; + if (GMS_debugLevel >= 3) then {[format["_findSafePosn(146): position NOT flat"]] call GMS_fnc_log}; + } else { + if (GMS_debugLevel >= 3) then {[format["_findSafePosn(150): _coords changed from %1 to %2 (the flattest)",_coords,_isFlat]] call GMS_fnc_log}; + _coords = ASLToATL _isFlat; + }; + }; + + if (_findNew) then + { + _minDistFromMission = _minDistFromMission * _weightMissions; + _minDistFromBases = _minDistFromBases * _weightBases; + _minDistanceFromPlayers = _minDistanceFromPlayers * _weightPlayers; + _minDistanceFromTowns = _minDistanceFromTowns * _weightTowns; + _minDistanceRecentMissions = _minDistanceRecentMissions * _weightRecentMissions; + _coords = []; + }; + //[format["_fnc_findSafePosn(140) end of cycle logging: _tries = %1 | _coords = %2 | _findNew = %3",_tries,_coords,_findNew]] call GMS_fnc_log; +}; + +if ((count _coords) > 2) then +{ + private["_temp"]; + _temp = [_coords select 0, _coords select 1]; + _coords = _temp; +}; +//[format["_fnc_findSafePosn(148) final logging: _elapsedTime %3 | _tries = %1 | _coords = %2",_tries,_coords,diag_tickTime - _startTime]] call GMS_fnc_log; +_coords; + + diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_addItemToCrate.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_addItemToCrate.sqf new file mode 100644 index 0000000..0c27c74 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_addItemToCrate.sqf @@ -0,0 +1,21 @@ +/* + [_item,_crate] call GMS_addItemToCrate; + where + _crate is a container such as ammo box or vehicle + _item is a string or array. + If _item is a string then add 1 of that item to the container. + If _item is an array with 2 elements ["itemName",3] then assume that the first element is a string and is the name of the item, and the second is the number to add. + if _item is an array with 3 elements ["itemName",2,6] assume that the first element is the item name (string), the second the min # to add and the third the max # to add. + + + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +_this call GMSCore_fnc_addItem; diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_broadcastServerFPS.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_broadcastServerFPS.sqf new file mode 100644 index 0000000..6a3f90f --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_broadcastServerFPS.sqf @@ -0,0 +1,19 @@ + + +/* + By Ghostrider [GRG] + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +GMS_serverFPS = diag_FPS; +publicVariable "GMS_serverFPS"; + + + + diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_cleanEmptyGroups.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_cleanEmptyGroups.sqf new file mode 100644 index 0000000..2cdf5d3 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_cleanEmptyGroups.sqf @@ -0,0 +1,22 @@ +/* + call as [] call GMS_fnc_cleanEmptyGroups; + Deletes any empty groups and thereby prevents errors resulting from createGroup returning nullGroup. + + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +private _grp = allGroups; +for "_i" from 1 to (count _grp) do +{ + private _g = _grp deleteAt 0; + if ((count units _g) isEqualTo 0) then {deleteGroup _g}; +}; + diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_countAliveAI.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_countAliveAI.sqf new file mode 100644 index 0000000..116e14b --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_countAliveAI.sqf @@ -0,0 +1,27 @@ +/* + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params ["_AIList",["_returnMode",0]]; +private["_alive","_total","_return"]; + +_total = count _AIList; +_alive = {alive _x} count _AIList; +switch (_returnMode) do +{ + case 0:{_return = (_alive / _total)}; + case 1:{_return = [_alive,_total]}; +}; + +_return + + diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_createMissionMarkers.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_createMissionMarkers.sqf new file mode 100644 index 0000000..45ef8e6 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_createMissionMarkers.sqf @@ -0,0 +1,64 @@ +/* + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +private "_markers"; + params[ + "_markerName", // the name used when creating the marker. Must be unique. + "_markerPos", + "_markerLabel", // Text used to label the marker + "_markerColor", + "_markerType", // Use either the name of the icon or "ELLIPSE" or "RECTANGLE" where non-icon markers are used + ["_markerSize",[0,0]], + ["_markerBrush","GRID"] + ]; + +if (GMS_debugLevel > 3) then +{ + private _pList =[ + "_markerName", // the name used when creating the marker. Must be unique. + "_markerPos", + "_markerLabel", + "_markerColor", + "_markerType", // Use either the name of the icon or "ELLIPSE" or "RECTANGLE" where non-icon markers are used + "_markerSize", + "_markerBrush" + ]; + for "_i" from 0 to ((count _this) - 1) do + { + diag_log format["_fnc_createMarker: parameter %1 = %2",_pList select _i,_this select _i]; + }; +}; + +if (toUpper(_markerType) in ["ELLIPSE","RECTANGLE"]) then // not an Icon .... +{ + private _m = createMarker [GMS_missionMarkerRootName + _markerName,_markerPos]; + _m setMarkerShape _markerType; + _m setMarkerColor _markerColor; + _m setMarkerBrush _markerBrush; + _m setMarkerSize _markerSize; + private _m2 = createMarker [GMS_missionMarkerRootName + _markerName + "label", _markerPos]; + _m2 setMarkerType "mil_dot"; + _m2 setMarkerColor "ColorBlack"; + _m2 setMarkerText _markerLabel; + _markers = [_m,_m2]; + //diag_log format["_fnc_createMarkers: case of ELLIPSE/RECTANGLE: _markers = %1",_markers]; +} else { + private _m = ""; + private _m2 = createMarker [GMS_missionMarkerRootName + _markerName + "label", _markerPos]; + _m2 setMarkerType _markerType; + _m2 setMarkerColor _markerColor; + _m2 setMarkerText _markerLabel; + _markers = [_m,_m2]; + //diag_log format["_fnc_createMarkers: case of ICON: _markers = %1",_markers]; +}; + +_markers \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_deleteMarker.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_deleteMarker.sqf new file mode 100644 index 0000000..c87c029 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_deleteMarker.sqf @@ -0,0 +1,17 @@ +/* + GMS_fnc_deleteMarker + + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params[["_markerName",""]]; + +deleteMarker _markerName; +deleteMarker (_markerName + "label"); diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_findPositionsAlongARadius.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_findPositionsAlongARadius.sqf new file mode 100644 index 0000000..f28cb08 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_findPositionsAlongARadius.sqf @@ -0,0 +1,36 @@ +/* + GMS_fnc_findPositionsAlongARadius + + Generates an array of equidistant positions along the circle of diameter _radius + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +private["_locs","_startDir","_currentDir","_Arc","_dist","_newpos"]; +params["_center","_num","_minDistance","_maxDistance"]; + +_locs = []; +_startDir = round(random(360)); +_currentDir = _startDir; +_Arc = 360/_num; + +for "_i" from 1 to _num do +{ + _currentDir = _currentDir + _Arc; + _dist = round(_minDistance + (random(_maxDistance - _minDistance))); + _newpos = _center getPos [_dist, _currentDir]; + _locs pushback _newpos; +}; + +_locs + + + diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_findRandomLocationWithinCircle.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_findRandomLocationWithinCircle.sqf new file mode 100644 index 0000000..085af57 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_findRandomLocationWithinCircle.sqf @@ -0,0 +1,16 @@ +/* + GMS_fnc_findRandomLocationWithinCircle + + Params["_center","_min","_max"]; + _center = center of the circle + _min = minimum distance from center of the position + _max = radius of the circle + private _pos + Return: _pos, the position generated +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_center","_min","_max"]; +private _vector = random(359); +private _radius = _min + (_min + random(_max - _min)); +private _pos = _center getPos[_radius,_vector]; +_pos \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_findShoreLocation.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_findShoreLocation.sqf new file mode 100644 index 0000000..d4eec26 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_findShoreLocation.sqf @@ -0,0 +1,42 @@ +/* + GMS_fnc_findShoreLocation + + by Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +private["_mapCenter","_waterPos","_priorUMSpositions","_maxDistance"]; + +private _evaluate = true; + while {_evaluate} do +{ + _waterPos = [ + GMS_mapCenter, // center of search area + 2, // min distance to search + GMS_maxSeaSearchDistance, // max distance to search + 0, // distance to nearest object + 2, // water mode [2 = water only] + 25, // max gradient + 0 // shoreMode [0 = anywhere] + ] call BIS_fnc_findSafePos; + + if (((getTerrainHeightASL _waterPos) < -4) && (getTerrainHeightASL _waterPos) > -10) then + { + _evaluate = false; + }; +}; +//diag_log format["_findShoreLocation: _waterPos = %1",_waterPos]; +_waterPos + + + + + + + diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_findWaterDepth.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_findWaterDepth.sqf new file mode 100644 index 0000000..8bc1761 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_findWaterDepth.sqf @@ -0,0 +1,24 @@ +/* + GMS_fnc_findWaterDepth + + by Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +private["_depth"]; +params["_pos"]; +_depth = (getTerrainHeightASL _pos); +_depth + + + + + + + diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_getAllBlckeaglsMarkers.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_getAllBlckeaglsMarkers.sqf new file mode 100644 index 0000000..c9af2d8 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_getAllBlckeaglsMarkers.sqf @@ -0,0 +1,15 @@ +/* + GMS_fnc_getAllBlckeaglsMarkers + + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +private _blckMarkers = [GMS_missionMarkerRootName] call GMS_fnc_getAllMarkersOfSubtype; +_blckMarkers \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_getAllDMSMarkers.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_getAllDMSMarkers.sqf new file mode 100644 index 0000000..d6ef8d4 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_getAllDMSMarkers.sqf @@ -0,0 +1,17 @@ +/* + GMS_fnc_getAllDMSMarkers + + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +#define DMS_missionMarkerRootName "DMS_MissionMarker" +private _dmsMarkers = [DMS_missionMarkerRootName] call GMS_fnc_getAllMarkersOfSubtype; +_dmsMarkers diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_getAllMarkersOfSubtype.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_getAllMarkersOfSubtype.sqf new file mode 100644 index 0000000..20b971c --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_getAllMarkersOfSubtype.sqf @@ -0,0 +1,26 @@ +/* + GMS_fnc_getAllMarkersOfSubtype + + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +/* + Useful if you know the rootname for markers for a mission system to add these to black lists or other lists +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +private _subtype = _this; +private _end = (count _subtype) - 1; +private _m = []; +{ + if ([_x,0,_end] call BIS_fnc_trimString isEqualTo _subtype) then {_m pushBack _x}; +} forEach allMapMarkers; + +_m + diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_getIndexFromDifficulty.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_getIndexFromDifficulty.sqf new file mode 100644 index 0000000..4c5a61b --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_getIndexFromDifficulty.sqf @@ -0,0 +1,12 @@ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_difficulty"]; +//diag_log format["getIndexFromDifficult: _dificulty = %1 | typeName _difficulty = %2",_difficulty, typeName _difficulty]; +private _return = 0; +switch(toLowerANSI(_difficulty)) do +{ + case "red": {_return = 1}; + case "green": {_return = 2}; + case "orange": {_return = 3}; +}; +_return \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_loadLootItemsFromArray.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_loadLootItemsFromArray.sqf new file mode 100644 index 0000000..5782ddb --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_loadLootItemsFromArray.sqf @@ -0,0 +1,46 @@ +/* + GMS_fnc_loadLootItemsFromArray + + Depends on GMS_fnc_addItemToCrate + + call as: + + [_item,_crate] call GMS_fnc_loadLootFromItemsArray; + + where + _crate is a container such as ammo box or vehicle + _loadout is an array containing either 2 or 3 elements. The first array is always an array of items to add. Items can be formated as ["item1","item1"], as [["item1",3],["item2",2]] or as [["item1",2,4],["item2",3,5]]. + See GMSCore_fnc_addItemToCrate for information about the acceptable formates for the items "item1" ... "itemN". + + The second and optional third element in the array specify the number of times the script will randomly select an item from the array of items and load it into the crate. + For example: + case 1: [["item1",...,"itemN"],6]; The script will randomly select from the array of item names 6 times and call the loot loader each time. + case 2: [["item1",...,"itemN"],6, 9]; As above except that an item will be selected a minimum of 6 and maximum of 9 times. + + + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + + + params["_loadout","_crate",["_addAmmo",0]]; + if ((_loadout select 0) isEqualTo []) exitWith {}; + { + private["_tries","_q","_item"]; + _tries = 0; + _q = _x select 1; // this can be a number or array. + _tries = [_q] call GMSCore_fnc_getNumberFromRange; + for "_i" from 1 to _tries do + { + _item = selectRandom (_x select 0); + [_item,_crate,_addAmmo] call GMSCore_fnc_addItem; + }; + }forEach _loadout; diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_mainThread.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_mainThread.sqf new file mode 100644 index 0000000..e441f8c --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_mainThread.sqf @@ -0,0 +1,96 @@ +/* + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +private["_timer1sec","_timer5sec","_timer10Sec","_timer20sec","_timer5min","_timer5min"]; +_timer2sec = diag_tickTime + 2; +_timer5sec = diag_tickTime + 5; +_timer10Sec = diag_tickTime + 10; +_timer20sec = diag_tickTime + 20; +_timer1min = diag_tickTime + 10; +_timer5min = diag_tickTime + 300; + +while {true} do +{ + uiSleep 1; + + if (diag_tickTime > _timer2sec) then + { + [] spawn GMS_fnc_monitorSpawnedMissions; + if (GMS_showCountAliveAI) then + { + { + _x call GMS_fnc_updateMarkerAliveCount; + } forEach GMS_missionLabelMarkers; + }; + _timer2sec = diag_tickTime + 2; + }; + + if (diag_tickTime > _timer5sec) then + { + _timer5sec = diag_tickTime + 5; + if (GMS_simulationManager isEqualTo GMS_useBlckeaglsSimulationManagement) then {[] call GMS_fnc_simulationMonitor}; + [] call GMS_fnc_vehicleMonitor; + #ifdef GRGserver + [] call GMS_fnc_broadcastServerFPS; + #endif + }; + if (diag_tickTime > _timer10Sec) then + { + _timer10Sec = diag_tickTime + 10; + [] call GMS_fnc_scanForPlayersNearVehicles; + [] call GMS_fnc_spawnNewMissions; + [] spawn GMS_fnc_monitorInitializedMissions; + }; + + if ((diag_tickTime > _timer1min)) then + { + _timer1min = diag_tickTime + 60; + [] call GMS_fnc_restoreHiddenObjects; + [] call GMS_fnc_groupWaypointMonitor; + [] call GMS_fnc_cleanupAliveAI; + }; + if (diag_tickTime > _timer5min) then + { + private _clientID = if (clientOwner == 2) then {"Dedicated Server"} else {"Headless Client"}; + [ + format["Timstamp %1 | Missions Running %2 | Vehicles %3 | Groups %4 | Missions Run %5 | Server FPS %6 | Server Uptime %7 Min | Running on %8", + diag_tickTime, + GMS_missionsRunning, + count GMS_monitoredVehicles, + count GMS_monitoredMissionAIGroups, + GMS_missionsRun, + diag_FPS, + floor(diag_tickTime/60), + _clientID + ] + ] call GMS_fnc_log; + if (GMS_debugLevel > 0) then + { + private _activeScripts = diag_activeScripts; + [ + format["count diag_activeSQFScripts %1 | Threads [spawned %2, execVM %3]", + count diag_activeSQFScripts, + _activeScripts select 0, + _activeScripts select 1 + //GMS_activeMonitorThreads + ] + ] call GMS_fnc_log; + { + [format["file %1 | running %2",(_x select 1),(_x select 2)]] call GMS_fnc_log; + } forEach diag_activeSQFScripts; + }; + [] call GMS_fnc_cleanEmptyGroups; + [GMS_landVehiclePatrols] call GMSCore_fnc_removeNullEntries; + [GMS_aircraftPatrols] call GMSCore_fnc_removeNullEntries; + _timer5min = diag_tickTime + 300; + }; +}; diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_markerSetAliveAICount.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_markerSetAliveAICount.sqf new file mode 100644 index 0000000..2e68f31 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_markerSetAliveAICount.sqf @@ -0,0 +1,23 @@ +/* + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_mArray","_count"]; + +_mArray params["_missionType","_markerPos","_markerLabel","_markerLabelType","_markerColor","_markerType"]; +_textPos = [(_pos select 0) + (count toArray (_text) * 12), (_pos select 1) + (_size select 0), 0]; +_MainMarker = createMarker ["ai_count" + _name, _textPos]; +_MainMarker setMarkerShape "Icon"; +_MainMarker setMarkerType "HD_Arrow"; +_MainMarker setMarkerColor "ColorBlack"; +_MainMarker setMarkerText format["% Alive",_count]; + +//_MainMarker setMarkerDir 37; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_messagePlayers.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_messagePlayers.sqf new file mode 100644 index 0000000..713edd7 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_messagePlayers.sqf @@ -0,0 +1,23 @@ +//This script sends Message Information to allplayers +/* + GMS_fnc_messagePlayers + + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +if !(isServer) exitWith {}; +params["_msg",["_players",allplayers]]; +//[format["_messagePlayers - _msg = %1",_msg]] call GMS_fnc_log; +{ + if (isPlayer _x) then {_msg remoteExec["GMS_fnc_handleMessage",(owner _x)]}; +} forEach _players; + + + diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_missionCompleteMarker.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_missionCompleteMarker.sqf new file mode 100644 index 0000000..1abc41e --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_missionCompleteMarker.sqf @@ -0,0 +1,31 @@ +/* + + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +private _fn_cleanup = { + private _m = _this; + uiSleep 350; + //[format["_fn_cleanup: deleting marker %1",_m]] call GMS_fnc_log; + deleteMarker _m; +}; + + +//diag_log format["GMS_fnc_missionCompleteMarker:: _this = %1",_this]; +private _location = _this select 0; +private _name = str(random(1000000)) + "MarkerCleared"; +_m = createMarker [_name, _location]; +_m setMarkerColor "ColorBlack"; +_m setMarkerType "n_hq"; +_m setMarkerText "Mission Cleared"; + +[_m, diag_tickTime + 30] call GMSCore_fnc_addToDeletionCue; +_m spawn _fn_cleanup; +//diag_log format["missionCompleteMarker complete script for _this = %1",_this]; diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_msgIED.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_msgIED.sqf new file mode 100644 index 0000000..eab1d42 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_msgIED.sqf @@ -0,0 +1,15 @@ +/* + GMS_fnc_msgIED + + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_killer"]; +[["IED","",0,0],[_killer]] call GMS_fnc_MessagePlayers; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_nearestPlayers.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_nearestPlayers.sqf new file mode 100644 index 0000000..15d0c17 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_nearestPlayers.sqf @@ -0,0 +1,31 @@ + +/* + GMS_fnc_nearestPlayers + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params[["_coords",[]],"_range"]; +/* +{ + diag_log format["_fnc_nearestPlayers: %1 = %2",_x, _this select _forEachIndex]; +}forEach ["_coords", "_range"]; +*/ +if (_coords isEqualTo []) then +{ + _coords = [0,0,0]; + //diag_log format["[GMS] No value passed to GMS_fnc_nearestPlayers for _coords - default of [0,0,0] used"]; +}; + +private _players = allPlayers select {(_x distance _coords) < _range}; +//diag_log format["_fnc_nearestPlayers: _coords %1 | _range %2 | _return = %3",_coords,_range,_players]; +_players diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_playerInRange.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_playerInRange.sqf new file mode 100644 index 0000000..0db7a58 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_playerInRange.sqf @@ -0,0 +1,31 @@ +////////////////////////////////////////////////////// +// Test whether one object (e.g., a player) is within a certain range of any of an array of other objects +/* + GMS_fnc_playerInRange + + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params[["_coords",[0,0,0]],["_range",0],["_onFootOnly",false]]; +private ["_result","_players"]; + +private "_players"; + +if (_onFootOnly) then +{ + _players = allPlayers select {(vehicle _x) isEqualTo _x && {_x distance _coords < _range}}; +} else { + _players = allPlayers select {(_x distance _coords) < _range}; +}; + +private _result = if (_players isEqualTo []) then {false} else {true}; + +_result diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_playerInRangeArray.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_playerInRangeArray.sqf new file mode 100644 index 0000000..6db700b --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_playerInRangeArray.sqf @@ -0,0 +1,27 @@ +////////////////////////////////////////////////////// +// Test whether one object (e.g., a player) is within a certain range of any of an array of other objects +/* + GMS_fnc_playerInRangeArray + + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_locations","_dist",["_onFootOnly",false]]; +private _nearLocations = _locations select {[_x,_dist,_onFootOnly] call GMS_fnc_playerInRange}; +//diag_log format["_fnc_playerInRangeArray: _locations = %1 | _dist = %2 | _nearLocations = %3",_locations,_dist,_nearLocations]; +private _return = if (_nearLocations isEqualTo []) then {false} else {true}; +_return +/* +{ + _result = [_x,_dist,_onFootOnly] call GMS_fnc_playerInRange; + if (_result) exitWith {}; +} forEach _locations; +_result diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_restoreHiddenObjects.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_restoreHiddenObjects.sqf new file mode 100644 index 0000000..4b24d02 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_restoreHiddenObjects.sqf @@ -0,0 +1,27 @@ +/* + GMS_fnc_restoreHiddenObjects + + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + + +for "_i" from 1 to (count GMS_hiddenTerrainObjects) do +{ + if (_i > (count GMS_hiddenTerrainObjects)) exitWith {}; + private _el = GMS_hiddenTerrainObjects deleteAt 0; + _el params["_obj","_timeout"]; + if (diag_tickTime > _timeOut) then + { + {_x hideObjectGlobal false} forEach _obj; + } else { + GMS_hiddenTerrainObjects pushBack _el; + }; +}; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_setDirUp.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_setDirUp.sqf new file mode 100644 index 0000000..d795606 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_setDirUp.sqf @@ -0,0 +1,18 @@ +/* + GMS_fnc_setDirUp + + By Ghostrider [GRG] + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_object","_dir"]; +switch (typeName _dir) do +{ + case "SCALAR": {_object setDir _dir}; + case "ARRAY": {_object setVectorDirAndUp _dir}; +}; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_spawnMarker.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_spawnMarker.sqf new file mode 100644 index 0000000..668c8a1 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_spawnMarker.sqf @@ -0,0 +1,84 @@ +/* + GMS_fnc_spawnMarker + + Note: kept for backwards compatability with older parts of GMS like the static and dynamic loot spawns and spawns of map addons. + + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +private["_GMS_fn_configureRoundMarker"]; +_GMS_fn_configureRoundMarker = { + params["_name","_pos","_color","_text","_size","_labelType","_mShape","_mBrush"]; + + if ((_pos distance [0,0,0]) < 10) exitWith {}; + private _marker = createMarker [_name, _pos]; + _marker setMarkerColor _color; + _marker setMarkerShape "ELLIPSE"; + _marker setMarkerBrush "Grid"; + _marker setMarkerSize _size; // + if (count toArray(_text) > 0) then + { + switch (_labelType) do { + case "arrow": + { + _name = _name + "label"; + private _textPos = [(_pos select 0) + (count toArray (_text) * 12), (_pos select 1) - (_size select 0), 0]; + private _arrowMarker = createMarker [_name, _textPos]; + _arrowMarker setMarkerShape "Icon"; + _arrowMarker setMarkerType "HD_Arrow"; + _arrowMarker setMarkerColor "ColorBlack"; + _arrowMarker setMarkerText _text; + //_marker setMarkerDir 37; + }; + case "center": + { + _name = "label" + _name; + private _labelMarker = createMarker [_name, _pos]; + _labelMarker setMarkerShape "Icon"; + _labelMarker setMarkerType "mil_dot"; + _labelMarker setMarkerColor "ColorBlack"; + _labelMarker setMarkerText _text; + }; + }; + }; + if (isNil "_labelMarker") then {_labelMarker = ""}; + _marker +}; + +_GMS_fn_configureIconMarker = { + + params["_name","_pos",["_color","ColorBlack"],["_text",""],["_icon","mil_triangle"]]; + //_name = "label" + _name; + private _marker = createMarker [_name, _pos]; + _marker setMarkerShape "Icon"; + _marker setMarkerType _icon; + _marker setMarkerColor _color; + _marker setMarkerText _text; + _marker +}; + +params["_mArray","_mBrush"]; + +private["_marker"]; +_mArray params["_missionMarkerName","_markerPos","_markerLabel","_markerLabelType","_markerColor","_markerTypeInfo"]; +_missionMarkerName = GMS_missionMarkerRootName + _missionMarkerName; +_markerTypeInfo params[["_mShape","mil_dot"],["_mSize",[0,0]],["_mBrush","GRID"]]; + +if (toUpper(_mShape) in ["ELLIPSE","RECTANGLE"]) then // not an Icon .... +{ + if (isNil "_mBrush") then {_mBrush = "GRID"}; + _marker = [_missionMarkerName,_markerPos,_markerColor,_markerLabel, _mSize,_markerLabelType,_mShape,_mBrush] call _GMS_fn_configureRoundMarker; +} else { + _marker = [_missionMarkerName,_markerPos, _markerColor,_markerLabel,_mShape] call _GMS_fn_configureIconMarker; +}; +if (isNil "_marker") then {_marker = ""}; + +_marker diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_updateMarkerAliveCount.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_updateMarkerAliveCount.sqf new file mode 100644 index 0000000..9c6b256 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Functions/fn_updateMarkerAliveCount.sqf @@ -0,0 +1,17 @@ +/* + GMS_fnc_updateMarkerAliveCount + + by Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_marker","_rootText","_missionAI"]; + +private _txtPrior = markerText _marker; +_marker setMarkerText format["%1 / %2 AI Alive",_rootText,{alive _x} count _missionAI]; diff --git a/@GMS/addons/GMS/Compiles/GMS_functions.sqf b/@GMS/addons/GMS/Compiles/GMS_functions.sqf new file mode 100644 index 0000000..50940a2 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/GMS_functions.sqf @@ -0,0 +1,47 @@ +/* + AI Mission for Epoch Mod for Arma 3 + By Ghostrider + Functions used by the mission system. + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +private _functions = [ + // General functions + ["GMS_fnc_FindSafePosn","\GMS\Compiles\Functions\GMS_fnc_findSafePosn_4.sqf"], + + // Player-related functions + ["GMS_fnc_handlePlayerUpdates","\GMS\Compiles\Units\GMS_fnc_handlePlayerUpdates.sqf"], + + // Mission-related functions + ["GMS_fnc_garrisonBuilding_RelPosSystem","\GMS\Compiles\Missions\GMS_fnc_garrisonBuilding_relPosSystem.sqf"], + ["GMS_fnc_spawnGarrisonInsideBuilding_ATL","\GMS\Compiles\Missions\GMS_fnc_spawnGarrisonInsideBuilding_ATL.sqf"], + ["GMS_fnc_spawnGarrisonInsideBuilding_relPos","\GMS\Compiles\Missions\GMS_fnc_spawnGarrisonInsideBuilding_relPos.sqf"], + ["GMS_fnc_addDyanamicUMS_Mission","\GMS\Compiles\Missions\GMS_fnc_addDynamicUMS_Mission.sqf"], + + // Functions specific to vehicles, whether wheeled, aircraft or static + ["GMS_fnc_configureMissionVehicle","\GMS\Compiles\Vehicles\GMS_fnc_configureMissionVehicle.sqf"], + ["GMS_fnc_applyVehicleDamagePenalty","\GMS\Compiles\Vehicles\GMS_fnc_applyVehicleDamagePenalty.sqf"], + ["GMS_fnc_handleVehicleGetOut","\GMS\Compiles\Vehicles\GMS_fnc_handleVehicleGetOut.sqf"], + + // functions to support Units + ["GMS_fnc_spawnHostage","\GMS\Compiles\Units\GMS_fnc_spawnHostage.sqf"], + ["GMS_fnc_spawnLeader","\GMS\Compiles\Units\GMS_fnc_spawnLeader.sqf"], + ["GMS_fnc_spawnCharacter","\GMS\Compiles\Units\GMS_fnc_spawnCharacter.sqf"], + ["GMS_fnc_placeCharacterInBuilding","\GMS\Compiles\Units\GMS_fnc_placeCharacterInBuilding.sqf"] +]; + +{ + _x params ["_name","_path"]; + missionnamespace setvariable [_name,compileFinal preprocessFileLineNumbers _path]; +} foreach _functions; + + + + diff --git a/@GMS/addons/GMS/Compiles/GMS_variables.sqf b/@GMS/addons/GMS/Compiles/GMS_variables.sqf new file mode 100644 index 0000000..2958c82 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/GMS_variables.sqf @@ -0,0 +1,56 @@ +/* + AI Mission for Epoch Mod for Arma 3 + For the Mission System originally coded by blckeagls + By Ghostrider + Functions and global variables used by the mission system. + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +if (GMS_debugLevel > 0) then {diag_log "[GMS] loading variables"}; + +GMS_minFPS = 12; + +// radius within whih missions are triggered. The trigger causes the crate and AI to spawn. +GMS_TriggerDistance = 1500; + +//////////////////////////////////////////////// +// Do Not Touch Anything Below This Line +/////////////////////////////////////////////// + +GMS_townLocations = []; //nearestLocations [GMS_mapCenter, ["NameCity","NameCityCapital"], 30000]; +GMS_ActiveMissionCoords = []; +GMS_recentMissionCoords = []; +GMS_monitoredVehicles = []; +GMS_livemissionai = []; +GMS_monitoredMissionAIGroups = []; // Used to track groups in active missions for whatever purpose +GMS_hiddenTerrainObjects = []; +GMS_missionsRunning = 0; +GMS_missionsRun = 0; +GMS_missionMarkerRootName = "GMS_marker"; +DMS_missionMarkerRootName = "DMS_MissionMarker"; +GMS_missionLabelMarkers = []; +GMS_mainThreadUpdateInterval = 60; +GMS_monitoring = false; +GMS_revealMode = "detailed"; //""basic" /*group or vehicle level reveals*/,detailed /*unit by unit reveals*/"; +GMS_dynamicMissionsSpawned = 0; +GMS_missionData = []; +GMS_initializedMissionsList = []; +GMS_landVehiclePatrols = []; +GMS_aircraftPatrols = []; +GMS_blackListedLocations = []; // [ [marker, time]] +GMS_validEndStates = [allUnitsKilled, playerNear, allKilledOrPlayerNear,assetSecured]; +GMS_validLootSpawnTimings = ["atMissionSpawnGround","atMissionSpawnAir","atMissionEndGround","atMissionEndAir"]; +GMS_validLootLoadTimings = ["atMissionCompletion", "atMissionSpawn"]; +GMS_skillsIndex_Blue = 0; +GMS_skillsIndex_Red = 1; +GMS_skillsIndex_Green = 2; +GMS_skillsIndex_Orange = 3; + +if (GMS_debugLevel > 0) then {diag_log "[GMS] Variables Loaded"}; + diff --git a/@GMS/addons/GMS/Compiles/Groups/fn_checkGroupWaypointStatus.sqf b/@GMS/addons/GMS/Compiles/Groups/fn_checkGroupWaypointStatus.sqf new file mode 100644 index 0000000..a1e4533 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Groups/fn_checkGroupWaypointStatus.sqf @@ -0,0 +1,20 @@ +/* + Checks for groups that have not reached their waypoints within a proscribed period + and redirects them. + + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_group","_maxTime","_radius"]; +if (diag_tickTime > (_group getVariable "timeStamp") + _maxTime) then // || ( (getPos (leader)) distance2d (_group getVariable "patrolCenter") > _radius)) then +{ + (leader _group) call GMS_fnc_setNextWaypoint; +}; diff --git a/@GMS/addons/GMS/Compiles/Groups/fn_cleanEmptyGroups.sqf b/@GMS/addons/GMS/Compiles/Groups/fn_cleanEmptyGroups.sqf new file mode 100644 index 0000000..070d810 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Groups/fn_cleanEmptyGroups.sqf @@ -0,0 +1,24 @@ +/* + removes empty or null groups from GMS_monitoredMissionAIGroups + By Ghostrider [GRG] + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +for "_i" from 0 to ((count GMS_monitoredMissionAIGroups) - 1) do +{ + if (_i >= (count GMS_monitoredMissionAIGroups)) exitWith {}; + _grp = GMS_monitoredMissionAIGroups deleteat 0; + if ({alive _x} count units _grp > 0) then + { + GMS_monitoredMissionAIGroups pushBack _grp; + } else { + if !(isNull _grp) then {deleteGroup _grp}; + }; +}; + diff --git a/@GMS/addons/GMS/Compiles/Groups/fn_createGroup.sqf b/@GMS/addons/GMS/Compiles/Groups/fn_createGroup.sqf new file mode 100644 index 0000000..daff079 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Groups/fn_createGroup.sqf @@ -0,0 +1,31 @@ +/* + [] call GMS_fnc_createGroup + + Notes: Kept for backwards compatability with the static mission system if this is kept and not updated. + + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params[["_side",GMSCore_side],["_deleteWhenEmpty",true]]; +// for information about the _deleteWhenEmpty parameter see: https://community.bistudio.com/wiki/createGroup + +private _groupSpawned = createGroup [_side, true]; +if (isNull _groupSpawned) exitWith{"ERROR:-> Null Group created by GMS_fnc_spawnGroup";}; +if (GMS_simulationManager == GMS_useDynamicSimulationManagement) then +{ + _groupSpawned enableDynamicSimulation true; +}; +_groupSpawned setcombatmode "RED"; +_groupSpawned setBehaviour "COMBAT"; +_groupSpawned allowfleeing 0; +_groupSpawned setspeedmode "FULL"; +_groupSpawned setFormation GMS_groupFormation; +_groupSpawned setVariable ["GMS_group",1]; +_groupSpawned \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Groups/fn_emplacedWeaponWaypoint.sqf b/@GMS/addons/GMS/Compiles/Groups/fn_emplacedWeaponWaypoint.sqf new file mode 100644 index 0000000..9cd0875 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Groups/fn_emplacedWeaponWaypoint.sqf @@ -0,0 +1,21 @@ + +/* + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +// TODO: not sure we need this - can we do the same thing in another script +private["_group","_wp"]; +_group = group _this; +_group setVariable["timeStamp",diag_tickTime]; +_wp = [_group, 0]; +_group setCurrentWaypoint _wp; + diff --git a/@GMS/addons/GMS/Compiles/Groups/fn_findNearestInfantryGroup.sqf b/@GMS/addons/GMS/Compiles/Groups/fn_findNearestInfantryGroup.sqf new file mode 100644 index 0000000..9e2d26b --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Groups/fn_findNearestInfantryGroup.sqf @@ -0,0 +1,21 @@ + +/* + GMS_fnc_findNearestInfantryGroup + + by Ghostrider + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_pos"]; +private["_units"]; + +if (GMSCore_modtype isEqualTo "Epoch") then {_units = (nearestObjects[_pos,["I_Soldier_EPOCH"], 1000]) select {vehicle _x isEqualTo _x}}; +if !(toLowerANSI(GMSCore_modtype) isEqualTo "epoch") then {_units = (nearestObjects[_pos ,["i_g_soldier_unarmed_f"], 1000]) select {vehicle _x isEqualTo _x}}; +private _nearestGroup = group(_units select 0); +_nearestGroup diff --git a/@GMS/addons/GMS/Compiles/Groups/fn_groupWaypointMonitor.sqf b/@GMS/addons/GMS/Compiles/Groups/fn_groupWaypointMonitor.sqf new file mode 100644 index 0000000..f9833da --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Groups/fn_groupWaypointMonitor.sqf @@ -0,0 +1,47 @@ + +/* + Checks for groups that have not reached their waypoints within a proscribed period + and redirects them. + + + GMS_fnc_groupWaypointMonitor + + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +// TODO: Test functionality of this +_fn_waypointComplete = { + private _group = _this select 0; + private _wp = currentWaypoint _group; + private _done = if (currentWaypoint _group) > (count (waypoints _group)) then {true} else {false}; + _done +}; + +{ + private["_timeStamp","_index","_unit","_soldierType"]; + if ( !(_x isEqualTo grpNull) && ({alive _x} count (units _x) > 0) ) then + { + _timeStamp = _x getVariable ["timeStamp",0]; + if (_timeStamp isEqualTo 0) then + { + _x setVariable["timeStamp",diag_tickTime]; + }; + _soldierType = _x getVariable["soldierType","null"]; + switch (_soldierType) do + { + case "infantry": {[_x, 60] call GMS_fnc_checkgroupwaypointstatus;}; + case "vehicle": {[_x, 90, 800] call GMS_fnc_checkgroupwaypointstatus;}; + case "aircraft": {[_x, 90, 1000] call GMS_fnc_checkgroupwaypointstatus;}; + }; + }; +} forEach GMS_monitoredMissionAIGroups; + diff --git a/@GMS/addons/GMS/Compiles/Groups/fn_setNextWaypoint.sqf b/@GMS/addons/GMS/Compiles/Groups/fn_setNextWaypoint.sqf new file mode 100644 index 0000000..4c7187b --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Groups/fn_setNextWaypoint.sqf @@ -0,0 +1,118 @@ +// Sets the WP type for WP for the specified group and updates other atributes accordingly. +/* + GMS_fnc_setNextWaypoint + + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ + + TODO: Replaces changeToMoveWaypoint + and + Replaces changeToSADWaypoint + +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +private["_group","_wp","_index","_pattern","_mode","_arc","_dis","_wpPos"]; + +private _group = group _this; +private _leader = _this; +private _pos = _group getVariable "patrolCenter"; // Center of the area to be patroleld. +private _minDis = _group getVariable "minDis"; // minimum distance between waypoints +private _maxDis = _group getVariable "maxDis"; // maximum distance between waypoints +private _patrolRadius = _group getVariable "patrolRadius"; // radius of the area to be patrolled +private _wpMode = _group getVariable "wpMode"; // The default mode used when the waypoint becomes active https://community.bistudio.com/wiki/AI_Behaviour +private _wpTimeout = _group getVariable "wpTimeout"; // Here to alow you to have the game engine pause before advancing to the next waypoing. a timout of 10-20 sec is recommended for infantry and land vehicles, and 1 sec for aircraft +private _wpDir = _group getVariable "wpDir"; // Used to note the degrees along the circumference of the patrol area at which the last waypoint was positioned. +private _arc = _group getVariable "wpArc"; // Increment in degrees to be used when advancing the position of the patrol to the next position along the patrol perimeter +private _wp = [_group,0]; +private _nearestEnemy = _leader findNearestEnemy (getPosATL _leader); +private _maxTime = _group getVariable["maxTime",300]; + +// Extricate stuck group. +if (diag_tickTime > (_group getVariable "timeStamp") + _maxTime) exitWith +{ // try to get unit to move and do antiStuck actions + _group setBehaviour "CARELESS"; // We need them to forget about enemies and move + _group setCombatMode "BLUE"; // We need them to disengage and move + private _vector = _wpDir + _arc + 180; // this should force units to cross back and forth across the zone being patrolled + _group setVariable["wpDir",_vector,true]; + private _newWPPos = _pos getPos[_patrolRadius,_vector]; + _wp setWaypointPosition [_newWPPos,0]; + _wp setWaypointBehaviour "SAFE"; + _wp setWaypointCompletionRadius 0; + _wp setWaypointTimeout _wpTimeout; + _wp setWaypointType "MOVE"; + _group setCurrentWaypoint _wp; + //diag_log format["_fnc_setNextWaypoint[antiSticking]: _group = %1 | _newPos = %2 | waypointStatements = %3",_group,_newWPPos,waypointStatements _wp]; +}; + +// Move when no enemies are nearby +if (isNull _nearestEnemy) then +{ + // Use standard waypoint algorythms + /* + Have groups zig-zag back and forth their patrol area + Setting more relaxed criteria for movement and rules of engagement + */ + private _vector = _wpDir + _arc + 180; // this should force units to cross back and forth across the zone being patrolled + _group setVariable["wpDir",_vector,true]; + _group setCombatMode "YELLOW"; + private _newWPPos = _pos getPos[_patrolRadius,_vector]; + _wp setWaypointPosition [_newWPPos,0]; + _group setBehaviour "SAFE"; // no enemies detected so lets put the group in a relaxed mode + _wp setWaypointBehaviour "SAFE"; + _wp setWaypointCombatMode "YELLOW"; + _wp setWaypointCompletionRadius 0; + _wp setWaypointTimeout _wpTimeout; + _group setCurrentWaypoint _wp; + //diag_log format["_fnc_setNextWaypoint[no enemies]: _group = %1 | _newPos = %2 | waypointStatements = %3",_group,_newWPPos,waypointStatements _wp]; +} else { + // move toward nearest enemy using hunting logic + // set mode to SAD / COMBAT + /* + _vector set to relative direction from leader to enemy +/- random adjustment of up to 33 degrees + _distance can be up to one patrol radius outside of the normal perimeter closer to enemy + _timout set to longer period + when coupled with SAD behavior should cause interesting behaviors + */ + // [point1, point2] call BIS_fnc_relativeDirTo + private _vector = ([_leader,_nearestEnemy] call BIS_fnc_relativeDirTo) + (random(33)*selectRandom[-1,1]); + _group setVariable["wpDir",_vector]; + private ["_huntDistance"]; + + if ((leader _group) distance _nearestEnemy > (_patrolRadius * 2)) then + { + if (((leader _group) distance _pos) > (2 * _patrolRadius)) then + { + _huntdistance = 0; + } else { + _huntDistance = _patrolRadius; + }; + } else { + _huntDistance = ((leader _group) distance _nearestEnemy) / 2; + }; + + private _newWPPos = _pos getPos[_huntDistance,_vector]; + //diag_log format["_fnc_setextWaypoint: _pos = %1 | _patrolRadius = %5 | _newWPPos = %2 | _huntDistance = %3 | _vector = %4",_pos,_newWPPos,_huntDistance,_vector,_patrolRadius]; + _wp setWaypointPosition [_newWPPos,0]; + _wp setWaypointBehaviour"COMBAT"; + _group setBehaviour "COMBAT"; + _group setCombatMode "RED"; + _wp setWaypointCombatMode "RED"; + _wp setWaypointType "SAD"; + _wp setWaypointTimeout[30,45,60]; + _wp setWaypointCompletionRadius 0; + _group setCurrentWaypoint _wp; + // Assume the same waypoint statement will be available + //diag_log format["_fnc_setNextWaypoint[enemies]t: _group = %1 | _newPos = %2 | _nearestEnemy = 54 | waypointStatements = %3",_group,_newWPPos,waypointStatements _wp,_nearestEnemy]; +}; + + + diff --git a/@GMS/addons/GMS/Compiles/Groups/fn_setupWaypoints.sqf b/@GMS/addons/GMS/Compiles/Groups/fn_setupWaypoints.sqf new file mode 100644 index 0000000..67993bc --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Groups/fn_setupWaypoints.sqf @@ -0,0 +1,87 @@ +// Sets up waypoints for a specified group. +/* + GMS_fnc_setupWaypoints + + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +private["_dir","_arc","_noWp","_newpos","_wpradius","_wp"]; +params["_pos","_minDis","_maxDis","_group",["_mode","random"],["_wpPatrolMode","SAFE"],["_soldierType","null"],["_patrolRadius",30],["_wpTimeout",[5.0,7.5,10]]]; +_wp = [_group, 0]; +if !(_soldierType isEqualTo "emplaced") then +{ + _arc = 360/5; + _group setcombatmode "RED"; + _group setBehaviour "SAFE"; + _group setVariable["patrolCenter",_pos,true]; // Center of the area to be patroleld. + _group setVariable["minDis",_minDis,true]; // minimum distance between waypoints + _group setVariable["maxDis",_maxDis,true]; // maximum distance between waypoints + _group setVariable["timeStamp",diag_tickTime]; // used to check that waypoints are being completed + _group setVariable["wpRadius",0]; // Always set to 0 to force groups to move a bit + _group setVariable["patrolRadius",_patrolRadius,true]; // radius of the area to be patrolled + _group setVariable["wpMode",_mode,true]; // The default mode used when the waypoint becomes active https://community.bistudio.com/wiki/AI_Behaviour + _group setVariable["wpPatrolMode",_wpPatrolMode]; // Not used; the idea is to allow two algorythms: randomly select waypoints so groups move back and forth along the perimiter of the patrool area or sequenctioal, hoping along the perimeter + _group setVariable["wpTimeout",_wpTimeout,true]; // Here to alow you to have the game engine pause before advancing to the next waypoing. a timout of 10-20 sec is recommended for infantry and land vehicles, and 1 sec for aircraft + _group setVariable["wpDir",0,true]; // Used to note the degrees along the circumference of the patrol area at which the last waypoint was positioned. + _group setVariable["wpArc",_arc,true]; // Increment in degrees to be used when advancing the position of the patrol to the next position along the patrol perimeter + _group setVariable["soldierType",_soldierType]; // infantry, vehicle, air or emplaced. Note that there is no need to have more than one waypoint for emplaced units. + _dir = 0; + + _dis = (_minDis) + random( (_maxDis) - (_minDis) ); + _newPos = _pos getPos[_dis,_dir]; + _wp setWPPos [_newPos select 0, _newPos select 1]; + _wp setWaypointCompletionRadius 0; //(_group getVariable["wpRadius",30]); + _wp setWaypointType "MOVE"; + _wp setWaypointName "move"; + _wp setWaypointBehaviour "SAFE"; + _wp setWaypointCombatMode "RED"; + _wp setWaypointTimeout _wpTimeout; + _group setCurrentWaypoint _wp; + #ifdef GMS_debugMode + _wp setWaypointStatements ["true","this call GMS_fnc_setNextWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to a Move Waypoint',group this];"]; + #else + _wp setWaypointStatements ["true","this call GMS_fnc_setNextWaypoint;"]; + #endif + #ifdef GMS_debugMode + if (GMS_debugLevel >= 3) then + { + _marker = createMarker [format["GroupMarker%1",_group],_newPos]; + _group setVariable["wpMarker",_marker,true]; + _marker setMarkerColor "ColorBlue"; + _marker setMarkerText format["%1 %2",(_group getVariable["soldierType","null"]),_group]; + _marker setMarkerType "mil_triangle"; + //diag_log format["_fnc_setupWaypoints: configuring weapoints for group %2 mobile patrol with _soldierType = %1",_solderType,_group]; + diag_log format["_fnc_setupWaypoints: soldier type for mobile _group %1 set to %2",_group, (_group getVariable["soldierType","null"])]; + diag_log format["_fnc_setupWaypoints: all variables for the group have been set for group %1",_group]; + diag_log format["_fnc_setupWaypoints:: -- >> wpMode %1 _dir %2 _dis %3",_group getVariable["wpMode","random"], _dir, _dis]; + diag_log format["_fnc_setupWaypoints:: -- >> group to update is %1 and new position is %2",_group, _newPos]; + diag_log format["_fnc_setupWaypoints:: -- >> Waypoint statements for group %1 have been configured as %2",_group, waypointStatements _wp]; + diag_log format["_fnc_setupWaypoints:: -- >> Waypoint marker for group %1 have been configured as %2 with text set to %3",_group, _group getVariable "wpMarker", markerText (_group getVariable "wpMarker")]; + }; + #endif +} else { + _wp setWaypointType "SENTRY"; + _wp setWPPos (getPos leader _group); + _wp setWaypointCompletionRadius 100; + _wp setWaypointBehaviour "COMBAT"; + _wp setWaypointCombatMode "RED"; + _wp setWaypointTimeout [1,1.1,1.2]; + //_wp setWaypointTimeout [0.1,0.1100,0.1200]; + _group setCurrentWaypoint _wp; + _group setVariable["soldierType",_soldierType,true]; + #ifdef GMS_debugMode + _wp setWaypointStatements ["true","this call GMS_fnc_emplacedWeaponWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to an emplaced weapon Waypoint',group this];"]; + if (GMS_debugLevel > 2) then {diag_log format["_fnc_setupWaypoints: configuring weapoints for group %2 for emplaced weapon with _soldierType = %1",_soldierType,_group];}; + #else + _wp setWaypointStatements ["true","this call GMS_fnc_emplacedWeaponWaypoint;"]; + #endif +}; diff --git a/@GMS/addons/GMS/Compiles/Groups/fn_simulationMonitor.sqf b/@GMS/addons/GMS/Compiles/Groups/fn_simulationMonitor.sqf new file mode 100644 index 0000000..d337ed0 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Groups/fn_simulationMonitor.sqf @@ -0,0 +1,74 @@ +/* + GMS_fnc_simulationMonitor + + Managages simulation using blckeagls logic + By Ghostrider-GRG- + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +if (GMS_simulationManager isEqualTo GMS_simulationManagementOff) exitWith {}; + +if (GMS_simulationManager isEqualTo GMS_useDynamicSimulationManagement) exitWith +{ + // wake groups up if needed. + { + private _group = _x; + private _nearplayer = [getPosATL (leader _group),GMS_simulationEnabledDistance] call GMS_fnc_nearestPlayers; + if !(_nearPlayer isEqualTo []) then + { + _group reveal [(_nearplayer select 0),(_group knowsAbout (_nearPlayer select 0)) + 0.001]; // Force simulation on + }; + } forEach GMS_monitoredMissionAIGroups; +}; + +if (GMS_simulationManager isEqualTo GMS_useBlckeaglsSimulationManager) then +{ + + { + private _group = _x; + private _nearplayer = [getPosATL (leader _group),GMS_simulationEnabledDistance] call GMS_fnc_nearestPlayers; + if !(_nearplayer isEqualTo []) then + { + if !(simulationEnabled (leader _group)) then + { + { + _x enableSimulationGlobal true; + _x reveal [(_nearplayer select 0),(_group knowsAbout (_nearPlayer select 0)) + 0.001]; // Force simulation on + }forEach units _group; + }; + }else{ + if (simulationEnabled (leader _group)) then + { + {_x enableSimulationGlobal false} forEach units _group; + }; + }; + } forEach GMS_monitoredMissionAIGroups; + + /* + { + // disable simulation once players have left the area. + private _nearPlayers = [getPosATL (_x),GMS_simulationEnabledDistance] call GMS_fnc_nearestPlayers; + if (simulationEnabled _x) then + { + if (_nearPlayers isEqualTo []) then + { + _x enableSimulationGlobal false; + }; + } else { + if !(_nearPlayers isEqualTo []) then + { + _x enableSimulationGlobal true; + }; + }; + } forEach units GMS_graveyardGroup; + */ +}; + + diff --git a/@GMS/addons/GMS/Compiles/Groups/fn_spawnGroup.sqf b/@GMS/addons/GMS/Compiles/Groups/fn_spawnGroup.sqf new file mode 100644 index 0000000..3949df3 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Groups/fn_spawnGroup.sqf @@ -0,0 +1,104 @@ +/* + GMS_fnc_spawnGroup + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params[ + ["_pos",[-1,-1,1]], + ["_numbertospawn",0], + ["_skillLevel","red"], + ["_areaDimensions",[]], + ["_uniforms",[]], + ["_headGear",[]], + ["_vests",[]], + ["_backpacks",[]], + ["_weaponList",[]], + ["_sideArms",[]], + ["_scuba",false] +]; +/* +{ + diag_log format["_fn_spawnGroup: _this %1 = %2",_forEachIndex, _this select _forEachIndex]; +} forEach _this; +*/ +if (_weaponList isEqualTo []) then {_weaponList = [_skillLevel] call GMS_fnc_selectAILoadout}; +if (_sideArms isEqualTo []) then {_sideArms = [_skillLevel] call GMS_fnc_selectAISidearms}; +if (_uniforms isEqualTo []) then {_uniforms = [_skillLevel] call GMS_fnc_selectAIUniforms}; +if (_headGear isEqualTo []) then {_headGear = [_skillLevel] call GMS_fnc_selectAIHeadgear}; +if (_vests isEqualTo []) then {_vests = [_skillLevel] call GMS_fnc_selectAIVests}; +if (_backpacks isEqualTo []) then {_backpacks = [_skillLevel] call GMS_fnc_selectAIBackpacks}; + +private _difficultyIndex = [_skillLevel] call GMS_fnc_getIndexFromDifficulty; +private _group = [ + _pos, + _numberToSpawn, + GMSCore_side, + GMS_baseSkill, + (GMS_AIAlertDistance select _difficultyIndex), + (GMS_AIIntelligence select _difficultyIndex), + GMS_bodyCleanUpTimer, + -1, // max reloads + GMS_launcherCleanup, + GMS_removeNVG, + 0.4, // min damage to heal, + 1, // max heals + "SmokeShellRed", + [GMS_fnc_unitHit], // AI Hit Code + [GMS_fnc_unitKilled], + 0.33, // chance garrison + false // isDrone Crew +] call GMSCore_fnc_spawnInfantryGroup; +_group setVariable["GMS_difficulty",_skillLevel]; +//[format["GMS_fnc_spawnGroup: _group = %1",_group]] call GMS_fnc_log; +[_group] call GMSCore_fnc_setupGroupBehavior; +private _skills = missionNamespace getVariable[format["GMS_Skills%1",_skillLevel],GMS_SkillsRed]; +[_group,_skills] call GMSCore_fnc_setupGroupSkills; +// TODO: Add Money if any should be added +private _gear = [ + [ + _weaponList, + GMS_chancePrimary, + GMS_chanceOpticsPrimary, + GMS_chanceMuzzlePrimary, + GMS_chancePointerPrimary, + GMS_blacklistedPrimaryWeapons + ], // Just adding together all the subclasses of primary weaponss + [ + _sideArms, + GMS_chanceSecondary, + GMS_chanceOpticsSecondary, + GMS_chanceMuzzleSecondary, + GMS_chancePointerSecondary, + GMS_blacklistedSecondaryWeapons + ], + [GMS_explosives, GMS_chanceThowable], + [_headGear, GMS_chanceHeadgear], + [_uniforms, GMS_chanceUniform], + [_vests, GMS_chanceVest], + [_backpacks, GMS_chanceBackpack], + [GMS_launcherTypes, 1.0], // this is determined elsewhere for GMSAI + [GMS_NVG, 1.0], // this is determined elsewhere for GMSAI + [GMS_binocs,GMS_chanceBinoc], + [GMS_ConsumableItems, 1.0], + [GMS_medicalItems, 1.0], + [GMS_loot, 1.0] +]; +[_group,_gear,GMS_launchersPerGroup,GMS_useNVG] call GMSCore_fnc_setupGroupGear; +if !(_areaDimensions isEqualTo []) then +{ + [_group,[],[_pos,_areaDimensions],300,0.33] call GMSCore_fnc_initializeWaypointsAreaPatrol; +}; + +_group selectLeader ((units _group) select 0); +//[format["GMS_fnc_spawnGroup: _group = %1",_group]] call GMS_fnc_log; +_group + diff --git a/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_addDynamicUMS_Mission.sqf b/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_addDynamicUMS_Mission.sqf new file mode 100644 index 0000000..c77a7af --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_addDynamicUMS_Mission.sqf @@ -0,0 +1,33 @@ +/* + by Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +//params["_pos"]; +private["_UMS_mission","_waitTime","_mission","_pos"]; + +if (count GMS_dynamicUMS_MissionList == 0) exitWith +{ + GMS_numberUnderwaterDynamicMissions = -1; + diag_log "No Dynamic UMS Missions Listed "; +}; +_UMS_mission = selectRandom GMS_dynamicUMS_MissionList; +_waitTime = (GMS_TMin_UMS) + random(GMS_TMax_UMS - GMS_TMin_UMS); +_mission = format["%1%2","Mafia Pirates",floor(random(1000000))]; +_pos = call GMS_fnc_findShoreLocation; +#ifdef GMS_debugMode +if (GMS_debugLevel >= 2) then {diag_log format["_fnc_addDynamicUMS_Mission: GMS_dynamicUMS_MissionsRuning = %1 | GMS_missionsRunning = %2 | GMS_UMS_ActiveDynamicMissions = %3",GMS_dynamicUMS_MissionsRuning,GMS_missionsRunning,GMS_UMS_ActiveDynamicMissions]};; +#endif +GMS_UMS_ActiveDynamicMissions pushBack _pos; +GMS_missionsRunning = GMS_missionsRunning + 1; +GMS_dynamicUMS_MissionsRuning = GMS_dynamicUMS_MissionsRuning + 1; +//diag_log format["[GMS] UMS Spawner:-> waiting for %1",_waitTime]; +uiSleep _waitTime; +//diag_log format["[GMS] UMS Spawner:-> spawning mission %1",_UMS_mission]; +[_pos,_mission] call compileFinal preprocessFileLineNumbers format["q\addons\GMS\Missions\UMS\dynamicMissions\%1",_UMS_mission]; diff --git a/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_garrisonBuilding_relPosSystem.sqf b/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_garrisonBuilding_relPosSystem.sqf new file mode 100644 index 0000000..5967d2e --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_garrisonBuilding_relPosSystem.sqf @@ -0,0 +1,68 @@ + +/* + By Ghostrider-GRG- + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_center", + "_garrisonedBuilding_relPosSystem", + ["_aiDifficultyLevel","Red"], + ["_uniforms",[]], + ["_headGear",[]], + ["_vests",[]], + ["_backpacks",[]], + ["_weaponList",[]], + ["_sideArms",[]] + ]; + +{ + diag_log format["_fnc_garrisonBuilding_relPosSystem: _this %1 = %2",_forEachIndex,_this select _forEachIndex]; +}forEach _this; + +if (_weaponList isEqualTo []) then {_weaponList = [_aiDifficultyLevel] call GMS_fnc_selectAILoadout}; +if (_sideArms isEqualTo []) then {_sideArms = [_aiDifficultyLevel] call GMS_fnc_selectAISidearms}; +if (_uniforms isEqualTo []) then {_uniforms = [_aiDifficultyLevel] call GMS_fnc_selectAIUniforms}; +if (_headGear isEqualTo []) then {_headGear = [_aiDifficultyLevel] call GMS_fnc_selectAIHeadgear}; +if (_vests isEqualTo []) then {_vests = [_aiDifficultyLevel] call GMS_fnc_selectAIVests}; +if (_backpacks isEqualTo []) then {_backpacks = [_aiDifficultyLevel] call GMS_fnc_selectAIBackpacks}; +private["_group","_buildingsSpawned","_staticsSpawned","_g","_building","_return"]; +_buildingsSpawned = []; +_staticsSpawned = []; +_group = [GMSCore_side,true] call GMS_fnc_createGroup; +if !(isNull _group) then +{ + { + // ["Land_Unfinished_Building_02_F",[-21.8763,-45.978,-0.00213432],0,true,true,0.67,3,[],4], + _x params["_bldClassName","_bldRelPos","_bldDir","_allowDamage","_enableSimulation","_probabilityOfGarrision","_noStatics","_typesStatics","_noUnits"]; + if (_typesStatics isEqualTo []) then {_typesStatics = GMS_staticWeapons}; + _building = createVehicle[_bldClassName,[0,0,0],[],0,"CAN_COLLIDE"]; + _buildingsSpawned pushBack _building; + _building setPosATL (_bldRelPos vectorAdd _center); + [_building, _bldDir] call GMS_fnc_setDirUp; + _staticsSpawned = [ + _building, + _group, + _noStatics, + _typesStatics, + _noUnits, + _aiDifficultyLevel, + _uniforms, + _headGear, + _vests, + _backpacks, + "none", + _weaponList, + _sideArms + ] call GMS_fnc_spawnGarrisonInsideBuilding_relPos; + }forEach _garrisonedBuilding_relPosSystem; +}; +_return = [_group,_buildingsSpawned,_staticsSpawned]; +_return + diff --git a/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_missionSpawner.sqf b/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_missionSpawner.sqf new file mode 100644 index 0000000..9bb134e --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_missionSpawner.sqf @@ -0,0 +1,183 @@ +/* + Dynamic Mission Spawner (over-ground missions) + By Ghostrider GRG + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#define delayTime 1 +private ["_abort","_crates","_aiGroup","_objects","_groupPatrolRadius","_missionLandscape","_mines","_GMS_AllMissionAI","_assetKilledMsg","_enemyLeaderConfig", + "_AI_Vehicles","_timeOut","_aiDifficultyLevel","_missionPatrolVehicles","_missionGroups","_loadCratesTiming","_spawnCratesTiming","_assetSpawned","_hostageConfig", + "_chanceHeliPatrol","_noPara","_chanceLoot","_heliCrew","_loadCratesTiming","_useMines","_GMS_AllMissionAI","_delayTime","_groupPatrolRadius","_simpleObjects", + "_wait","_missionStartTime","_playerInRange","_missionTimedOut","_temp","_patrolVehicles","_vehToSpawn","_noChoppers","_chancePara","_paraSkill","_marker","_vehicleCrewCount", + "_defaultMissionLocations","_garrisonedbuildings_buildingposnsystem","_garrisonedBuilding_ATLsystem", "_isScubaMission","_markerlabel","_missionLootBoxes","_airpatrols", + "_submarinePatrols","_scubaPatrols","_maxMissionRespawns"]; + +params["_markerName",["_aiDifficultyLevel","Red"]]; +if (isNil "_markerLabel") then {_markerLabel = _markerMissionName}; +if (isNil "_assetKilledMsg") then {_assetKilledMsg = ""}; +if (isNil "_markerColor") then {_markerColor = "ColorBlack"}; +if (isNil "_markerType") then {_markerType = ["mil_box",[]]}; +if (isNil "_markerSize") then {_markerSize = []}; +if (isNil "_endCondition") then {_endCondition = GMS_missionEndCondition}; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear}; +if (isNil "_spawnCratesTiming") then {_spawnCratesTiming = GMS_spawnCratesTiming}; // Choices: "atMissionSpawnGround","atMissionSpawnAir","atMissionEndGround","atMissionEndAir". +if (isNil "_loadCratesTiming") then {_loadCratesTiming = GMS_loadCratesTiming}; // valid choices are "atMissionCompletion" and "atMissionSpawn"; +if (isNil "_missionPatrolVehicles") then {_missionPatrolVehicles = []}; +if (isNil "_missionGroups") then {_missionGroups = []}; +if (isNil "_hostageConfig") then {_hostageConfig = []}; +if (isNil "_enemyLeaderConfig") then {_enemyLeaderConfig = []}; +if (isNil "_useMines") then {_useMines = GMS_useMines;}; +if (isNil "_weaponList") then {_weaponList = [_aiDifficultyLevel] call GMS_fnc_selectAILoadout}; +if (isNil "_sideArms") then {_sideArms = [_aiDifficultyLevel] call GMS_fnc_selectAISidearms}; +if (isNil "_uniforms") then {_uniforms = [_aiDifficultyLevel] call GMS_fnc_selectAIUniforms}; +if (isNil "_headGear") then {_headGear = [_aiDifficultyLevel] call GMS_fnc_selectAIHeadgear}; +if (isNil "_vests") then {_vests = [_aiDifficultyLevel] call GMS_fnc_selectAIVests}; +if (isNil "_backpacks") then {_backpacks = [_aiDifficultyLevel] call GMS_fnc_selectAIBackpacks}; +if (isNil "_chanceHeliPatrol") then {_chanceHeliPatrol = [_aiDifficultyLevel] call GMS_fnc_selectChanceHeliPatrol}; +if (isNil "_noChoppers") then {_noChoppers = [_aiDifficultyLevel] call GMS_fnc_selectNumberAirPatrols}; +if (isNil "_chancePara") then {_chancePara = [_aiDifficultyLevel] call GMS_fnc_selecctChanceParatroops}; +if (isNil "_missionHelis") then {_missionHelis = [_aiDifficultyLevel] call GMS_fnc_selectMissionHelis}; +if (isNil "_noPara") then {_noPara = [_aiDifficultyLevel] call GMS_fnc_selectNumberParatroops}; +if (isNil "_paraSkill") then {_paraSkill = _aiDifficultyLevel}; +if (isNil "_chanceLoot") then {_chanceLoot = 1.0}; //0.5}; +if (isNil "_paraTriggerDistance") then {_paraTriggerDistance = 400;}; +if (isNil "_paraLoot") then {_paraLoot = GMS_BoxLoot_Green}; // Add diffiiculty based settings +if (isNil "_paraLootCounts") then {_paraLootCounts = GMS_lootCountsRed}; // Add difficulty based settings +if (isNil "_missionLootVehicles") then {_missionLootVehicles = []}; +if (isNil "_garrisonedBuilding_ATLsystem") then {_garrisonedBuilding_ATLsystem = []}; +if (isNil "_garrisonedBuildings_BuildingPosnSystem") then {_garrisonedBuildings_BuildingPosnSystem = []}; +if (isNil "_vehicleCrewCount") then {_vehicleCrewCount = [_aiDifficultyLevel] call GMS_fnc_selectVehicleCrewCount}; +if (isNil "_airpatrols") then {_airpatrols = []}; +if (isNil "_submarinePatrols") then {_submarinePatrols = 0}; +if (isNil "_submarinePatrolParameters") then {_submarinePatrolParameters = []}; +if (isNil "_scubaPatrols") then {_scubaPatrols = 0}; +if (isNil "_scubagroupparameters") then {_scubagroupparameters = []}; +if (isNil "_markerMissionName") then { + diag_log format["_fnc_missionSpawner: _markerMissionName not defined, using default value"]; + _markerMissionName = "Default Mission Name"; +}; +if (isNil "_noLootCrates") then {_noLootCrates = 1}; +if (isNil "_lootCrates") then {_lootCrates = GMS_crateTypes}; +if (isNil "_lootCratePositions") then {_lootCratePositions = []}; +if (isNil "_isScubaMission") then {_isScubaMission = false}; +if (isNil "_missionLootBoxes") then {_missionLootBoxes = []}; +if (isNil "_defaultMissionLocations") then {_defaultMissionLocations = []}; +if (isNil "_maxMissionRespawns") then {_maxMissionRespawns = -1}; +if (isNil "_simpleObjects") then {_simpleObjects = []}; +if (isNil "_missionemplacedweapons") then +{ + _missionemplacedweapons = []; + diag_log format["[GMS] _missionSpawner: setting _missionemplacedweapons to its default value of %1",_missionemplacedweapons]; +}; + +_markerType params["_markerType",["_markersize",[250,250]],["_markerBrush","GRID"]]; +private _paraSkill = _aiDifficultyLevel; + + +if !(_spawnCratesTiming in GMS_validLootSpawnTimings) then +{ + [format['Invalid crate spawn timing %1 found in mission %2 :: default value "atMissionSpawnGround" used',_spawnCratesTiming,_markerMissionName],""] call GMS_fnc_log; + _spawnCratesTiming = "atMissionSpawnGround"; +}; +if !(_loadCratesTiming in GMS_validLootLoadTimings) then +{ + [format['Invalid crate loading timing %1 found in mission %2 :: default "atMissionSpawn" value used',_loadCratesTiming,_markerMissionName],""] call GMS_fnc_log; + _loadCratesTiming = "atMissionSpawn"; +}; +if !(_endCondition in GMS_validEndStates) then +{ + [format['Invalid mission end condition %1 found in mission %2 :: default value allKilledOrPlayerNear; used',_endCondition,_markerMissionName],""] call GMS_fnc_log; + _endCondition = allKilledOrPlayerNear; +}; +//diag_log format["_missionSpawner: _markerName %1 | _markerMissionName %2 | _markerColor %3",_markerName,_markerMissionName,_markerColor]; +private _markerConfigs = [ + _markerLabel, + _markerMissionName, // Name used for setMarkerText and also for the root name for all markers + _markerType, + _markerColor, + _markerSize, + _markerBrush +]; + +private _paraConfigs = [ + _chancePara, + _paraTriggerDistance, + _noPara, + _paraSkill, + _chanceLoot, + _paraLoot, + _paraLootCounts +], + +private _missionLootConfigs = [ + _spawnCratesTiming, + _loadCratesTiming, + _crateLoot, + _lootCounts, + _missionLootBoxes, + _missionLootVehicles +]; + +private _aiConfigs = [ + _uniforms, + _headgear, + _vests, + _backpacks, + _weaponList, + _sideArms, + _missionLandscapeMode, + _garrisonedBuildings_BuildingPosnSystem, + _garrisonedBuilding_ATLsystem, + _missionLandscape, + _simpleObjects, + _missionPatrolVehicles, + _submarinePatrols, // Added Build 227 + _submarinePatrolParameters, + _airPatrols, + _noVehiclePatrols, + _vehicleCrewCount, + _missionEmplacedWeapons, + _noEmplacedWeapons, + _useMines, + _minNoAI, + _maxNoAI, + _noAIGroups, + _missionGroups, + _scubaPatrols, // Added Build 227 + _scubaGroupParameters, + _hostageConfig, + _enemyLeaderConfig, + _chanceHeliPatrol, + _noChoppers, + _missionHelis +]; + +private _missionMessages = [ + _assetKilledMsg, + _endMsg, + _startMsg +]; + +private _timesSpawned = 0; +private _table = [ + _aiDifficultyLevel, + _markerConfigs, + _endCondition, + _isscubamission, + _missionLootConfigs, + _aiConfigs, + _missionMessages, + _paraConfigs, + _defaultMissionLocations, + _maxMissionRespawns, + _timesSpawned +]; +//[format["_missionSpawner (182): _defaultMissionLocations %1 | _maxMissionRespawns %2 | _timesSpawned %3",_defaultMissionLocations,_maxMissionRespawns,_timesSpawned]] call GMS_fnc_log; +_table diff --git a/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_spawnGarrisonInsideBuilding_ATL.sqf b/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_spawnGarrisonInsideBuilding_ATL.sqf new file mode 100644 index 0000000..3d67433 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_spawnGarrisonInsideBuilding_ATL.sqf @@ -0,0 +1,36 @@ + +/* + By Ghostrider-GRG- + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_building","_group","_statics","_men",["_aiDifficultyLevel","Red"], ["_uniforms",[]],["_headGear",[]],["_vests",[]],["_backpacks",[]],["_launcher","none"],["_weaponList",[]],["_sideArms",[]]]; + +private["_staticsSpawned","_return","_obj","_unit","_u"]; +_staticsSpawned = []; +{ + _x params["_staticClassName","_staticRelPos","_staticDir"]; + _obj = [_staticClassName, [0,0,0]] call GMS_fnc_spawnVehicle; + _obj setVariable["GRG_vehType","emplaced"]; + _staticsSpawned pushBack _obj; + _obj setPosATL (_staticRelPos vectorAdd getPosATL _building); + _obj setDir _staticDir; + _unit = [[0,0,0],_group,_aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,_launcher,_weaponList,_sideArms,false,true] call GMS_fnc_spawnUnit; + _unit moveInGunner _obj; +}forEach _statics; +{ + _u = _x; + _u params["_unitRelPos","_unitDir"]; + _unit = [[0,0,0],_group,_aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,_launcher,_weaponList,_sideArms,false,true] call GMS_fnc_spawnUnit; + _unit setPosATL (_unitRelPos vectorAdd (getPosATL _building)); + _unit setDir _unitDir; + _unit disableAI "PATH"; +}forEach _men; +_staticsSpawned diff --git a/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_spawnGarrisonInsideBuilding_relPos.sqf b/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_spawnGarrisonInsideBuilding_relPos.sqf new file mode 100644 index 0000000..7e9307b --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_spawnGarrisonInsideBuilding_relPos.sqf @@ -0,0 +1,90 @@ +/* + By Ghostrider-GRG- + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +/* + _building, + _group, + _noStatics, + _typesStatics, + _noUnits, + _aiDifficultyLevel, + _uniforms, + _headGear, + _vests, + _backpacks, + "none", + _weaponList, + _sideArms +*/ +params[ + "_building", + "_group", + ["_noStatics",0], + ["_typesStatics",GMS_staticWeapons], + ["_noUnits",0], + ["_aiDifficultyLevel","Red"], + ["_uniforms",[]], + ["_headGear",[]], + ["_vests",[]], + ["_backpacks",[]], + ["_launcher","none"], + ["_weaponList",[]], + ["_sideArms",[]] +]; + +if (_weaponList isEqualTo []) then {_weaponList = [_aiDifficultyLevel] call GMS_fnc_selectAILoadout}; +if (_sideArms isEqualTo []) then {_sideArms = [_aiDifficultyLevel] call GMS_fnc_selectAISidearms}; +if (_uniforms isEqualTo []) then {_uniforms = [_aiDifficultyLevel] call GMS_fnc_selectAIUniforms}; +if (_headGear isEqualTo []) then {_headGear = [_aiDifficultyLevel] call GMS_fnc_selectAIHeadgear}; +if (_vests isEqualTo []) then {_vests = [_aiDifficultyLevel] call GMS_fnc_selectAIVests}; +if (_backpacks isEqualTo []) then {_backpacks = [_aiDifficultyLevel] call GMS_fnc_selectAIBackpacks}; + +private["_unit","_obj","_staticClassName","_usedBldPsn","_pos","_obj"]; +private _allBldPsn = ([_building] call BIS_fnc_buildingPositions) call BIS_fnc_arrayShuffle; +private _countBldPsn = count _allBldPsn; +private _statics = _noStatics min ceil(_countBldPsn/2); +private _units = _countBldPsn - _statics; +diag_log format["_fnc_spawnGarrisonInsideBuilding_relPos: _statics = %1 | _units = %2 | count _allBldPsn = %3 | _allBldPsn %4",_statics,_units,count _allBldPsn,_allBldPsn]; +private _staticsSpawned = []; +private _locsUsed = []; +uiSleep 1; +for "_i" from 1 to _statics do +{ + if (_allBldPsn isEqualTo []) exitWith {}; + _pos = _allBldPsn deleteAt 0; + diag_log format["_fnc_spawnGarrisonInsideBuilding_relPos: _pos = %1",_pos]; + _locsUsed pushBack _pos; + _staticClassName = selectRandom _typesStatics; + _obj = [_staticClassName, [0,0,0]] call GMS_fnc_spawnVehicle; + _obj setVariable["GRG_vehType","emplaced"]; + _staticsSpawned pushBack _obj; + _obj setPosATL _pos; // (_pos vectorAdd (getPosATL _building)); + _unit = [[0,0,0],_group,_aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,_launcher,_weaponList,_sideArms,false,true] call GMS_fnc_spawnUnit; + _unit moveInGunner _obj; +}; +private _infantryPos = _allBldPsn; +for "_i" from 1 to _units do +{ + if (_allBldPsn isEqualTo []) exitWith {}; + _pos = _allBldPsn deleteAt 0; + _unit = [[0,0,0],_group,_aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,_launcher,_weaponList,_sideArms,false,true] call GMS_fnc_spawnUnit; + _unit setPosATL _pos; + { + _wp = _group addWaypoint [_x, 0]; + _wp setWaypointType "MOVE"; + _wp setWaypointCompletionRadius 0; + _wp waypointAttachObject _building; + _wp setWaypointHousePosition _foreachindex; + _wp setWaypointTimeout [15, 20, 30]; + } forEach (_building buildingPos -1); +}; +_staticsSpawned diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_addMIssionToQue.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_addMIssionToQue.sqf new file mode 100644 index 0000000..6054483 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_addMIssionToQue.sqf @@ -0,0 +1,57 @@ +/* + GMS_fnc_addMissionToQue + + Adds the basic list of parameters that define a mission such as the marker name, mission list, mission path, AI difficulty, and timer settings, to the arrays that the main thread inspects. + + By Ghostrider-GRG- + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_missionList","_path","_marker","_difficulty","_tMin","_tMax",["_noMissions",1]]; +if (GMS_debugLevel >= 3) then +{ + { + diag_log format["_addMissionToQue: _this %1 = %2",_forEachIndex, _this select _forEachIndex]; + } forEach _this; +}; +private _waitTime = diag_tickTime + (_tMin) + random((_tMax) - (_tMin)); +private _missionsData = []; // Parameters definine each of the missions for this difficulty are stored as arrays here. +{ + private _missionFile = format["\GMS\Missions\%1\%2.sqf",_path,_x]; + private _missionCode = compileFinal preprocessFileLinenumbers _missionFile;//return all of the values that define how the mission is spawned as an array of values + if !(isNil "_missionCode") then + { + private _data = [_marker,_difficulty] call _missionCode; + if !(isNil "_data") then + { + _missionsData pushBack _data; + }; + } else { + diag_log format["bad path\mission combination %1",_missionFile]; + }; +} forEach _missionList; + +private _key = round(random(10000)); +private _missions = [ + _key, + _difficulty, + _noMissions, // Max no missions of this category + 0, // Number active + _tMin, // Used to calculate waittime in the future + _tMax, // as above + _waitTime, // time at which a mission should be spawned + _missionsData // Array of data about individual missions that could be spawned. The data table for each mission is defined in _missionSpawner +]; + +GMS_missionData pushBack _missions; + + + + diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_endMission.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_endMission.sqf new file mode 100644 index 0000000..1f7b75a --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_endMission.sqf @@ -0,0 +1,218 @@ +/* + schedules deletion of all remaining alive AI and mission objects. + Updates the mission que. + Updates mission markers. + By Ghostrider-GRG- + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +/////////////////////////////////////////////////////////////////////// +// MAIN FUNCTION STARTS HERE +////////////////////////////////////////////////////////////////////// + +params[ + ["_key",-1], + ["_missionData",[]], + ["_endMsg",""], + ["_markerData",[]], + ["_missionLootConfigs",[]], + ["_isScuba",false], + ["_endCode",-1] +]; +//[format["_endMission: _endCode %1 | _markerData %2 | _endMsg %3",_endCode, _markerData, _endMsg]] call GMS_fnc_log; +_missionData params [ + "_coords", + "_mines", + "_objects", + "_hiddenObjects", + "_crates", + "_missionAI", + "_assetSpawned", + "_aiVehicles", + "_lootVehicles", + "_markers" +]; + +_markerData params [ + "_markerName", + "_markerMissionName" +]; + +/* +_missionLootConfigs params [ + "_spawnCratesTiming", + "_loadCratesTiming", + "_crateLoot", + "_lootCounts" + // Ignore the remaining entries in the configuration +]; +*/ +{[_x] call GMS_fnc_deleteMarker} forEach (_markers); + +{ + private _el = _x; + if ((_el select 0) == _key) exitWith + { + #define noActive 3 + private _activeMissions = _el select noActive; + _el set[noActive, _activeMissions - 1]; + }; +} forEach GMS_missionData; + +switch (_endCode) do +{ + case -1: { + //[format["_endMission (93): _exception -1 | _mines %1 | _crates %2 | count _objects %3 | count _missionAI %4 ",_mines,_crates,count _objects, count _missionAI]] call GMS_fnc_log; + GMS_hiddenTerrainObjects pushBack[_hiddenObjects,(diag_tickTime)]; + [_mines, 0] call GMSCore_fnc_deleteObjectsMethod; + [_crates, 0] call GMSCore_fnc_deleteObjectsMethod; + [_objects, 0] call GMSCore_fnc_deleteObjectsMethod; + [_missionAI, 0] call GMSCore_fnc_deleteObjectsMethod; + [_aiVehicles, 0] call GMSCore_fnc_deleteObjectsMethod; + [_lootVehicles, 0] call GMSCore_fnc_deleteObjectsMethod; + }; + case 1: { // Normal End + //[format["_endMission (102): _exception 1 (normal ending) | _mines %1 | _crates %2 | count _objects %3 | count _missionAI %4 ",_mines,_crates,count _objects, count _missionAI]] call GMS_fnc_log; + if (GMS_useSignalEnd) then + { + [_crates select 0,150] spawn GMSCore_fnc_visibleMarker; + { + _x enableRopeAttach true; + }forEach _crates; + }; + + [["end",_endMsg,_markerMissionName]] call GMS_fnc_messageplayers; + + [_coords, _markerName] spawn GMS_fnc_missionCompleteMarker; + + { + private ["_v","_posnVeh"]; + _posnVeh = GMS_monitoredVehicles find _x; // returns -1 if the vehicle is not in the array else returns 0-(count GMS_monitoredVehicles -1) + if (_posnVeh >= 0) then + { + (GMS_monitoredVehicles select _posnVeh) setVariable ["missionCompleted", diag_tickTime]; + } else { + _x setVariable ["missionCompleted", diag_tickTime]; + GMS_monitoredVehicles pushback _x; + }; + } forEach _aiVehicles; + [_mines, 0] call GMSCore_fnc_deleteObjectsMethod; + [_objects, (diag_tickTime + GMS_cleanupCompositionTimer)] call GMSCore_fnc_addToDeletionCue; + GMS_hiddenTerrainObjects pushBack[_hiddenObjects,(diag_tickTime + GMS_cleanupCompositionTimer)]; + [_missionAI, (diag_tickTime + GMS_AliveAICleanUpTimer)] call GMSCore_fnc_addToDeletionCue; + [format["Mission Completed | _coords %1 : _markerClass %2 : _markerMissionName %3",_coords,_markerName,_markerName]] call GMS_fnc_log; + }; + case 2: { // Aborted for moving a crate + #define illegalCrateMoveMsg "Crate moved before mission completed" + [["warming",illegalCrateMoveMsg,_markerName]] call GMS_fnc_messageplayers; + GMS_hiddenTerrainObjects pushBack[_hiddenObjects,(diag_tickTime)]; + [_mines, 0] call GMSCore_fnc_deleteObjectsMethod; + [_crates, 0] call GMSCore_fnc_deleteObjectsMethod; + [_objects, 0] call GMSCore_fnc_deleteObjectsMethod; + [_missionAI, 0] call GMSCore_fnc_deleteObjectsMethod; + [_aiVehicles, 0] call GMSCore_fnc_deleteObjectsMethod; + [_lootVehicles, 0] call GMSCore_fnc_deleteObjectsMethod; + [format["Mission Aborted | _coords %1 : _markerClass %2 : _markerMissionName %3",_coords,_markerName,_markerName]] call GMS_fnc_log; + }; + case 3: { // Mision aborted for killing an asset + [["warning",_endMsg,_markerName]] call GMS_fnc_messageplayers; + GMS_hiddenTerrainObjects pushBack[_hiddenObjects,(diag_tickTime)]; + [_mines, 0] call GMSCore_fnc_deleteObjectsMethod; + [_crates, 0] call GMSCore_fnc_deleteObjectsMethod; + [_objects, 0] call GMSCore_fnc_deleteObjectsMethod; + [_missionAI, 0] call GMSCore_fnc_deleteObjectsMethod; + [_aiVehicles, 0] call GMSCore_fnc_deleteObjectsMethod; + [_lootVehicles, 0] call GMSCore_fnc_deleteObjectsMethod; + [format["Mission Aborted | _coords %1 : _markerClass %2 : _markerMissionName %3",_coords,_markerName,_markerName]] call GMS_fnc_log; + }; + case 4: { + //[format["_endMission (153): _exception 4 | count _mines %1 | count _crates %2 | count _objects %3 | count _missionAI %4 ",_mines,_crates,count _objects, count _missionAI]] call GMS_fnc_log; + GMS_hiddenTerrainObjects pushBack[_hiddenObjects,(diag_tickTime)]; + if (GMS_useSignalEnd) then + { + [_crates select 0,150] spawn GMSCore_fnc_visibleMarker; + { + _x enableRopeAttach true; + }forEach _crates; + }; + + [["end",_endMsg,_markerMissionName]] call GMS_fnc_messageplayers; + + [_coords, _markerName] spawn GMS_fnc_missionCompleteMarker; + + { + private ["_v","_posnVeh"]; + _posnVeh = GMS_monitoredVehicles find _x; // returns -1 if the vehicle is not in the array else returns 0-(count GMS_monitoredVehicles -1) + if (_posnVeh >= 0) then + { + (GMS_monitoredVehicles select _posnVeh) setVariable ["missionCompleted", diag_tickTime]; + } else { + _x setVariable ["missionCompleted", diag_tickTime]; + GMS_monitoredVehicles pushback _x; + }; + } forEach _aiVehicles; + [_mines, 0] call GMSCore_fnc_deleteObjectsMethod; + [_crates, 1200] call GMSCore_fnc_deleteObjectsMethod; + [_objects, 0] call GMSCore_fnc_deleteObjectsMethod; + [_missionAI, 0] call GMSCore_fnc_deleteObjectsMethod; + [_aiVehicles, 0] call GMSCore_fnc_deleteObjectsMethod; + [_lootVehicles, 0] call GMSCore_fnc_deleteObjectsMethod; + }; + + case 5: { + //[format["_endMission (190): _exception 5 | count _mines %1 | count _crates %2 | count _objects %3 | count _missionAI %4 ",_mines,_crates,count _objects, count _missionAI]] call GMS_fnc_log; + GMS_hiddenTerrainObjects pushBack[_hiddenObjects,(diag_tickTime)]; + if (GMS_useSignalEnd) then + { + [_crates select 0,150] spawn GMSCore_fnc_visibleMarker; + { + _x enableRopeAttach true; + }forEach _crates; + }; + + [["end",_endMsg,_markerMissionName]] call GMS_fnc_messageplayers; + + [_coords, _markerName] spawn GMS_fnc_missionCompleteMarker; + + { + private ["_v","_posnVeh"]; + _posnVeh = GMS_monitoredVehicles find _x; // returns -1 if the vehicle is not in the array else returns 0-(count GMS_monitoredVehicles -1) + if (_posnVeh >= 0) then + { + (GMS_monitoredVehicles select _posnVeh) setVariable ["missionCompleted", diag_tickTime]; + } else { + _x setVariable ["missionCompleted", diag_tickTime]; + GMS_monitoredVehicles pushback _x; + }; + } forEach _aiVehicles; + [_mines, 0] call GMSCore_fnc_deleteObjectsMethod; + [_crates, 120] call GMSCore_fnc_deleteObjectsMethod; + [_objects, 0] call GMSCore_fnc_deleteObjectsMethod; + [_missionAI, 0] call GMSCore_fnc_deleteObjectsMethod; + [_aiVehicles, 0] call GMSCore_fnc_deleteObjectsMethod; + [_lootVehicles, 0] call GMSCore_fnc_deleteObjectsMethod; + }; +}; + +GMS_missionsRunning = GMS_missionsRunning - 1; +GMS_ActiveMissionCoords = GMS_ActiveMissionCoords - [ _coords]; +if !(_isScuba) then +{ + GMS_recentMissionCoords pushback [_coords,diag_tickTime]; +}; +if (_isScuba) then +{ + GMS_priorDynamicUMS_Missions pushback [_coords,diag_tickTime]; + GMS_UMS_ActiveDynamicMissions = GMS_UMS_ActiveDynamicMissions - [_coords]; + GMS_dynamicUMS_MissionsRuning = GMS_dynamicUMS_MissionsRuning - 1; +}; + +GMS_missionsRun = GMS_missionsRun + 1; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_fillBoxes.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_fillBoxes.sqf new file mode 100644 index 0000000..1e90f37 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_fillBoxes.sqf @@ -0,0 +1,149 @@ + +/* + By Ghostrider-GRG- + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + + private["_a1","_item","_diff","_tries"]; + params["_crate","_boxLoot","_itemCnts"]; + + _itemCnts params["_wepCnt","_magCnt","_opticsCnt","_materialsCnt","_itemCnt","_bkcPckCnt"]; + _boxLoot params["_weapons","_magazines","_optics","_materials","_items","_backpacks"]; + + if !(_weapons isEqualTo []) then + { + private _tries = [_wepCnt] call GMSCore_fnc_getIntegerFromRange; + //[format["_fillBoxes: _tries %1 | _wepCnt %2 | _weapons %3",_tries,_wepCnt,_weapons]] call GMS_fnc_log; + // Add some randomly selected weapons and corresponding magazines + for "_i" from 0 to _tries do + { + _item = selectRandom _weapons; + + if (_item isEqualType []) then // Check whether weapon name is part of an array that might also specify an ammo to use + { + _crate addWeaponCargoGlobal [_item select 0,1]; // if yes then assume the first element in the array is the weapon name + if (count _item >1) then { // if the array has more than one element assume the second is the ammo to use. + _crate addMagazineCargoGlobal [_item select 1, 1 + round(random(3))]; + } else { // if the array has only one element then lets load random ammo for it + _crate addMagazineCargoGlobal [selectRandom (getArray (configFile >> "CfgWeapons" >> (_item select 0) >> "magazines")), 1 + round(random(5))]; + }; + } else { + if (_item isKindOf ["Rifle", configFile >> "CfgWeapons"]) then + { + _crate addWeaponCargoGlobal [_item, 1]; + _crate addMagazineCargoGlobal [selectRandom (getArray (configFile >> "CfgWeapons" >> _item >> "magazines")), 1 + round(random(5))]; + }; + }; + }; + }; + + if !(_magazines isEqualTo []) then + { + private _tries = [_magCnt] call GMSCore_fnc_getIntegerFromRange; + //[format["_fillBoxes: _tries %1 | _magCnt %2 | _magazines %3",_tries,_magCnt,_magazines]] call GMS_fnc_log; + // Add Magazines, grenades, and 40mm GL shells + for "_i" from 0 to _tries do + { + _item = selectRandom _magazines; + + if (_item isEqualType []) then + { + _diff = (_item select 2) - (_item select 1); // Take difference between max and min number of items to load and randomize based on this value + _crate addMagazineCargoGlobal [_item select 0, (_item select 1) + round(random(_diff))]; + }; + if (_item isEqualType "") then + { + _crate addMagazineCargoGlobal [_item, 1]; + }; + }; + }; + + if !(_optics isEqualTo []) then + { + private _tries = [_opticsCnt] call GMSCore_fnc_getIntegerFromRange; + //[format["_fillBoxes: _tries %1 | _wepCnt %2 | _weapons %3",_tries,_opticsCnt,_optics]] call GMS_fnc_log; + // Add Optics + for "_i" from 0 to _tries do + { + _item = selectRandom _optics; + + if (_item isEqualType []) then + { + _diff = (_item select 2) - (_item select 1); + _crate additemCargoGlobal [_item select 0, (_item select 1) + round(random(_diff))]; + }; + if (_item isEqualType "") then + { + _crate addItemCargoGlobal [_item,1]; + }; + }; + }; + + if !(_materials isEqualTo []) then + { + private _tries = [_materialsCnt] call GMSCore_fnc_getIntegerFromRange; + //[format["_fillBoxes: _tries %1 | _materialsCnt %2 | _materials %3",_tries,_materialsCnt,_materials]] call GMS_fnc_log; + // Add materials (cindar, mortar, electrical parts etc) + for "_i" from 0 to _tries do + { + _item = selectRandom _materials; + + if (_item isEqualType []) then + { + _diff = (_item select 2) - (_item select 1); + _crate additemCargoGlobal [_item select 0, (_item select 1) + round(random(_diff))]; + }; + if (_item isEqualType "") then + { + _crate addItemCargoGlobal [_item, 1]; + }; + }; + }; + + if !(_items isEqualTo []) then + { + private _tries = [_itemCnt] call GMSCore_fnc_getIntegerFromRange; + //[format["_fillBoxes: _tries %1 | _itemCnt %2 | _items %3",_tries,_itemCnt,_items]] call GMS_fnc_log; + // Add Items (first aid kits, multitool bits, vehicle repair kits, food and drinks) + for "_i" from 0 to _tries do + { + _item = selectRandom _items; + if (_item isEqualType []) then + { + _diff = (_item select 2) - (_item select 1); + _crate additemCargoGlobal [_item select 0, (_item select 1) + round(random(_diff))]; + }; + if (_item isEqualType "") then + { + _crate addItemCargoGlobal [_item, 1]; + }; + }; + }; + + if !(_backpacks isEqualTo []) then + { + private _tries = [_bkcPckCnt] call GMSCore_fnc_getIntegerFromRange; + //[format["_fillBoxes: _tries %1 | _bkcPckCnt %2 | _backpacks %3",_tries,_bkcPckCnt,_backpacks]] call GMS_fnc_log; + for "_i" from 0 to _tries do + { + _item = selectRandom _backpacks; + + if (_item isEqualType []) then + { + _diff = (_item select 2) - (_item select 1); + _crate addbackpackcargoGlobal [_item select 0, (_item select 1) + round(random(_diff))]; + }; + if (_item isEqualType "") then + { + _crate addbackpackcargoGlobal [_item, 1]; + }; + }; + }; diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_garrisonBuilding_ATLsystem.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_garrisonBuilding_ATLsystem.sqf new file mode 100644 index 0000000..a7cb8f0 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_garrisonBuilding_ATLsystem.sqf @@ -0,0 +1,82 @@ + +/* + By Ghostrider-GRG- + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_center", + "_garrisonedBuilding_ATLsystem", + ["_aiDifficultyLevel","Red"], + ["_uniforms",[]], + ["_headGear",[]], + ["_vests",[]], + ["_backpacks",[]], + ["_weaponList",[]], + ["_sideArms",[]] +]; + +private["_group","_buildingsSpawned","_staticsSpawned","_g","_building","_return"]; +_buildingsSpawned = []; +_staticsSpawned = []; +_unitsSpawned = []; +{ + _g = _x; + _x params["_bldClassName","_bldRelPos","_bldDir","_s","_d","_statics","_men"]; + private _unitsToSpwan = (count _statics) + (count _men); + /* + params[ + ["_pos",[0,0,0]], + ["_numbertospawn",0], + ["_skillLevel","red"], + ["_areaDimensions",[]], + ["_uniforms",[]], + ["_headGear",[]], + ["_vests",[]], + ["_backpacks",[]], + ["_weaponList",[]], + ["_sideArms",[]], + ["_scuba",false] + ]; + */ + #define areaDimensions [] // an empty array forces the spawnGroup function to skip setup of any waypoint + private _group = [[0,0,0],_unitsToSpwan,_aiDifficultyLevel,[],_uniforms,_headgear,_vests,_backpacks,_weaponList,_sidearms,false] call GMS_fnc_spawnGroup; + _unitsSpawned append (units _group); + private _units = units _group; + _building = createVehicle[_bldClassName,[0,0,0],[],0,"CAN_COLLIDE"]; + _building setPosATL (_bldRelPos vectorAdd _center); + _building setDir _bldDir; + _buildingsSpawned pushBack _building; + //_staticsSpawned = [_building,_group,_statics,_men,_aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,"none",_weaponList,_sideArms] call GMS_fnc_spawnGarrisonInsideBuilding_ATL; + { + _x params["_staticClassName","_staticRelPos","_staticDir"]; + #define height 0 + #define removeFuel 0 + #define vehHitCode [] + #define vehKilledCode [] + private _damage = if (GMS_killEmptyStaticWeapons) then {1} else {0}; + private _releaseToPlayers = if (GMS_killEmptyStaticWeapons) then {false} else {true}; + private _wep = [_staticClassName,[0,0,0],_staticDir,height,_damage,removeFuel,_releaseToPlayers,GMS_vehicleDeleteTimer,vehHitCode,vehKilledCode] call GMSCore_fnc_spawnPatrolVehicle; + _staticsSpawned pushBack _wep; + _wep setVariable["GMS_vehType","emplaced"]; + _staticsSpawned pushBack _wep; + _wep setPosATL (_staticRelPos vectorAdd getPosATL _building); + _wep setDir _staticDir; + _unit = _units deleteAt 0; + _unit moveInGunner _wep; + }forEach _statics; + { + _u = _x; + _u params["_unitRelPos","_unitDir"]; + _unit = _units deleteAt 0; + _unit setPosATL (_unitRelPos vectorAdd (getPosATL _building)); + _unit setDir _unitDir; + }forEach _men; +}forEach _garrisonedBuilding_ATLsystem; +//[format["_garrisonBuilding_ATLSystem: _unitsspawned %1 | _staticsSpawned %2 | BuildingsSpawned %3",_unitsSpawned,_staticsSpawned,_buildingsSpawned]] call GMS_fnc_log; +[_unitsSpawned,_staticsSpawned,_buildingsSpawned] diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_initializeMission.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_initializeMission.sqf new file mode 100644 index 0000000..5ad69f3 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_initializeMission.sqf @@ -0,0 +1,176 @@ +/* + GMS_fnc_initializeMission + + Perform all functions necessary to initialize a mission. + A marker is created and mission info is added to GMS_initializedMissionsList + + [_mrkr,_difficulty,_m] call GMS_fnc_initializeMission; + + Returns one of the following values: + 0 - the search for a position was unsuccessful - _coords == [] + 1 - the mission was successfully initialized at _coords != [0,0,0] + 2 - the mission has been run the maximum allowed times. +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +private ["_coords","_coordArray","_return"]; +params[ + "_key", // This key can be used to seach the list of available mission types to update that list when a mission is completed or times out + "_missionConfigs", // Selfevident but this is an array with all configs for the mission + "_missionCount" // The number of missions run thus far which is used to unsure each marker has a unique name +]; + + _missionConfigs params [ + "_difficulty", + "_markerConfigs", + "_endCondition", + "_isscubamission", + "_missionLootConfigs", + "_aiConfigs", + "_missionMessages", + "_paraConfigs", + "_defaultMissionLocations", + "_maxMissionRespawns", + "_timesSpawned" +]; + +_markerConfigs params[ + "_markerName", // The unique text identifier for the marker + "_markerMissionName", // Name used for setMarkerText - does not need to be unique + "_markerType", + "_markerColor", + "_markerSize", + "_markerBrush" +]; + +[format["_initializeMission (39): _markerName %1 | _key %2 | _missionCount %3 | _maxMissionRespawns %4 | _timesSpawned %5",_markerName,_key,_missionCount,_maxMissionRespawns,_timesSpawned]] call GMS_fnc_log; + +private _initialized = 0; +/* + +*/ +_coordsArray = []; +if !(_defaultMissionLocations isEqualTo []) then +{ + if (_timesSpawned < _maxMissionRespawns || {_maxMissionRespawns == -1}) then + { + _coords = selectRandom _defaultMissionLocations; + #define timesSpawnedIndex 10 + _missionConfigs set[timesSpawnedIndex, _timesSpawned + 1]; + } else { + _initialized = 2; + }; +} else { + if (_isScubaMission) then + { + _coords = [] call GMS_fnc_findShoreLocation; + } else { + _coords = [] call GMS_fnc_findSafePosn; + _coords = [_coords select 0, _coords select 1, 0]; + }; +}; + +if (_initialized == 2) exitWith {_initialized}; +if (_coords isEqualTo [] || {_coords isEqualTo [0,0,0]}) exitWith +{ + [format["No Safe Mission Spawn Position Found to spawn Mission %1",_markerMissionName],'warning'] call GMS_fnc_log; + // _initialized should be == 0 here + _initialized +}; + +GMS_ActiveMissionCoords pushback _coords; +GMS_missionsRunning = GMS_missionsRunning + 1; +//[format["_initializeMission (70): _coords = %1 | GMS_missionsRunning = %2",_coords,GMS_missionsRunning]] call GMS_fnc_log; + +private _markers = []; + +/* + Handle map markers +*/ + +private "_markerPos"; +if (GMS_labelMapMarkers select 0) then +{ + _markerPos = _coords; +}; +if !(GMS_preciseMapMarkers) then +{ + _markerPos = [_coords,75] call GMS_fnc_randomPosition; +}; + +if (GMS_debugLevel >= 3) then +{ + { + diag_log format["_initializeMission (95) %1 = %2",_x,_markerConfigs select _forEachIndex]; + } forEach [ + "_markerType", + "_markerColor", + "_markerSize", + "_markerBrush" + ]; +}; +private _markerError = false; +if !(toLowerANSI (_markerType) in ["ellipse","rectangle"] || {isClass(configFile >> "CfgMarkers" >> _markerType)} ) then +{ + //[format["_markerType set to 'ELLIPSE': Illegal marker type %1 used for mission %2 of difficulty %3",_markerType,_markerMissionName,_difficulty],"warning"] call GMS_fnc_log; + _markerType = "ELLIPSE"; + _markerSize = [200,200]; + _markerBrush = "GRID"; + _markerError = true; +}; +if !(isClass(configFile >> "CfgMarkerColors" >> _markerColor)) then +{ + //[format["_markerColor set to 'default': Illegal color %1 used for mission %2 of difficulty %3",_markerColor,_markerMissionName,_difficulty],"warning"] call GMS_fnc_log; + _markerColor = "DEFAULT"; + _markerError = true; +}; + +// _markers holds the two markers generated for the mission. +// The first can be "" if the marker type used is an icon such as a triangle. +// The second is always an icon which may have a label. +private _markers = [ + format["%1:%2",_markerName,_missionCount], + _markerPos, + _markerMissionName, + _markerColor, + _markerType, + _markerSize, + _markerBrush] call GMS_fnc_createMissionMarkers; + +if (GMS_debugLevel >= 3) then {[format["_initializeMission (130): _marker = %1 | _markerMissionName = %2 | _difficulty = %3",_markers,_markerMissionName,_difficulty]] call GMS_fnc_log}; + +/* + Send a message to players. +*/ + private _startMsg = _missionMessages select 2; +[["start",_startMsg,_markerMissionName]] call GMS_fnc_messageplayers; + +#define missionTimeoutAt (diag_tickTime + GMS_MissionTimeout) +#define triggered 0 +#define objects [] +#define hiddenObjects [] +#define mines [] +#define crates [] +#define missionVehicles [] +#define missionAI [] +#define lootVehicles [] +#define assetSpawned objNull + +private _missionData = [ + _coords, + mines, + objects, + hiddenObjects, + crates, + missionAI, + assetSpawned, + missionVehicles, + lootVehicles, + _markers +]; +private _spawnPara = -1; +GMS_initializedMissionsList pushBack [_key, missionTimeoutAt, triggered, _missionData, _missionConfigs, _spawnPara]; +//[format["_initializeMission (163): count GMS_initializedMissionsList = %1",count GMS_initializedMissionsList]] call GMS_fnc_log; +_initialized = 1; +_initialized \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_loadLootItemsFromArray.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_loadLootItemsFromArray.sqf new file mode 100644 index 0000000..36f92ca --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_loadLootItemsFromArray.sqf @@ -0,0 +1,51 @@ +/* + Depends on GMS_fnc_addItemToCrate + + call as: + + [_item,_crate] call GMS_fnc_loadLootFromItemsArray; + + where + _crate is a container such as ammo box or vehicle + _loadout is an array containing either 2 or 3 elements. The first array is always an array of items to add. Items can be formated as ["item1","item1"], as [["item1",3],["item2",2]] or as [["item1",2,4],["item2",3,5]]. + See GMS_fnc_addItemToCrate for information about the acceptable formates for the items "item1" ... "itemN". + + The second and optional third element in the array specify the number of times the script will randomly select an item from the array of items and load it into the crate. + For example: + case 1: [["item1",...,"itemN"],6]; The script will randomly select from the array of item names 6 times and call the loot loader each time. + case 2: [["item1",...,"itemN"],6, 9]; As above except that an item will be selected a minimum of 6 and maximum of 9 times. + + By Ghostrider-GRG- + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_loadout","_crate",["_addAmmo",0]]; +if ((_loadout select 0) isEqualTo []) exitWith {}; +{ + private["_tries","_q","_item"]; + _tries = 0; + //diag_log format["_fn_loadLoot:: -- >> now loading for %1",_x]; + _q = _x select 1; // this can be a number or array. + if (_q isEqualType []) then // Assume the array contains a min/max number to add + { + if ((count _q) isEqualTo 2) then {_tries = (_q select 0) + round(random(((_q select 1) - (_q select 0))));} else {_tries = 0;}; + }; + if (_q isEqualType 0) then + { + _tries = _q; + }; + for "_i" from 1 to _tries do + { + _item = selectRandom (_x select 0); + [_item,_crate,_addAmmo] call GMSCore_fnc_addItem; + }; +}forEach _loadout; diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_loadMissionCrate.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_loadMissionCrate.sqf new file mode 100644 index 0000000..c12cb9c --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_loadMissionCrate.sqf @@ -0,0 +1,20 @@ +/* + By Ghostrider-GRG- + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +private _crate = _this select 0; +private _lootCounts = _crate getVariable "lootCounts"; +private _lootarray = _crate getVariable "lootArray"; +[_crate,_lootArray,_lootCounts] call GMS_fnc_fillBoxes; +_crate setVariable["lootLoaded",true]; + + + + diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_missionCleanup.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_missionCleanup.sqf new file mode 100644 index 0000000..049555a --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_missionCleanup.sqf @@ -0,0 +1,34 @@ +/* + schedules deletion of all remaining alive AI and mission objects. + + By Ghostrider-GRG- + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_coords","_mines","_objects","_hiddenObjects","_GMS_AllMissionAI","_markerName","_cleanupAliveAITimer","_cleanupCompositionTimer",["_isScubaMission",false]]; + +[_mines] call GMS_fnc_clearMines; +[_objects, (diag_tickTime + _cleanupCompositionTimer)] call GMSCore_fnc_addToDeletionCue; +GMS_hiddenTerrainObjects pushBack[_hiddenObjects,(diag_tickTime + _cleanupCompositionTimer)]; +[_GMS_AllMissionAI, (diag_tickTime + _cleanupAliveAITimer)] call GMSCore_fnc_addToDeletionCue; +GMS_missionsRunning = GMS_missionsRunning - 1; +GMS_ActiveMissionCoords = GMS_ActiveMissionCoords - [ _coords]; +if !(_isScubaMission) then +{ + GMS_recentMissionCoords pushback [_coords,diag_tickTime]; + [_markerName,"inactive",[0,0,0]] call GMS_fnc_updateMissionQue; +}; +if (_isScubaMission) then +{ + GMS_priorDynamicUMS_Missions pushback [_coords,diag_tickTime]; + GMS_UMS_ActiveDynamicMissions = GMS_UMS_ActiveDynamicMissions - [_coords]; + GMS_dynamicUMS_MissionsRuning = GMS_dynamicUMS_MissionsRuning - 1; +}; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_monitorInitializedMissions.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_monitorInitializedMissions.sqf new file mode 100644 index 0000000..0750ae1 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_monitorInitializedMissions.sqf @@ -0,0 +1,436 @@ +/* + GMS_fnc_monitorInitializedMissions + By Ghostrider-GRG- + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +//GMS_activeMonitorThreads = GMS_activeMonitorThreads + 1; +GMS_monitoring = true; + +//[format["_monitorInitializedMissions (17): GMS_initializedMissionsList = %1", GMS_initializedMissionsList]] call GMS_fnc_log; + +private _missionsList = GMS_initializedMissionsList; +for "_i" from 1 to (count _missionsList) do +{ + + if (_i > (count _missionsList)) exitWith {}; + + // Select a mission category (blue, red, green , etd) + private _el = _missionsList deleteAt 0; + _el params [ + "_key", + "_missionTimeoutAt", // 1 // server time at which the mission times out. + "_triggered", // 2 // integer - specifies if mission was triggered by a player or scripting such as debug setting + "_missionData", // 4 // variable containing information specific to this instance of the mission such as location and objects + "_missionConfigs", // 5 // Variables regarding the configuration of the dynamic mission + "_spawnPara" + ]; + + #define triggered 2 + #define missionCoords _missionData select 0 + #define delayTime 1 + + private _monitorAction = -2; + + if (_triggered == 0) then + { + if ((_missionTimeoutAt > 0) && {diag_tickTime > _missionTimeoutAt}) then + { + _monitorAction = -1; + //diag_log format["_monitorInitializedMissions (37) Mission Timeout Criteria Met at %1",diag_tickTime]; + } else { + private _playerInRange = [missionCoords, GMS_TriggerDistance, false, true] call GMS_fnc_playerInRange; + if (_playerInRange) then { + //diag_log format["_monitorInitializedMissions (41) Player in range criteria met at %1",diag_tickTime]; + _monitorAction = 0; + } else { + if (GMS_debugLevel >= 3) then + { + _monitorAction = 0; + [format["_monitorInitializedMissions (54): mission triggered for GMS_debugLeve = %1",GMS_debugLevel]] call GMS_fnc_log; + }; // simulate the mission being tripped by a player + }; + }; + }; + + //diag_log format["_monitorInitializedMissions: time %1 | _monitorAction %2 | _missionParameters %3",diag_tickTime,_monitorAction,_missionParameters]; + + switch (_monitorAction) do + { + case -2 : { + _missionsList pushBack _el; + }; + // Handle Timeout + case -1: + { + + _missionConfigs params[ + "_difficulty", + "_markerConfigs", + "_endCondition", + "_isscubamission", + "_missionLootConfigs", + "_aiConfigs", + "_missionMessages", + "_paraConfigs" + ]; + + _missionMessages params [ + "_assetKilledMsg", + "_endMsg" + ]; + + [format["_fnc_monitorInitializedMissions (71): mission timed out: _endMsg %1 | el %2",_endMsg,_el]] call GMS_fnc_log; + + /* + ["_key",-1], + ["_missionData",[]], + ["_endMsg",,""], + ["_markerData",[]], + ["_missionLootConfigs",[]], + ["_isScuba",false], + ["_endCode",-1] + */ + [_key, _missionData, "", _missionData,_missionLootConfigs,_isscubamission,-1] call GMS_fnc_endMission; + }; + + // Handle mission waiting to be triggerd and player is within the range to trigger + case 0: + { + //waitUntil {!_spawningMission}; + //_spawningMission = true; // to prevent the script from trying to spawn multiple missions at the same time. + + #define noActive 2 + #define waitTime 5 + #define missionData 6 + + /* + _missionData = [ + _coords, + _mines, + _objects, + _hiddenObjects, + _crates, + _missionInfantry, + _assetSpawned, + _aiVehicles, + _lootVehicles, + _markers]; + */ + _missionData params [ + "_coords", + "_mines", + "_objects", + "_hiddenObjects", + "_crates", + "_missionInfantry", + "_assetSpawned", + "_aiVehicles", + "_lootVehicles", + "_markers" + ]; + _missionConfigs params[ + "_difficulty", + "_markerConfigs", + "_endCondition", + "_isscubamission", + "_missionLootConfigs", + "_aiConfigs", + "_missionMessages", + "_paraConfigs", + "_defaultMissionLocations" + ]; + _markers params[ + "_shapedMarker", + "_iconMarker" + ]; + _missionMessages params [ + "_assetKilledMsg", + "_endMsg", + "_startMsg" + ]; + _missionLootConfigs params [ + "_spawnCratesTiming", + "_loadCratesTiming", + "_crateLoot", + "_lootCounts", + "_missionLootBoxes", + "_missionLootVehicles" + ]; + _aiConfigs params [ + "_uniforms", + "_headgear", + "_vests", + "_backpacks", + "_weaponList", + "_sideArms", + "_missionLandscapeMode", + "_garrisonedBuildings_BuildingPosnSystem", + "_garrisonedBuilding_ATLsystem", + "_missionLandscape", + "_simpleObjects", + "_missionPatrolVehicles", + "_submarinePatrols", // Added Build 227 + "_submarinePatrolParameters", + "_airPatrols", + "_noVehiclePatrols", + "_vehicleCrewCount", + "_missionEmplacedWeapons", + "_noEmplacedWeapons", + "_useMines", + "_minNoAI", + "_maxNoAI", + "_noAIGroups", + "_missionGroups", + "_scubaPatrols", // Added Build 227 + "_scubaGroupParameters", + "_hostageConfig", + "_enemyLeaderConfig", + "_chanceHeliPatrol", + "_noChoppers", + "_missionHelis" + ]; + + + _el set[triggered,1]; + private["_temp"]; + if (GMS_SmokeAtMissions select 0) then // spawn a fire and smoke near the crate + { + _temp = [_coords,GMS_SmokeAtMissions select 1] call GMS_fnc_smokeAtCrates; + _objects append _temp; + //[format["_monitorInitializedMissions (181): added Smoke objects, _iconMarker %3 | count _objects = %1 | _objects = %2",count _objects, _objects,_iconMarker]] call GMS_fnc_log; + uiSleep delayTime; + }; + + if (_useMines) then + { + _temp = [_coords] call GMS_fnc_spawnMines; + _mines = _temp; + //[format["_monitorInitializedMissions (189): spawned mines for mission _iconMarker %3 | located at %1 | mines = %2",_coords,_mines,_iconMarker]] call GMS_fnc_log; + uiSleep delayTime; + }; + + if (_missionLandscapeMode isEqualTo "random") then + { + _temp = [_coords,_missionLandscape, 3, 15, 2] call GMS_fnc_spawnRandomLandscape; + //[format["_monitorInitializedMissions (196): spawned randomly place objects for _iconMarker %3 | at %1 | list of objects = %2",_coords,_temp select 0,_iconMarker]] call GMS_fnc_log; + } else { + _temp = [_coords, _missionLandscape] call GMS_fnc_spawnCompositionObjects; + //[format["_monitorInitializedMissions (199): precisly positioned objects for _iconMarker %3 | at %1 | list of objects = %2",_coords,_temp select 0,_iconMarker]] call GMS_fnc_log; + }; + _temp params["_obj","_hiddenObj"]; + _objects append _obj; + _hiddenObjects append _hiddenObj; + //[format["_monitorInitializedMissions (204): added landscape objects for _iconMarker %1 | count _objects = %2 | _objects = %3",_iconMarker,count _objects, _objects]] call GMS_fnc_log; + uiSleep delayTime; + + _temp = [_coords,_simpleObjects,true] call GMS_fnc_spawnSimpleObjects; + _objects append _temp; + //[format["_monitorInitializedMissions (209): added simple objects for _iconMarker %1 | count _objects = %2 | _objects = %3",_iconMarker,count _objects, _objects]] call GMS_fnc_log; + + _ai = [_coords, _minNoAI,_maxNoAI,_noAIGroups,_missionGroups,_difficulty,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms,_isScubaMission] call GMS_fnc_spawnMissionAI; + _missionInfantry append _ai; + //[format["_monitorInitializedMissions (213): spawned mission AI for _iconMarker %1 at %2 | with count _missionInfantry = %3 | with _missionInfantry = %4",_iconMarker,diag_tickTime,count _missionInfantry, _missionInfantry]] call GMS_fnc_log; + uiSleep delayTime; + + if (!(_scubaGroupParameters isEqualTo []) || {_scubaPatrols > 0}) then + { + _ai = [_coords, _minNoAI,_maxNoAI,_scubaPatrols,_scubaGroupParameters,_difficulty,GMS_UMS_uniforms,GMS_UMS_headgear,GMS_UMS_vests,_backpacks,GMS_UMS_weapons,_sideArms,true] call GMS_fnc_spawnMissionAI; + _missionInfantry append _ai; + uiSleep delayTime; + }; + + // TODO: 05/08/22 -> redo code to handle this + if !(_hostageConfig isEqualTo []) then + { + _temp = [_coords,_hostageConfig] call GMS_fnc_spawnHostage; + _assetSpawned = _temp select 0; + _objects pushBack (_temp select 1); // The building in which the asset was spawned. + uiSleep delayTime; + }; + + // TODO: 05/08/22 -> redo code to handle this + if !(_enemyLeaderConfig isEqualTo []) then + { + _temp = [_coords,_enemyLeaderConfig] call GMS_fnc_spawnLeader; + if (_temp isEqualTo grpNull) then {throw 1} else + { + _assetSpawned = _temp select 0; + _objects pushBack (_temp select 1); // The building in which the asset was spawned. + _missionInfantry pushBack _assetSpawned; + }; + uiSleep delayTime; + }; + + private _noChoppers = [_noChoppers] call GMSCore_fnc_getNumberFromRange; + //[format["_monitorInitializeMissions(246): _iconMarker %1 | _noChoppers = %2",_iconMarker,_noChoppers]] call GMS_fnc_log; + if ((_noChoppers > 0) && {random(1) < _chanceHeliPatrol}) then + { + _temp = [_coords,_noChoppers,_missionHelis,_difficulty,_uniforms,_headGear,_vests,_backpacks,_weaponList, _sideArms] call GMS_fnc_spawnMissionHelis; + _temp params["_helisSpawned","_unitsSpawned"]; + //[format["_monitorInitializeMissions (251): _iconMarker %1 | _helisSpawned = %2",_iconMarker,_helisSpawned]] call GMS_fnc_log; + + GMS_monitoredVehicles append _helisSpawned; + GMS_aircraftPatrols append _helisSpawned; // Used to find nearest heli ... + _aiVehicles append _helisSpawned; + _missionInfantry append _unitsSpawned; + uisleep delayTime; + }; + + // TODO: 05/08/22 -> redo code to handle this + if !(_garrisonedBuilding_ATLsystem isEqualTo []) then // Note that there is no error checking here for nulGroups + { + _temp = [_coords, _garrisonedBuilding_ATLsystem, _difficulty,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call GMS_fnc_garrisonBuilding_ATLsystem; + _temp params["_unitsSpawned","_staticsSpawned","_buildingsSpawned"]; + _objects append _buildingsSpawned; + //[format["_monitorInitializedMissions (264): added ATL Garrisons, _iconMarker %1 | count _objects = %2 | _objects = %3",_iconMarker,count _objects, _objects]] call GMS_fnc_log; + GMS_monitoredVehicles append _staticsSpawned; + _missionInfantry append _unitsSpawned; + uiSleep delayTime; + }; + + // TODO: 05/08/22 -> redo code to handle this + if !(_garrisonedBuildings_BuildingPosnSystem isEqualTo []) then + { + _temp = [_coords, _garrisonedBuildings_BuildingPosnSystem, _difficulty,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call GMS_fnc_garrisonBuilding_RelPosSystem; + _objects append (_temp select 1); + GMS_monitoredVehicles append (_temp select 2); + _missionInfantry append (units (_temp select 0)); + uiSleep delayTime; + }; + + private _userelativepos = true; + private _emplacedWeaponsThisMission = [_noEmplacedWeapons] call GMSCore_fnc_getNumberFromRange; + if (GMS_useStatic && {((_emplacedWeaponsThisMission > 0) || {!(_missionEmplacedWeapons isEqualTo [])} )} ) then + { + _temp = [_coords,_missionEmplacedWeapons,_userelativepos,_emplacedWeaponsThisMission,_difficulty,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call GMS_fnc_spawnEmplacedWeaponArray; + _temp params["_statics","_units"]; + _objects append _statics; + _missionInfantry append _units; + //[format["_monitorInitializedMissions (288): spawned emplaced weapons for _iconMarker %1 at %2 | with count _missionInfantry = %3 | with _statics = %4",_iconMarker,diag_tickTime,count _missionInfantry, _statics]]; + uisleep delayTime; + }; + + + if !(_missionLootVehicles isEqualTo []) then + { + _lootVehicles = [_coords,_missionLootVehicles,_spawnCratesTiming] call GMS_fnc_spawnMissionLootVehicles; + uiSleep delayTime; + }; + + private _noPatrols = [_noVehiclePatrols] call GMSCore_fnc_getNumberFromRange; + //[format["_monitorInitializedMissions (300): _iconMarker %1 | _noPatrols (vehicle) = %2",_iconMarker,_noPatrols]] call GMS_fnc_log; + if (GMS_useVehiclePatrols && {( (_noPatrols > 0) || {!(_missionPatrolVehicles isEqualTo [])} )} ) then + { + _temp = [_coords,_noPatrols,_difficulty,_missionPatrolVehicles,_userelativepos,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms,false,_vehicleCrewCount] call GMS_fnc_spawnMissionVehiclePatrols; + _temp params["_vehs","_units"]; + + _aiVehicles append _vehs; + _missionInfantry append _units; + //[format["_monitorInitializedMissions (307): spawned vehicle patrols for _shapedMarker %1 at %2 | with count _missionInfantry = %3 | with _vehs = %4 | _missionInfantry = %5",_shapedMarker,diag_tickTime,count _missionInfantry, _vehs, _missionInfantry]] call GMS_fnc_log; + uiSleep delayTime; + }; + + if (GMS_useVehiclePatrols && {((_submarinePatrols > 0) || {!(_submarinePatrolParameters isEqualTo [])} )} ) then + { + _temp = [_coords,_noPatrols,_difficulty,_submarinePatrolParameters,_userelativepos,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms,_isScubaMission,_vehicleCrewCount] call GMS_fnc_spawnMissionVehiclePatrols; + _temp params["_vehs","_units"]; + GMS_monitoredVehicles append _vehs; + GMS_landVehiclePatrols append _vehs; + _aiVehicles append _vehs; + _missionInfantry append _units; + uiSleep delayTime; + //[format["_monitorInitializedMissions: spawned sub patrols %1",_coords]] call GMS_fnc_log; + }; + + if (_spawnCratesTiming in ["atMissionSpawnGround","atMissionSpawnAir"]) then + { + if (_missionLootBoxes isEqualTo []) then + { + _crates = [_coords,[[selectRandom GMS_crateTypes,[1,1,0],_crateLoot,_lootCounts]], _loadCratesTiming, _spawnCratesTiming, "start", _difficulty] call GMS_fnc_spawnMissionCrates; + //[format["_monitorInitializedMissions (326): _shapedMarker %1 | standard locations for crates at %2 | _crates = %3",_shapedMarker,_coords,_crates]] call GMS_fnc_log; + } + else + { + _crates = [_coords,_missionLootBoxes,_loadCratesTiming, _spawnCratesTiming, "start", _difficulty] call GMS_fnc_spawnMissionCrates; + //[format["_monitorInitializedMissions (331): _iconMarker %1 | predefined locations for crates at %2 | _crates = %3",_iconMarker,_coords,_crates]] call GMS_fnc_log; + }; + //diag_log format["monitorInitializedMission (333): _spawnCrates Timing = %1 / crates spawned = %2",_spawnCratesTiming,_crates]; + if (GMS_cleanUpLootChests) then + { + _objects append _crates; + }; + if (_loadCratesTiming isEqualTo "atMissionSpawn") then + { + private _crateMoney = missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty]); + //[format["_monitorInitializedMissions (341) _crateMoney = %1",_crateMoney]] call GMS_fnc_log; + { + [_x,missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty])] call GMS_fnc_setMoney; + } forEach _crates; + //diag_log format["monitorInitializedMission (345): _iconMarker %1 | Loot LOADED _loadCrates Timing = %2",_iconMarker,_loadCratesTiming]; + } else { + //diag_log format["monitorInitializedMission (347): _iconMarker %1 | NO Loot LOADED _loadCrates Timing = %2",_iconMarker,_loadCratesTiming]; + }; + }; + //[format["_monitorInitializedMissions (351): added crates, count _crates = %1 | _crates = %2",count _crates, _crates]] call GMS_fnc_log; + uiSleep 1; + // [format["_monitorInitializedMissions (353): _markers selet 1 = %1 | _iconMarker = %2",_markers select 1, _iconMarker]] call GMS_fnc_log; + if (GMS_showCountAliveAI) then + { + GMS_missionLabelMarkers pushBack [ + _markers select 1, // The icon marker used for adding text to markers + _markerConfigs select 1, // The name of the mission shown to players on markers and in allerts + _missionInfantry // The array of units tied to the mission used in this case to keep a count of units still alive that is shown on the map + ]; + }; + + { + _x setVariable["crateSpawnPos", (getPos _x)]; + } forEach _crates; + //[format["_monitorInitializedMissions (361): _shapedMarker %1 | _mines = %3",_shapedMarker,_coords,_mines]] call GMS_fnc_log; + //[format["_monitorInitializedMissions (362): _shapedMarker %1 | _crates = %3",_shapedMarker,_coords,_crates]] call GMS_fnc_log; + #define indexMines 1 + #define indexCrates 4 + _missionData set[indexMines, _mines]; + _missionData set[indexCrates, _crates]; + //_missionData = [_coords,_mines,_objects,_hiddenObjects,_crates,_missionInfantry,_assetSpawned,_aiVehicles,_lootVehicles,_markers]; + + //_el set[missionData, _missionData]; + + // Everything spawned withouth serious errors so lets keep the mission active for future monitoring + //_spawningMission = false; + _missionsList pushBack _el; + _el params [ + "_key", + "_missionTimeoutAt", // 1 // server time at which the mission times out. + "_triggered", // 2 // integer - specifies if mission was triggered by a player or scripting such as debug setting + "_missionData", // 4 // variable containing information specific to this instance of the mission such as location and objects + "_missionConfigs" // 5 // Variables regarding the configuration of the dynamic mission + ]; + _missionData params [ + "_coords", + "_mines", + "_objects", + "_hiddenObjects", + "_crates", + "_missionInfantry", + "_assetSpawned", + "_aiVehicles", + "_lootVehicles", + "_markers" + ]; + //[format["_monitorInitializedMissions (393): _shapedMarker %1 | _coords %2 | count _mines %3 | count _objects %4 | _crates %5",_shapedMarker,_coords,count _mines,count _objects,_crates]] call GMS_fnc_log; + }; + }; + //diag_log format["_monitorInitializedMissions (396) End of Code Block | GMS_initializedMissionsList = %1",GMS_initializedMissionsList]; +}; +GMS_monitoring = false; +//GMS_activeMonitorThreads = GMS_activeMonitorThreads - 1; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf new file mode 100644 index 0000000..ef8bb5a --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf @@ -0,0 +1,400 @@ +/* + GMS_fnc_monitorInitializedMissions + By Ghostrider-GRG- + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +#define missionData 4 +#define noActive 2 +#define waitTime 5 +#define missionTimeout 1 + +//[format["_monitorSpawnedMissions (20): count GMS_initializedMissionsList =%1 | GMS_initializedMissionsList = %2",count GMS_initializedMissionsList,GMS_initializedMissionsList]] call GMS_fnc_log; +private _missionsList = GMS_initializedMissionsList; +for "_i" from 1 to (count _missionsList) do +{ + if (_i > count _missionsList) exitWith {}; + // Select a mission category (blue, red, green , etd) + private _el = _missionsList deleteAt 0; + _el params [ + "_key", + "_missionTimeoutAt", // 1 // server time at which the mission times out. + "_triggered", // 2 // integer - specifies if mission was triggered by a player or scripting such as debug setting + "_missionData", // 4 // variable containing information specific to this instance of the mission such as location and objects + "_missionConfigs", // 5 // Variables regarding the configuration of the dynamic mission + "_spawnPara" + ]; + #define triggered 2 + #define spawnPara 5 + #define delayTime 1 + if (_triggered == 1) then + { + _missionData params [ + "_coords", + "_mines", + "_objects", + "_hiddenObjects", + "_crates", + "_missionInfantry", + "_assetSpawned", + "_aiVehicles", + "_lootVehicles", + "_markers" + ]; + + _missionConfigs params[ + "_difficulty", + "_markerConfigs", + "_endCondition", + "_isscubamission", + "_missionLootConfigs", + "_aiConfigs", + "_missionMessages", + "_paraConfigs" + ]; + + private _missionComplete = -1; + private ["_secureAsset","_endIfPlayerNear","_endIfAIKilled"]; + //[format["_monitorSpawnedMissions: (67): _endCondition = %1 | _missionMarkerName = %2",_endCondition, _markerConfigs select 1]] call GMS_fnc_log; + switch (_endCondition) do + { + case playerNear: {_secureAsset = false; _endIfPlayerNear = true;_endIfAIKilled = false;}; + case allUnitsKilled: {_secureAsset = false; _endIfPlayerNear = false;_endIfAIKilled = true;}; + case allKilledOrPlayerNear: {_secureAsset = false; _endIfPlayerNear = true;_endIfAIKilled = true;}; + case assetSecured: {_secureAsset = true; _endIfPlayerNear = false; _endIfAIKilled = false;}; + default {_secureAsset = false; _endIfPlayerNear = true;_endIfAIKilled = true;}; + }; + + try { + //[format["_monitorSpawnedMissions: (88): _spawnPara = %3 | count _missionInfantry = %1 | _crates = %2",count _missionInfantry, _crates,_spawnPara]] call GMS_fnc_log; + if (GMS_debugLevel >= 5) throw 1; + if (GMS_debugLevel >= 4) throw 4; + private _playerIsNearCrates = [_crates,20,true] call GMS_fnc_playerInRangeArray; + private _playerIsNearCenter = [_coords,20,true] call GMS_fnc_playerInRange; + private _playerIsNear = if (_playerIsNearCrates || {_playerIsNearCenter}) then {true} else {false}; + private _minNoAliveForCompletion = (count _missionInfantry) - (round(GMS_killPercentage * (count _missionInfantry))); + private _aiKilled = if (({alive _x} count _missionInfantry) <= _minNoAliveForCompletion) then {true} else {false}; // mission complete + + if (_endIfPlayerNear && {_playerIsNear}) then {throw 1}; // mission complete + if (_endIfAIKilled && {_aiKilled}) then {throw 1}; + if (_spawnPara isEqualType -1) then + { + #define chancePara 0; + private _chancePara = _paraConfigs select chancePara; + _spawnPara = if (random(1) < _chancePara ) then {true} else {false}; + _el set[spawnPara, _spawnPara]; + }; + if (_spawnPara) then + { + #define paraTriggerDistance 1 + if ([_coords,_paraConfigs select paraTriggerDistance,true] call GMS_fnc_playerInRange) then + { + _spawnPara = false; // The player gets one try to spawn these. + _el set[spawnPara,_spawnPara]; + _paraConfigs params[ + "_chancePara", + "_paraTriggerDistance", + "_noPara", + "_paraSkill", + "_chanceLoot", + "_paraLoot", + "_paraLootCounts" + ]; + _aiConfigs params [ + "_uniforms", + "_headgear", + "_vests", + "_backpacks", + "_weaponList", + "_sideArms" + ]; + //params["_pos","_numAI","_skilllevel",["_uniforms",[]],["_headGear",[]],["_vests",[]],["_backpacks",[]],["_weapons",[]],["_sideArms",[]],["_isScuba",false]]; + private _paraGroup = [_coords,_noPara,_difficulty,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms,_isScubaMission] call GMS_fnc_spawnParaUnits; + //[format["_monitorSpawneMissions: _noPara = %1 | _chancePara = %2 | _paraGroup = %3",_noPara,_chancePara,_paraGroup]] call GMS_fnc_log; + if !(isNull _paraGroup) then + { + _missionInfantry append (units _paraGroup); + if (random(1) < _chanceLoot) then + { + private _extraCrates = [_coords,[[selectRandom GMS_crateTypes,[0,0,0],_paraLoot,_paraLootCounts]], "atMissionSpawn","atMissionSpawnAir", "start", _difficulty] call GMS_fnc_spawnMissionCrates; + if (GMS_cleanUpLootChests) then + { + _objects append _extraCrates; + }; + }; + _missionData = [_coords,_mines,_objects,_hiddenObjects,_crates,_missionInfantry,_assetSpawned,_aiVehicles,_lootVehicles,_markers]; + _el set[missionData, _missionData]; + //diag_log format["_monitorSpawnedMissions (134): para spawned at %1",diag_tickTime]; + }; + }; + }; + + if (_secureAsset) then + { + if !(alive _assetSpawned) then + { + throw 3; + } else { + + if (({alive _x} count _missionInfantry) <= (_minNoAliveForCompletion + 1)) then + { + if ((_assetSpawned getVariable["GMS_unguarded",0]) isEqualTo 0) then + { + _assetSpawned setVariable["GMS_unguarded",1,true]; + }; + + if ((_assetSpawned getVariable["GMS_AIState",0]) isEqualTo 1) then + { + _assetSpawned allowdamage false; + [_assetSpawned] remoteExec["GMS_fnc_clearAllActions",-2, true]; + throw 1; + }; + }; + }; + }; + + private _moved = false; + if (!(_crates isEqualTo []) && {GMS_crateMoveAllowed}) then + { + { + if ( _x distance (_x getVariable ["crateSpawnPos", (getPos _x)]) > max_distance_crate_moved_uncompleted_mission) throw 2; + } forEach _crates; + }; + + // If there were no throws then lets add the mission parameters back to the list of active missions and check on the mission in a bit. + _missionsList pushBack _el; + } + + catch // catch all conditions that cause the mission to end. + { + /* + _markerConfigs params [ + "_markerLabel", + "_markerMissionName" // A trunkated list of variables is parsed as we do not need all of them + ]; + */ + #define markerMissionName 1 + private _markerMissionName = _markerConfigs select markerMissionName; + + _missionLootConfigs params [ + "_spawnCratesTiming", + "_loadCratesTiming", + "_crateLoot", + "_lootCounts" // A trunkated list of variables is parsed as we do not need all of them + ]; + + _missionMessages params [ + "_assetKilledMsg", + "_endMsg" + ]; + + switch (_exception) do + { + case 1: { // Normal Mission End + //diag_log format["_monitorSpawnedMissions: (200): _markerMissionName %1: Normal mission end",_markerMissionName]; + + if ((_spawnCratesTiming) in ["atMissionEndGround","atMissionEndAir"]) then + { + if !(_missionLootBoxes isEqualTo []) then + { + _crates = [_coords,_missionLootBoxes,_loadCratesTiming,(_missionLootConfigs select spawnCratesTiming), "end", _difficulty] call GMS_fnc_spawnMissionCrates; + } + else + { + _crates = [_coords,[[selectRandom GMS_crateTypes,[0,0,0],_crateLoot,_lootCounts]], _loadCratesTiming,(_missionLootConfigs select spawnCratesTiming), "end", _difficulty] call GMS_fnc_spawnMissionCrates; + }; + + if (GMS_cleanUpLootChests) then + { + _objects append _crates; + }; + private _crateMoney = missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty]); + //[format["_monitorSpawnedMissions: (218) _crateMoney = %1",_crateMoney]] call GMS_fnc_log; + { + [_x, _crateMoney] call GMSCore_fnc_setMoney; + } forEach _crates; + }; + + if (_loadCratesTiming isEqualTo "atMissionCompletion") then + { + private _crateMoney = missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty]); + //[format["_monitorSpawnedMissions: (227) _crateMoney = %1",_crateMoney]] call GMS_fnc_log; + { + [_x] call GMS_fnc_loadMissionCrate; + [_x, _crateMoney] call GMSCore_fnc_setMoney; + } forEach _crates; + //diag_log format["_monitorSpawnedMissions: (232): Loot and Money LOADED _loadCrates Timing = %1 | _crates = %2",_loadCratesTiming,_crates]; + { + [_x] call GMS_fnc_loadMissionCrate; + //[_x, missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty])] call GMS_fnc_setMoney; + } forEach _lootVehicles; + //diag_log format["_monitorSpawnedMissions: (237): Loot LOADED _loadCrates Timing = %1",_loadCratesTiming]; + }; + + _aiVehicles append _lootVehicles; // So these are deleted if no player enters the driver's seat. + if (_secureAsset) then + { + if (_assetSpawned getVariable["assetType",0] isEqualTo 1) then + { + _assetSpawned setVariable["GMSAnimations",[""],true]; + [_assetSpawned,""] remoteExec["switchMove",-2];; + uiSleep 0.1; + _assetSpawned enableAI "ALL"; + private _newPos = (getPos _assetSpawned) getPos [1000, random(360)]; + (group _assetSpawned) setCurrentWaypoint [group _assetSpawned, 0]; + [group _assetSpawned,0] setWaypointPosition [_newPos,0]; + [group _assetSpawned,0] setWaypointType "MOVE"; + }; + + if (_assetSpawned getVariable["assetType",0] isEqualTo 2) then + { + [_assetSpawned,""] remoteExec["switchMove",-2]; + _assetSpawned setVariable["GMSAnimations",_assetSpawned getVariable["endAnimation",["AidlPercMstpSnonWnonDnon_AI"]],true]; + [_assetSpawned,selectRandom(_assetSpawned getVariable["endAnimation",["AidlPercMstpSnonWnonDnon_AI"]])] remoteExec["switchMove",-2]; + }; + }; + //diag_log format["_monitorSpawnedMissions: (262):_crates = %1",_crates]; + /* + ["_key",-1], + ["_missionData",[]], + ["_endMsg",,""], + ["_markerData",[]], + ["_missionLootConfigs",[]], + ["_isScuba",false], + ["_endCode",-1] + */ + [format["_monitorSpawnedMissions (case 1): _markerConfigs %1 | _endMsg %2",_markerConfigs,_endMsg]] call GMS_fnc_log; + [_key, _missionData, _endMsg, _markerConfigs, _missionLootConfigs,_isscubamission, 1] call GMS_fnc_endMission; + //[format["_monitorSpawnedMissions (265): _markerMissionName %1: end of case 1 for mission completion",_markerMissionName]] call GMS_fnc_log; + }; + + case 2: { // Abort, crate moved. + _endMsg = "Crate Removed from Mission Site Before Mission Completion: Mission Aborted"; + /* + ["_key",-1], + ["_missionData",[]], + ["_endMsg",,""], + ["_markerData",[]], + ["_missionLootConfigs",[]], + ["_isScuba",false], + ["_endCode",-1] + */ + //[format["_monitorSpawnedMissions (case 2): _markerConfigs %1 | _endMsg %2",_markerConfigs,_endMsg]] call GMS_fnc_log; + [_key, _missionData, _endMsg, _markerConfigs, _missionLootConfigs, _isscubamission, 2] call GMS_fnc_endMission; + }; + + case 3: { // Abort, key asset killed + /* + ["_key",-1], + ["_missionData",[]], + ["_endMsg",,""], + ["_markerData",[]], + ["_missionLootConfigs",[]], + ["_isScuba",false], + ["_endCode",-1] + */ + //[format["_monitorSpawnedMissions (case 3): _markerConfigs %1 | _assetKilledMsg %2",_markerConfigs,_assetKilledMsg]] call GMS_fnc_log; + [_key, _missionData, _assetKilledMsg, _markerConfigs, _missionLootConfigs,_isscubamission, 3] call GMS_fnc_endMission; + }; + + case 4: { + // Used for testing purposes only + //[format["Programed mission abort, debug level >= 4"]] call GMS_fnc_log; + /* + ["_key",-1], + ["_missionData",[]], + ["_endMsg",,""], + ["_markerData",[]], + ["_missionLootConfigs",[]], + ["_isScuba",false], + ["_endCode",-1] + */ + //diag_log format["_monitorSpawnedMissions: (286): _crates = %1 | _mines = %2",_crates,_mines]; + [_key, _missionData, "DEBUG SETTING >= 4", _markerConfigs, _missionLootConfigs, _isscubamission, 4] call GMS_fnc_endMission; + }; + + case 5: { // SIMULATED Normal Mission End + //diag_log format["_monitorSpawnedMissions: (291): _markerMissionName %1: Normal mission end",_markerMissionName]; + + if ((_spawnCratesTiming) in ["atMissionEndGround","atMissionEndAir"]) then + { + if !(_missionLootBoxes isEqualTo []) then + { + _crates = [_coords,_missionLootBoxes,_loadCratesTiming,(_missionLootConfigs select spawnCratesTiming), "end", _difficulty] call GMS_fnc_spawnMissionCrates; + } + else + { + _crates = [_coords,[[selectRandom GMS_crateTypes,[0,0,0],_crateLoot,_lootCounts]], _loadCratesTiming,(_missionLootConfigs select spawnCratesTiming), "end", _difficulty] call GMS_fnc_spawnMissionCrates; + }; + + if (GMS_cleanUpLootChests) then + { + _objects append _crates; + }; + private _crateMoney = missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty]); + //[format["_monitorSpawnedMissions: (312) _crateMoney = %1",_crateMoney]] call GMS_fnc_log; + { + [_x, _crateMoney] call GMSCore_fnc_setMoney; + } forEach _crates; + }; + + if (_loadCratesTiming isEqualTo "atMissionCompletion") then + { + private _crateMoney = missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty]); + //[format["_monitorSpawnedMissions: (323) _crateMoney = %1",_crateMoney]] call GMS_fnc_log; + { + [_x] call GMS_fnc_loadMissionCrate; + [_x, _crateMoney] call GMSCore_fnc_setMoney; + } forEach _crates; + //diag_log format["_monitorSpawnedMissions: (329): Loot and Money LOADED _loadCrates Timing = %1 | _crates = %2",_loadCratesTiming,_crates]; + { + [_x] call GMS_fnc_loadMissionCrate; + //[_x, missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty])] call GMS_fnc_setMoney; + } forEach _lootVehicles; + //diag_log format["_monitorSpawnedMissions: (592): Loot LOADED _loadCrates Timing = %1",_loadCratesTiming]; + }; + + _aiVehicles append _lootVehicles; // So these are deleted if no player enters the driver's seat. + if (_secureAsset && {(alive _assetSpawned)}) then + { + if (_assetSpawned getVariable["assetType",0] isEqualTo 1) then + { + _assetSpawned setVariable["GMSAnimations",[""],true]; + [_assetSpawned,""] remoteExec["switchMove",-2];; + uiSleep 0.1; + _assetSpawned enableAI "ALL"; + private _newPos = (getPos _assetSpawned) getPos [1000, random(360)]; + (group _assetSpawned) setCurrentWaypoint [group _assetSpawned, 0]; + [group _assetSpawned,0] setWaypointPosition [_newPos,0]; + [group _assetSpawned,0] setWaypointType "MOVE"; + }; + + if (_assetSpawned getVariable["assetType",0] isEqualTo 2) then + { + [_assetSpawned,""] remoteExec["switchMove",-2]; + _assetSpawned setVariable["GMSAnimations",_assetSpawned getVariable["endAnimation",["AidlPercMstpSnonWnonDnon_AI"]],true]; + [_assetSpawned,selectRandom(_assetSpawned getVariable["endAnimation",["AidlPercMstpSnonWnonDnon_AI"]])] remoteExec["switchMove",-2]; + }; + }; + //diag_log format["_monitorSpawnedMissions: (360):_crates = %1",_crates]; + + [_key, _missionData, _endMsg, _markerConfigs, _missionLootConfigs,_isscubamission, 5] call GMS_fnc_endMission; + //[format["_monitorSpawnedMissions (363): _markerMissionName %1: end of case 1 for mission completion",_markerMissionName]] call GMS_fnc_log; + }; + }; + }; + } else { + _missionsList pushBack _el; + }; +}; + +GMS_monitoring = false; +//GMS_activeMonitorThreads = GMS_activeMonitorThreads - 1; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_paraDropObject.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_paraDropObject.sqf new file mode 100644 index 0000000..0883972 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_paraDropObject.sqf @@ -0,0 +1,25 @@ +/* + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_pos","_crate",["_crateVisualMarker",true],["_dropHeight", 150]]; +private _chute = createVehicle ["I_Parachute_02_F", _pos, [], 0, "FLY"]; +[_chute] call GMS_fnc_protectVehicle; +_crate setVariable["chute",_chute]; +_chute setPos [getPos _chute select 0, getPos _chute select 1, _dropHeight]; +_crate setPos (getPos _chute); +_crate attachTo [_chute, [0,0,0]]; +if (_crateVisualMarker) then {[_crate,150] spawn GMS_fnc_visibleMarker}; +_chute + diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_selecctChanceParatroops.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_selecctChanceParatroops.sqf new file mode 100644 index 0000000..b0d6ceb --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_selecctChanceParatroops.sqf @@ -0,0 +1,16 @@ +/* + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_aiDifficultyLevel"]; +private _chancePara = missionNamespace getVariable[format["GMS_chancePara%1",_aiDifficultyLevel],0]; +_chancePara \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_selectAIBackpacks.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_selectAIBackpacks.sqf new file mode 100644 index 0000000..30389c2 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_selectAIBackpacks.sqf @@ -0,0 +1,16 @@ +/* + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_aiDifficultyLevel"]; +private _backpacks = missionNamespace getVariable[format["GMS_backpacks_%1",_aiDifficultyLevel],[]]; +_backpacks \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_selectAIHeadgear.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_selectAIHeadgear.sqf new file mode 100644 index 0000000..b2dfee1 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_selectAIHeadgear.sqf @@ -0,0 +1,16 @@ +/* + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_aiDifficultyLevel"]; +private _headgear = missionNamespace getVariable [format["GMS_headgear_%1",_aiDifficultyLevel],[]]; +_headgear \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_selectAILoadout.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_selectAILoadout.sqf new file mode 100644 index 0000000..1d7fee3 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_selectAILoadout.sqf @@ -0,0 +1,21 @@ +/* + [ + _missionColor // ["blue","red","green","orange"] + ] call GMS_fnc_selectAILoadout; + + returns: + _lootarray + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_missionColor"]; +private _weaponList = missionNamespace getVariable [format["GMS_WeaponList_%1",_missionColor],[]]; +_weaponList diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_selectAISidearms.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_selectAISidearms.sqf new file mode 100644 index 0000000..63001af --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_selectAISidearms.sqf @@ -0,0 +1,17 @@ +/* + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_aiDifficultyLevel"]; //[["_aiDifficultyLevel",selectRandom["Red","Green"]]]; + +private _sideArms = missionNamespace getVariable[format["GMS_Pistols_%1",_aiDifficultyLevel],[]]; +_sideArms \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_selectAIUniforms.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_selectAIUniforms.sqf new file mode 100644 index 0000000..f511256 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_selectAIUniforms.sqf @@ -0,0 +1,16 @@ +/* + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_aiDifficultyLevel"]; +private _uniforms = missionNamespace getVariable [format["GMS_SkinList_%1",_aiDifficultyLevel],[]]; +_uniforms \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_selectAIVests.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_selectAIVests.sqf new file mode 100644 index 0000000..e524b5b --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_selectAIVests.sqf @@ -0,0 +1,16 @@ +/* + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_aiDifficultyLevel"]; +private _vests = missionNamespace getVariable [format["GMS_vests_%1",_aiDifficultyLevel],[]]; +_vests \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_selectChanceHeliPatrol.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_selectChanceHeliPatrol.sqf new file mode 100644 index 0000000..8a07f4a --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_selectChanceHeliPatrol.sqf @@ -0,0 +1,16 @@ +/* + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_aiDifficultyLevel"]; +private _chanceHeliPatrol = missionNamespace getVariable[format["GMS_chanceHeliPatrol%1",_aiDifficultyLevel],[]]; +_chanceHeliPatrol \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_selectMissionHelis.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_selectMissionHelis.sqf new file mode 100644 index 0000000..937786e --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_selectMissionHelis.sqf @@ -0,0 +1,16 @@ +/* + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_aiDifficultyLevel"]; +private _missionHelis = missionNamespace getVariable[format["GMS_patrolHelis%1",_aiDifficultyLevel],[]]; +_missionHelis \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_selectNumberAirPatrols.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_selectNumberAirPatrols.sqf new file mode 100644 index 0000000..92088c6 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_selectNumberAirPatrols.sqf @@ -0,0 +1,16 @@ +/* + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_aiDifficultyLevel"]; +private _noChoppers = missionNamespace getVariable [format["GMS_noPatrolHelis%1",_aiDifficultyLevel],0]; +_noChoppers \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_selectNumberParatroops.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_selectNumberParatroops.sqf new file mode 100644 index 0000000..fc7ffa9 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_selectNumberParatroops.sqf @@ -0,0 +1,16 @@ +/* + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_aiDifficultyLevel"]; +private _noPara = missionNamespace getVariable [format["GMS_noPara%1",_aiDifficultyLevel],0]; +_noPara \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_selectVehicleCrewCount.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_selectVehicleCrewCount.sqf new file mode 100644 index 0000000..694d5a2 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_selectVehicleCrewCount.sqf @@ -0,0 +1,15 @@ +/* + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_diff"]; +private _count = missionNamespace getVariable [format["GMS_vehCrew_%1",_diff],0]; +_count diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_signalEnd.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_signalEnd.sqf new file mode 100644 index 0000000..eb6cdae --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_signalEnd.sqf @@ -0,0 +1,18 @@ +////////////////////////////////////////////////////// +// Attach a marker of type _marker to an object _crate +// by Ghostrider [GRG] based on code from Wicked AI for Arma 2 Dayz Epoch +///////////////////////////////////////////////////// +/* + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +//private ["_start","_maxHeight","_smokeShell","_light","_lightSource"]; +//params[["_crate",objNull],["_time",60]]; + +_this call GMSCore_fnc_visibleMarker; + diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_smokeAtCrates.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_smokeAtCrates.sqf new file mode 100644 index 0000000..eec258b --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_smokeAtCrates.sqf @@ -0,0 +1,45 @@ +/* + GMS_fnc_smokeAtCrates + + Spawns a smoking wreck or object at a specified location and returns the objects spawn (wreck and the particle effects object) + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + private _wreckSelected = selectRandom ["Land_Wreck_Car2_F","Land_Wreck_Car3_F","Land_Wreck_Car_F","Land_Wreck_Offroad2_F","Land_Wreck_Offroad_F","Land_Tyres_F","Land_Pallets_F","Land_MetalBarrel_F"]; +params["_pos","_mode",["_maxDist",12],["_wreckChoices",_wreckSelected],["_addFire",false]]; +private ["_objs","_wreckSelected","_smokeType","_fire","_posFire","_posWreck","_smoke","_dis","_minDis","_maxDis","_closest","_wrecks"]; + +_smokeType = if(_addFire) then {"test_EmptyObjectForFireBig"} else {"test_EmptyObjectForSmoke"}; + +switch (_mode) do { + case "none": {_minDis = 0; _maxDis = 1; _closest = 1;}; + case "center": {_minDis = 5; _maxDis = 15; _closest = 5;}; + case "random": {_minDis = 15; _maxDis = 50; _closest = 10;}; + default {_minDis = 5; _maxDis = 15; _closest = 5;}; +}; +_posWreck = [_pos, _minDis, 50, _closest, 0, 20, 0] call BIS_fnc_findSafePos; // find a safe spot near the location passed in the call + + +// spawn a wreck near the mission center +_fire = createVehicle [_wreckSelected, [0,0,0], [], 0, "can_collide"]; +_fire setVariable ["LAST_CHECK", (diag_tickTime + 14400)]; +_fire setPos _posWreck; +_fire setDir random(360); + +// spawn asmoke or fire source near the wreck and attach it. +_smoke = createVehicle [_smokeType, [0,0,0], [], 0, "can_collide"]; +_smoke setVariable ["LAST_CHECK", (diag_tickTime + 14400)]; +_smoke setPos _posWreck; +_smoke attachto [_fire, [0,0,1.5]]; + +_objs = [_fire,_smoke]; +_objs diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnCompositionObjects.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnCompositionObjects.sqf new file mode 100644 index 0000000..ac328a0 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnCompositionObjects.sqf @@ -0,0 +1,59 @@ +/* + GMS_fnc_spawnCompositionObjects + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_center","_objects"]; +private ["_dam","_sim","_obj"]; +if (count _center == 2) then {_center pushBack 0}; +private _newObjs = []; +private _hiddenObjs = []; + +{ + _x params["_className","_relPos","_dir","_booleans"]; + if ((_booleans) isEqualType []) then // assum simulation and damage settings are defined in the old way as [bool,bool] + { + _dam = (_booleans) select 0; + _sim = (_booleans) select 1; + }; + if ((typeName _booleans) isEqualTo "BOOL") then // assume simulation and damage settings are defined in the new way as , bool, bool, ... + { + _sim = _x select 4; + _dam = _x select 3; + }; + + private _objPos = _center vectorAdd _relPos; + + if (_className isKindOf "House" && {GMS_hideRocksAndPlants}) then + { + private _shrubs = nearestTerrainObjects[_objPos,["TREE", "SMALL TREE", "BUSH","FENCE", "WALL","ROCK"], sizeOf _className]; + if !(_shrubs isEqualTo []) then + { + _hiddenObjs append _shrubs; + {_x hideObjectGlobal true} forEach _shrubs; + }; + }; + _obj = createVehicle[_className,[0,0,0],[],0,"CAN_COLLIDE"]; + + _obj setPosATL _objPos; + [_obj] call GMSCore_fnc_emptyObjectInventory; + _newObjs pushback _obj; + [_obj, _dir] call GMS_fnc_setDirUp; + _obj setVectorUp [0,0,1]; + _obj enableDynamicSimulation _sim; + _obj allowDamage _dam; + if ((typeOf _obj) isKindOf "LandVehicle" || {(typeOf _obj) isKindOf "Air" || {(typeOf _obj) isKindOf "Ship"}}) then + { + [_obj] call GMS_fnc_configureMissionVehicle; + }; +} forEach _objects; + +[_newObjs,_hiddenObjs]; + diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnCrate.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnCrate.sqf new file mode 100644 index 0000000..1396589 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnCrate.sqf @@ -0,0 +1,40 @@ +/* + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_coords",["_crateType","Box_NATO_Wps_F"],["_crateDir",0]]; + +private _cratePos = _coords findEmptyPosition[15,25,_crateType]; +_crate = createVehicle [_crateType,_coords,[], 0, "NONE"]; +_crate setVariable ["LAST_CHECK", 100000]; +_crate allowDamage false; +_crate enableRopeAttach false; +[_crate] call GMSCore_fnc_emptyObjectInventory; +_crate setPosATL [_coords select 0, _coords select 1, (_coords select 2) + 0.25]; +[_crate, _crateDir] call GMS_fnc_setDirUp; +_crate setVectorUp surfaceNormal getPosATL _crate; + +if ((_coords select 2) < 0 || {surfaceIsWater (_coords)}) then +{ + + private["_lantern","_bbr","_p1","_p2","_maxHeight"]; + _light = "#lightpoint" createVehicle (getPos _crate); + _light setLightDayLight true; + _light setLightBrightness 1.0; + _light setLightAmbient [0.0, 1.0, 0.0]; + _light setLightColor [0.0, 1.0, 0.0]; + _bbr = boundingBoxReal _crate; + _p1 = _bbr select 0; + _p2 = _bbr select 1; + _maxHeight = abs ((_p2 select 2) - (_p1 select 2)); + _light attachTo [_crate, [0,0,(_maxHeight + 0.5)]]; +}; +_crate; diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnEmplacedWeaponArray.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnEmplacedWeaponArray.sqf new file mode 100644 index 0000000..b0f3940 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnEmplacedWeaponArray.sqf @@ -0,0 +1,98 @@ +/* + + [_missionEmplacedWeapons,_noEmplacedWeapons,_aiDifficultyLevel,_coords,_uniforms,_headGear] call GMS_fnc_spawnEmplacedWeaponArray; + By Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_coords",["_missionEmplacedWeapons",[]],["_useRelativePos",true],["_noEmplacedWeapons",0],["_aiDifficultyLevel","red"],["_uniforms",[]], ["_headGear",[]],["_vests",[]],["_backpacks",[]],["_weaponList",[]],["_sideArms",[]]]; +if (_uniforms isEqualTo []) then {_uniforms = [_aiDifficultyLevel] call GMS_fnc_selectAIUniforms}; +if (_headGear isEqualTo []) then {_headGear = [_aiDifficultyLevel] call GMS_fnc_selectAIHeadgear}; +if (_vests isEqualTo []) then {_vests = [_aiDifficultyLevel] call GMS_fnc_selectAIVests}; +if (_backpacks isEqualTo []) then {_backpacks = [_aiDifficultyLevel] call GMS_fnc_selectAIBackpacks}; +if (_weaponList isEqualTo []) then {_weaponList = [_aiDifficultyLevel] call GMS_fnc_selectAILoadout}; +if (_sideArms isEqualTo []) then {[_aiDifficultyLevel] call GMS_fnc_selectAISidearms}; + +private["_emplacedWeps","_emplacedAI","_wep","_units","_gunner","_abort","_pos","_mode","_useRelativePos","_useRelativePos"]; +_emplacedWeps = []; +_emplacedAI = []; +_units = []; +_abort = false; +_pos = []; + +private _emplacedWepData = +_missionEmplacedWeapons; // So we dont overwrite this for the next instance of the mission +//diag_log format["_spawnEmplacedWeaponArray(30): _noEmplacedWeapons = %1 | _emplacedWepData = %2",_noEmplacedWeapons,_emplacedWepData]; + +// Define _emplacedWepData if not already configured. +if (_emplacedWepData isEqualTo []) then +{ + private _wepPositions = [_coords,_noEmplacedWeapons,35,50] call GMS_fnc_findPositionsAlongARadius; + { + _static = selectRandom GMS_staticWeapons; + _emplacedWepData pushback [_static,_x]; + } forEach _wepPositions; + _useRelativePos = false; +}; + +//diag_log format["_spawnEmplacedWeaponArray(45): _noEmplacedWeapons = %1 | _emplacedWepData = %2",_noEmplacedWeapons,_emplacedWepData]; + +{ + _x params [["_static",""],["_pos",[0,0,0]],["_dir",0]]; + if (_useRelativePos) then + { + _pos = _coords vectorAdd _pos; + }; + + #define configureWaypoints false + #define numberAI 1 + #define areaDimensions [] // an empty array forces the spawnGroup function to skip setup of any waypoint + private _empGroup = [_pos,numberAI,_aiDifficultyLevel,areaDimensions,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call GMS_fnc_spawnGroup; + _empGroup setcombatmode "RED"; + _empGroup setBehaviour "COMBAT"; + _empGroup setVariable ["soldierType","emplaced"]; + + // TODO: recode to use GMS_fnc to create vehicle + //private _wep = [_static,_pos] call GMS_fnc_spawnVehicle; + /* + ["_className",""], // Clasname of vehicle to be spawned + ["_spawnPos",[0,0,0]], // selfevident + ["_dir",0], // selfevident + ["_height",0], + ["_disable",0], // damage value set to this value if less than this value when all crew are dead + ["_removeFuel",0.2], // fuel set to this value when all crew dead + ["_releaseToPlayers",true], + ["_deleteTimer",300], + ["_vehHitCode",[]], + ["_vehKilledCode",[]] + */ + //_wep setVariable["GRG_vehType","emplaced"]; + //_wep setPosATL _pos; + //_wep setdir _dir; + + // TODO: recode to use GMS_fnc to handle this if needed + //[_wep,2] call GMS_fnc_configureMissionVehicle; + #define height 0 + #define removeFuel 0 + #define vehHitCode [] + #define vehKilledCode [] + private _damage = if (GMS_killEmptyStaticWeapons) then {1} else {0}; + private _releaseToPlayers = if (GMS_killEmptyStaticWeapons) then {false} else {true}; + private _wep = [_static,_pos,_dir,height,_damage,removeFuel,_releaseToPlayers,GMS_vehicleDeleteTimer,vehHitCode,vehKilledCode] call GMSCore_fnc_spawnPatrolVehicle; + _wep setVariable["GMS_vehType","emplaced"]; + _emplacedWeps pushback _wep; + [_wep,_empGroup] call GMSCore_fnc_loadVehicleCrew; + //_gunner setVariable["GRG_vehType","emplaced"]; + _emplacedAI append _units; +} forEach _emplacedWepData; + +GMS_monitoredVehicles append _emplacedWeps; + +[_emplacedWeps,_emplacedAI] + diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMines.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMines.sqf new file mode 100644 index 0000000..c36c560 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMines.sqf @@ -0,0 +1,42 @@ +// Spawns mines in a region centered around a specific position and returns an array with the spawned mines for later use, i.e. deletion +/* + GMS_fnc_spawnMines + + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_pos"]; + +#define noMines 50 +#define mineTypes = ["ATMine","SLAMDirectionalMine"]; +private _minesPlaced = []; +#define minDis 50 +#define maxDis 150 +_closest = 5; +_dir = 0; +_incr = 360/ (noMines/2); +for "_i" from 1 to noMines/2 do +{ + for "_j" from 1 to 2 do + { + private _radius = maxDis - floor(random(maxDis - minDis)); + private _xpos = (_pos select 0) + sin (_dir) * _radius; + private _ypos = (_pos select 1) + cos (_dir) * _radius; + private _posMine = [_xpos,_ypos,0]; + private _mine = createMine ["ATMine", _posMine, [], 0]; + if (GMSCore_modtype isEqualTo "Epoch") then {_mine setVariable ["LAST_CHECK", (diag_tickTime + 14400)]}; + _mine setPos _posMine; + _minesPlaced pushBack _mine; + }; + _dir = _dir + _incr; +}; +_minesPlaced diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAI.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAI.sqf new file mode 100644 index 0000000..c956204 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAI.sqf @@ -0,0 +1,65 @@ +/* + GMS_fnc_spawnMissionAI + by Ghostrider [GRG] + + returns an array of the units spawned + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#define configureWaypoints true + +params["_coords",["_minNoAI",3],["_maxNoAI",6],["_noAIGroups",0],["_missionGroups",[]],["_aiDifficultyLevel","red"],["_uniforms",[]],["_headGear",GMS_BanditHeadgear],["_vests",[]],["_backpacks",[]],["_weapons",[]],["_sideArms",[]],["_isScubaGroup",false]]; +//[format["GMS_fnc_spawnMissionAI: _this = %1",_this]] call GMS_fnc_log; +private _unitsToSpawn = 0; +private _unitsPerGroup = 0; +private _ResidualUnits = 0; +private _adjusttedGroupSize = 0; +private ["_min","_max","_unitsToSpawn","_unitsPerGroup"]; + +private _allAI = []; +private _abort = false; +private _groups = []; +#define patrolAreadDimensions [60,60] +if !(_missionGroups isEqualTo []) then +{ + { + //[format["GMS_fnc_spawnMissionAI: evaluating _missionGroups element %1",_x]] call GMS_fnc_log; + _x params["_position","_minAI","_maxAI","_skillLevel"]; + private _min = [_minAI] call GMSCore_fnc_getIntegerFromRange; + private _max = [_maxAI] call GMSCore_fnc_getIntegerFromRange; + //[format["GMS_fnc_spawnMissionAI: params returned _minAI %1 | _maxAI %2 _position %3 | _skillLevel %4",_minAI,_maxAI,_position,_skillLevel]] call GMS_fnc_log; + _unitsToSpawn = round(_min + round(random(_max - _min))); + private _groupPos = _coords vectorAdd _position; + private _newGroup = [_groupPos,_unitsToSpawn,_aiDifficultyLevel,patrolAreadDimensions,_uniforms,_headGear,_vests,_backpacks,_weapons,_sideArms,_isScubaGroup] call GMS_fnc_spawnGroup; + _groups pushBack _newGroup; + GMS_monitoredMissionAIGroups pushback _newGroup; + _allAI append (units _newGroup); + //[format["GMS_fnc_spawnMissionAI: _group %1 with %2 units added | _min %3 | _max %4 | _unitsToSpawn %5",_newGroup, count (units _newGroup),_min,_max,_unitsToSpawn]]call GMS_fnc_log; + }forEach _missionGroups; +} else { + if (_noAIGroups > 0) then + { + private _min = [_minNoAI] call GMSCore_fnc_getIntegerFromRange; + private _max = [_maxNoAI] call GMSCore_fnc_getIntegerFromRange; + _unitsToSpawn = round(_min + round(random(_max - _min))); + _unitsPerGroup = floor(_unitsToSpawn/_noAIGroups); + private _area = [_coords,[200,200]]; + private _groupPosns = [_coords,_noAIGroups,30,50] call GMS_fnc_findPositionsAlongARadius; + { + _newGroup = [_x,_unitsPerGroup,_aiDifficultyLevel,patrolAreadDimensions,_uniforms,_headGear,_vests,_backpacks,_weapons,_sideArms,_isScubaGroup] call GMS_fnc_spawnGroup; + _groups pushBack _newGroup; + GMS_monitoredMissionAIGroups pushback _newGroup; + _allAI append (units _newGroup); + //[format["GMS_fnc_spawnMissionAI: _group %1 with %2 units added",_newGroup, count (units _newGroup)]] call GMS_fnc_log; + } forEach _groupPosns; + }; +}; +//[format["GMS_fnc_spawnMissionAI: _groups = %1 | _allAI = %2",_groups,_allAI]] call GMS_fnc_log; +_allAI + diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionCrates.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionCrates.sqf new file mode 100644 index 0000000..de5e0bf --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionCrates.sqf @@ -0,0 +1,79 @@ +/* + GMS_fnc_spawnMissionCrates + + By Ghostrider [GRG] + Copyright 2018 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +_fnc_dropMissionCrates = { + private ["_crates","_marker","_markers","_GMS_localMissionMarker","_location","_airborneCrates","_curPosCrate"]; + _crates = _this select 0; + _markers = []; + + { + [(getPos _x), _x, true, 50] call GMS_fnc_paraDropObject; + } forEach _crates; + + _airborneCrates = _crates; + while {count _airborneCrates > 0} do + { + uiSleep 1; + { + if ((getPos _x) select 2 < 5) then + { + _airborneCrates = _airborneCrates - [_x]; + _chute = _x getVariable["chute",objNull]; + detach _x; + deleteVehicle _chute; + _location = getPos _x; + _GMS_localMissionMarker = [format["crateMarker%1%2",_location select 0, _location select 1],_location,"","","ColorBlack",["mil_dot",[]]]; + _marker = [_GMS_localMissionMarker] call GMS_fnc_spawnMarker; + [_marker,diag_tickTime + 300] call GMSCore_fnc_addToDeletionCue; + _curPosCrate = getPos _x; + _x setPos [_curPosCrate select 0, _curPosCrate select 1, 0.3]; + }; + } forEach _crates; + }; +}; + +params[ ["_coords", [0,0,0]], ["_cratesToSpawn",[]], ["_loadCrateTiming","atMissionSpawn"],["_spawnCrateTiming","atMissionSpawn"],["_missionState","start"], ["_difficulty","red"] ]; + + +private _params = ["_coords","_cratesToSpawn","_loadCrateTiming","_spawnCrateTiming","_missionState","_difficulty"]; + +if ((count _coords) == 2) then // assume only X and Y offsets are provided +{ + _coords pushback 0;; // calculate the world coordinates +}; +private _cratesSpawned = []; + +{ + _x params["_crateType","_crateOffset","_lootArray","_lootCounts",["_crateDir",0]]; + + private _pos = _coords vectorAdd _crateOffset; + private _crate = [_pos,_crateType] call GMS_fnc_spawnCrate; + [_crate, _crateDir] call GMS_fnc_setDirUp; + _crate setVariable["lootArray",_lootArray]; + _crate setVariable["lootCounts",_lootCounts]; + _crate setVariable["difficulty",_difficulty]; + if (_loadCrateTiming isEqualTo "atMissionSpawn" || {_missionState isEqualTo "end"}) then + { + [_crate] call GMS_fnc_loadMissionCrate; + }; + _cratesSpawned pushback _crate; +}forEach _cratesToSpawn; + +if (_spawnCrateTiming in ["atMissionEndAir","atMissionSpawnAir"]) then +{ + [_cratesSpawned] spawn _fnc_dropMissionCrates; +}; + +_cratesSpawned diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionHelis.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionHelis.sqf new file mode 100644 index 0000000..a93856a --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionHelis.sqf @@ -0,0 +1,58 @@ +/* + GMS_fnc_spawnMissionHelis +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params[ + ["_coords",[0,0,0]], + ["_noChoppers",0], + ["_missionHelis",[]], + ["_difficulty","Red"], + ["_uniforms",[]], + ["_headgear",[]], + ["_vests",[]], + ["_backpacks",[]], + ["_weaponList",[]], + ["_sideArms",[]] +]; +private _helis = []; +private _units = []; +for "_i" from 0 to (_noChoppers) do +{ + private _spawnPos = _coords getPos[30,random(359)]; + private _heli = selectRandom _missionHelis; + private _noCrew = [_heli,false] call BIS_fnc_crewCount; + #define patrolArea [1000,1000] + private _crewGroup = [_spawnPos,_noCrew,_difficulty,patrolArea,_uniforms,_headGear,_vests,_backpacks,_weaponList, _sideArms] call GMS_fnc_spawnGroup; + _crewGroup setVariable["GMS_group",true]; + _units append (units _crewGroup); + + #define heliDir 0 + #define heliHeight 100 + #define heliRemoveFuel 0.2 + #define heliDamage 0.5 + #define vehHitCode [GMS_fnc_vehicleHit] + #define vehKilledCode [GMS_fnc_vehicleKilled] + private _releaseToPlayers = GMS_allowClaimVehicle; + // the function returns the vehicle object spawned (_aircraft) + /* + params[ + ["_className",""], + ["_group",grpNull], + ["_pos",[0,0,0]], + ["_dir",0], + ["_height",0], + ["_disable",0], // damage value set to this value if less than this value when all crew are dead + ["_removeFuel",0.2], // uel set to this value when all crew dead + ["_releaseToPlayers",true], + ["_deleteTimer",300], + ["_vehHitCode",[]], + ["_vehKilledCode",[]] + ]; + */ + + private _aircraft = [_heli,_crewGroup,_spawnPos,heliDir,heliHeight,heliDamage,heliRemoveFuel,_releaseToPlayers,GMS_vehicleDeleteTimer,vehHitCode,vehKilledCode] call GMSCore_fnc_spawnPatrolAircraft; + _helis pushBack _aircraft; +}; + +[_helis,_units] \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionLootVehicles.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionLootVehicles.sqf new file mode 100644 index 0000000..5655383 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionLootVehicles.sqf @@ -0,0 +1,38 @@ +/* + GMS_fnc_spawnMissionLootVehicles + + by Ghostridere-GRG- + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_coords","_missionLootVehicles",["_loadCrateTiming","atMissionSpawn"],["_lock",0]]; +if (count _coords isEqualTo 2) then {_coords pushBack 0}; +private _vehs = []; +{ + _x params["_vehType","_vehOffset",["_dir",0],"_lootArray","_lootCounts"]; + _veh = [_vehType, _coords vectorAdd _vehOffset] call GMS_fnc_spawnVehicle; + [_veh, _dir] call GMS_fnc_setDirUp; + _veh lock _lock; + if (_loadCrateTiming isEqualTo "atMissionSpawnGround") then + { + [_veh,_lootArray,_lootCounts] call GMS_fnc_fillBoxes; + _veh setVariable["lootLoaded",true]; + private _crateMoney = missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty]); + [format["GMS_fnc_spawnMissionLootVehicles (29) _crateMoney = %1",_crateMoney]] call GMS_fnc_log; + //[_veh,missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty])] call GMS_fnc_setMoney; + } else { + _veh setVariable["lootArray",_lootArray]; + _veh setVariable["lootCounts",_lootCounts]; + _veh setVariable["lootLoaded",false]; + }; + _vehs pushback _veh; +}forEach _missionLootVehicles; +_vehs diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionVehiclePatrols.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionVehiclePatrols.sqf new file mode 100644 index 0000000..196a94d --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionVehiclePatrols.sqf @@ -0,0 +1,88 @@ +/* + GMS_fnc_spawnMissionVehiclePatrols + by Ghostrider [GRG] + returns [] if no groups could be created + returns [_AI_Vehicles,_missionAI] otherwise; + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params[ + "_coords", + "_noVehiclePatrols", + "_skillAI", + "_missionPatrolVehicles" + ,["_useRelativePos",true], + ["_uniforms",[]], + ["_headGear",[]], + ["_vests",[]], + ["_backpacks",[]], + ["_weaponList",[]], + ["_sideArms",[]], + ["_isScubaGroup",false], + ["_crewCount",4] +]; + +private["_spawnPos"]; +private _vehicles = []; +private _missionAI = []; +private _abort = false; +private _patrolsThisMission = +_missionPatrolVehicles; +//diag_log format["_spawnMissionVehiclePatrols(30): _noVehiclePatrols = %1 | _patrolsThisMission = %2",_noVehiclePatrols,_patrolsThisMission]; +if (_patrolsThisMission isEqualTo []) then +{ + _useRelativePos = false; + private _spawnLocations = [_coords,_noVehiclePatrols,60,100] call GMS_fnc_findPositionsAlongARadius; + //diag_log format["_spawnMissionVehiclePatrols (35): _spawnLocations = %1",_spawnLocations]; + { + + private _veh = [_skillAI] call GMS_fnc_selectPatrolVehicle; + [format["GMS_fnc_spawnMissionVehiclePatrols: _veh %1 = %2",_forEachIndex,_veh]] call GMS_fnc_log; + _patrolsThisMission pushBack [_veh, _x]; + //diag_log format["_spawnMissionVehiclePatrols(36): _v = %1 | _patrolsThisMission = %2",_v,_patrolsThisMission]; + }forEach _spawnLocations; +}; +//diag_log format["_spawnMissionVehiclePatrols(42): _patrolsThisMission = %1",_patrolsThisMission]; +#define configureWaypoints false +{ + _x params["_vehName","_pos"]; + if (_useRelativePos) then {_pos = _coords vectorAdd _pos}; + _pos = _pos findEmptyPosition[0,50,_vehName]; + #define vehiclePatrolAreaDimensions [500,500] + private _maxCrewConfigs = [_vehName,true] call BIS_fnc_crewCount; + private _maxCrewBlck = missionNamespace getVariable[format["GMS_vehCrew_%1",_skillAI],3]; + private _crewCount = _maxCrewBlck min _maxCrewConfigs; + #define offMap [-1,-1,1] + private _vehGroup = [offMap,_crewCount,_skillAI,vehiclePatrolAreaDimensions,_uniforms, _headGear,_vests,_backpacks,_weaponList,_sideArms,_isScubaGroup] call GMS_fnc_spawnGroup; + + _missionAI append (units _vehGroup); + GMS_monitoredMissionAIGroups pushBack _vehGroup; + + #define height 0 + #define dir 0 + #define maxDamage 0.5 + #define removeFuel 0.2 + #define vehHitCode [GMS_fnc_vehicleHit] + #define vehKilledCode [GMS_fnc_vehicleKilled] + private _damage = 0.5; + private _releaseToPlayers = GMS_allowClaimVehicle; + + private _vehicle = [_vehName,_pos,dir,height,maxDamage,removeFuel,_releaseToPlayers,GMS_vehicleDeleteTimer,vehHitCode,vehKilledCode] call GMSCore_fnc_spawnPatrolVehicle; + [_vehicle,_vehGroup] call GMSCore_fnc_loadVehicleCrew; + _vehGroup setVariable["GMS_group",true]; + [_vehicle,GMS_forbidenWeapons,GMS_forbidenMagazines] call GMSCore_fnc_disableVehicleWeapons; + [_vehicle,GMS_disabledSensors] call GMSCore_fnc_disableVehicleSensors; + if (GMS_disableInfrared) then {_vehicle disableTIEquipment true}; + _vehicles pushback _vehicle; + GMS_landVehiclePatrols pushBack _vehicle; +} forEach _patrolsThisMission; +GMS_landVehiclePatrols append _vehicles; +GMS_monitoredVehicles append _vehicles; +[_vehicles, _missionAI, _abort]; + diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnNewMissions.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnNewMissions.sqf new file mode 100644 index 0000000..7285330 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnNewMissions.sqf @@ -0,0 +1,49 @@ +/* + GMS_fnc_spawnPendingMissions + + Purpose: + For each mission for which data was precompiled test if the current time is greater than the time at which a mission of that 'color' should be spawned. + If so, that mission is initialized and added to the cue of available missions. + + By Ghostrider [GRG] + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +// Need to debug for GMS +if (GMS_missionsRunning >= GMS_maxSpawnedMissions) exitWith +{ + [format["_spawnNewMissions (18): GMS_maxSpawnedMissions of %1 Reached",GMS_maxSpawnedMissions]] call GMS_fnc_log; +}; + +{ + private _missionDescriptors = _x; + _missionDescriptors params["_key","_difficulty","_maxMissions","_activeMissions","_tMin","_tMax","_waitTime","_missions"]; + + if (_activeMissions < _maxMissions && {diag_tickTime > _waitTime && {GMS_missionsRunning < GMS_maxSpawnedMissions}}) then + { + // time to reset timers and spawn something. + private _missionSelected = selectRandom _missions; + //[format["_spawnNewMissions (29): _key %1 | _difficulty %2 | _maxMissions %3 | _activeMissions %4 | _tMin %5 | _tMax %6 | _waitTime %7",_key,_difficulty,_maxMissions,_activeMissions,_tMin,_tMax,_waitTime]] call GMS_fnc_log; + private _missionInitialized = [_key,_missionSelected,GMS_dynamicMissionsSpawned] call GMS_fnc_initializeMission; + + if (_missionInitialized == 1) then + { + GMS_dynamicMissionsSpawned = GMS_dynamicMissionsSpawned + 1; + #define waitTime 6 + #define noActive 3 + private _wt = diag_tickTime + _tmin + (random(_tMax - _tMin)); + _x set[waitTime, _wt]; // _x here is the _missionCategoryDescriptors being evaluated + private _noActiveMissions = _x select noActive; + _x set[noActive, _noActiveMissions + 1]; + }; + if (_missionInitialized == 2) then + { + _missions deleteAt (_missions find _missionSelected); + }; + }; +} forEach GMS_missionData; diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnRandomLandscape.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnRandomLandscape.sqf new file mode 100644 index 0000000..9bd1595 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnRandomLandscape.sqf @@ -0,0 +1,47 @@ +/* + GMS_fnc_spawnRandomLandscape + + spawn a group of objects in random locations aligned with the radial from the center of the region to the object. + By Ghostrider [GRG] + copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_coords","_missionLandscape",["_min",3],["_max",15],["_nearest",1]]; + +#define maxObjectSpawnRadius 25 +#define minObjectSpawnRadius 15 +private _objectSpawnRange = maxObjectSpawnRadius - minObjectSpawnRadius; + +private _newObjs = []; +private _hiddenObjs = []; + +{ + private _spawnPos = _coords getPos[minObjectSpawnRadius + random(maxObjectSpawnRadius), random(359)]; + private _objClassName = _x; + if (_objClassName isKindOf "House" && {GMS_hideRocksAndPlants}) then + { + private _shrubs = nearestTerrainObjects[_spawnPos,["TREE", "SMALL TREE", "BUSH","FENCE", "WALL","ROCK"], sizeOf _objClassName]; + if !(_shrubs isEqualTo []) then + { + _hiddenObjs append _shrubs; + {_x hideObjectGlobal true} forEach _shrubs; + }; + }; + private _obj = createVehicle[_x, _spawnPos, [], 2]; + _obj allowDamage true; + _obj enableSimulation false; + _obj enableSimulationGlobal false; + _obj enableDynamicSimulation false; + _obj setDir (_obj getRelDir _coords); + _newObjs pushback _obj; + sleep 0.1; +} forEach _missionLandscape; + +[_newObjs,_hiddenObjs] diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnSDVPatrol.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnSDVPatrol.sqf new file mode 100644 index 0000000..1e9b85e --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnSDVPatrol.sqf @@ -0,0 +1,23 @@ +/* + by Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_SDV","_pos","_difficulty","_numberAI","_patrolRadius","_respawnTime"]; +#define SDVpatrolAreadDimensions [50,50] +// params[["_pos",[0,0,0]], ["_numbertospawn",0], ["_skillLevel","red"], ["_configureWaypoints",true], ["_uniforms",[]], ["_headGear",[]],["_vests",[]],["_backpacks",[]],["_weaponList",[]],["_sideArms",[]], ["_scuba",false]]; +private _backpacks = []; +private _sidearms = []; +private _group = [_pos,_numberAI,_difficulty,SDVpatrolAreadDimensions,GMS_UMS_uniforms,GMS_UMS_headgear,GMS_UMS_vests, _backpacks,GMS_UMS_weapons,_sidearms,true] call GMS_fnc_spawnGroup; +private _vehicle = [[_pos select 0, _pos select 1,0],[_pos select 0, _pos select 1,0],_vehType,_patrolRadius - 2,_patrolRadius,_group] call GMS_fnc_spawnVehiclePatrol; +private _diveDepth = 0.5 * ([_pos] call GMS_fnc_findWaterDepth); +(driver _vehicle) swiminDepth (_diveDepth select 2); + +_group diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnScubaGroup.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnScubaGroup.sqf new file mode 100644 index 0000000..7c7402b --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnScubaGroup.sqf @@ -0,0 +1,23 @@ +/* + by Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#define configureWaypoints true +#define isScubaGroup true +#define UMS_backpacks [] +#define UMS_sidearms [] +#define scubaPatrolAreaDimensions [25,25] +params["_group","_pos",["_skillLevel","red"],["_numUnits",6],["_patrolRadius",15]]; +// private _group = [_pos,_numberAI,_difficulty,configureWaypoints,GMS_UMS_uniforms,GMS_UMS_headgear,GMS_UMS_vests,[],GMS_UMS_weapons,_sideArms,true] call GMS_fnc_spawnGroup; + +private _group = [_pos,_numUnits,_skillLevel, scubaPatrolAreaDimensions, GMS_UMS_uniforms, GMS_UMS_headgear, GMS_UMS_vests, [], GMS_UMS_weapons, [], isScubaGroup] call GMS_fnc_spawnGroup; + + + diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnSimpleObjects.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnSimpleObjects.sqf new file mode 100644 index 0000000..ecb3141 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnSimpleObjects.sqf @@ -0,0 +1,25 @@ +/* + GMS_fnc_spawnSimpleObjects + + by Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_center","_objects","_relative"]; +private _spawnedObjects = []; +{ + _x params["_className","_relPos","_dir","_booleans"]; + private _objPos = _center vectorAdd _relPos; + private _obj = createSimpleObject [_className,ATLToASL _objPos]; + _obj setDir _dir; + _obj setVectorUp [0,0,1]; + _spawnedObjects pushBack _obj; +} forEach _objects; +_spawnedObjects \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnSurfacePatrol.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnSurfacePatrol.sqf new file mode 100644 index 0000000..b5d35e4 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnSurfacePatrol.sqf @@ -0,0 +1,20 @@ + +/* + by Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_SDV","_pos","_difficulty","_numAI","_patrolRadius","_respawnTime"]; +#define surfacePatrolAreaDimensions [150,150] +private _group = [_pos,_numAI,_difficulty,surfacePatrolAreaDimensions] call GMS_fnc_spawnGroup; +private _vehicle = [_pos,_pos,_vehType,_minDis,_maxDis,_group] call GMS_fnc_spawnVehiclePatrol; + +_vehicle + diff --git a/@GMS/addons/GMS/Compiles/Units/GMS_fnc_handlePlayerUpdates.sqf b/@GMS/addons/GMS/Compiles/Units/GMS_fnc_handlePlayerUpdates.sqf new file mode 100644 index 0000000..c0e3940 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Units/GMS_fnc_handlePlayerUpdates.sqf @@ -0,0 +1,106 @@ +/* + calculate a reward player for AI Kills in crypto. + Code fragment adapted from VEMF + call as [_unit,_killer] call GMS_fnc_handlePlayerUpdates; + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +_fn_doUpdates = { + params["_player","_unit"]; + private _lastkill = _player getVariable["GMS_lastkill",diag_tickTime]; + _player setVariable["GMS_lastkill",diag_tickTime]; + private _kills = (_player getVariable["GMS_kills",0]) + 1; + if ((diag_tickTime - _lastkill) < 240) then + { + _player setVariable["GMS_kills",_kills]; + } else { + _player setVariable["GMS_kills",0]; + }; + + if (toLower(GMSCore_modtype) isEqualTo "epoch") then + { + #define maxReward 2500 + private _distanceBonus = floor((_unit distance _player)/100); + private _killstreakBonus = 3 * (_player getVariable["GMS_kills",0]); + private _reward = 25 + _distanceBonus + _killstreakBonus; + [_player,_reward ] call GMSCore_fnc_giveTakeCrypto; + [_player, 5] call GMSCore_fnc_setKarma; + //if (isNil "GMS_fnc_killedMessages") then {diag_log format["blckeagls: GMS_fnc_killedMessages not defined"]}; + if (GMS_useKillScoreMessage) then + { + [["showScore",[_reward,"",_kills],""],[_player]] call GMS_fnc_messageplayers; + // params["_unit","_killer","_money","_respect","_killStreak"]; + //[_unit,_player,_reward,5] call GMS_fnc_killedMessages; + }; + + // SUggestion to update Epoch player stats from He-Man + [_killer, "AIKills", 1, true] call EPOCH_server_updatePlayerStats; + }; + if (toLower(GMSCore_modtype) isEqualTo "exile") then + { + private _distanceBonus = floor((_unit distance _player)/100); + private _killstreakBonus = 3 * (_player getVariable["GMS_kills",0]); + private _respectGained = 25 + _distanceBonus + _killstreakBonus; + private _score = _player getVariable ["ExileScore", 0]; + _score = _score + (_respectGained); + _player setVariable ["ExileScore", _score]; + format["setAccountScore:%1:%2", _score,getPlayerUID _player] call ExileServer_system_database_query_fireAndForget; + private _newKillerFrags = _player getVariable ["ExileKills", 0]; + _newKillerFrags = _newKillerFrags + 1; + _player setVariable ["ExileKills", _newKillerFrags]; + format["addAccountKill:%1", getPlayerUID _player] call ExileServer_system_database_query_fireAndForget; + _player call ExileServer_object_player_sendStatsUpdate; + if (GMS_useKillScoreMessage) then + { + [["showScore",[_respectGained,_distanceBonus,_kills]], [_player]] call GMS_fnc_messageplayers; + }; + }; + if (toLower(GMSCore_modtype) isEqualTo "default") then + { + private _newKillerFrags = _player getVariable ["ExileKills", 0]; + _newKillerFrags = _newKillerFrags + 1; + _player setVariable ["ExileKills", _newKillerFrags,true]; + if (GMS_useKillScoreMessage) then + { + [["showScore",[_respectGained,_distanceBonus,_kills]], [_player]] call GMS_fnc_messageplayers; + }; + }; + if (GMS_useKillMessages) then + { + private _weapon = currentWeapon _player; + _killstreakMsg = format[" %1X KILLSTREAK",_kills]; + private["_message"]; + if (GMS_useKilledAIName) then + { + _message = format["[blck] %2: killed by %1 from %3m",name _player,name _unit,round(_unit distance _player)]; + }else{ + _message = format["[blck] %1 killed with %2 from %3 meters",name _player,getText(configFile >> "CfgWeapons" >> _weapon >> "DisplayName"), round(_unit distance _player)]; + }; + _message =_message + _killstreakMsg; + [["aikilled",_message,"victory"],allPlayers] call GMS_fnc_messageplayers; + }; + +}; + +params["_unit","_killer"]; +private _killerType = _killer call BIS_fnc_objectType; // anObject call BIS_fnc_objectType + +if ((_killerType select 0 )isEqualTo "Vehicle") then +{ + { + _player = _killer; + if (getPlayerUID(_x) isEqualTo getPlayerUID(_killer)) exitWith { + [_x,_unit] call _fn_doUpdates; + }; + + }forEach (crew (vehicle _killer)); +} else { + [_killer,_unit] call _fn_doUpdates; +}; + diff --git a/@GMS/addons/GMS/Compiles/Units/GMS_fnc_placeCharacterInBuilding.sqf b/@GMS/addons/GMS/Compiles/Units/GMS_fnc_placeCharacterInBuilding.sqf new file mode 100644 index 0000000..48aa862 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Units/GMS_fnc_placeCharacterInBuilding.sqf @@ -0,0 +1,24 @@ +/* + by Ghostrider + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_character","_center","_characterBuildingConfigs"]; + +private ["_obj"]; +if !(_characterBuildingConfigs isEqualTo []) then +{ + _obj = createVehicle[(_characterBuildingConfigs select 0),_center vectorAdd (_characterBuildingConfigs select 1),[],0,"CAN_COLLIDE"]; + _obj setDir (_characterBuildingConfigs select 2); + _obj allowDamage true; + _obj enableDynamicSimulation true; + _character setPosATL (_obj buildingPos (round(random((count ([_obj] call BIS_fnc_buildingPositions)) -1)))); +}; +_obj \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf b/@GMS/addons/GMS/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf new file mode 100644 index 0000000..88c0c24 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf @@ -0,0 +1,44 @@ +/* + by Ghostrider + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +private["_missionType","_wasRunover","_launcher","_legal"]; +params["_unit","_killer"]; +_legal = true; +if (vehicle _killer == _killer) exitWith {true}; + +// Player not in vehicle, no further checks needed. +if (_killer == (driver (vehicle _killer))) then // If the killer is also the driver then the killer must have run the AI over +{ + if(GMS_RunGear && {!((vehicle _killer) isKindOf "Air")}) then // assume aircraft are too fragile to kill AI by moving close to ground + { + [_unit] call GMS_fnc_removeAllAIgear; + if (GMS_VK_RunoverDamage) then + {//apply vehicle damage + [vehicle _killer] call GMS_fnc_applyVehicleDamagePenalty; + [_killer] call GMS_fnc_msgIED; + }; + _legal = false; + }; +} else { + if ( GMS_VK_GunnerDamage ) then + { + if ((typeOf (vehicle _killer)) in GMS_forbidenVehicles || {(currentWeapon _killer) in GMS_forbidenVehicleGuns}) then + { + if (GMS_VK_Gear) then {[_unit] call GMS_fnc_removeAllAIgear;}; + [vehicle _killer] call GMS_fnc_applyVehicleDamagePenalty; + [_killer] call GMS_fnc_msgIED; + _legal = false; + }; + }; +}; + +_legal diff --git a/@GMS/addons/GMS/Compiles/Units/GMS_fnc_spawnCharacter.sqf b/@GMS/addons/GMS/Compiles/Units/GMS_fnc_spawnCharacter.sqf new file mode 100644 index 0000000..3ae8530 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Units/GMS_fnc_spawnCharacter.sqf @@ -0,0 +1,44 @@ +/* + by Ghostrider + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_coords","_charConfigs"]; +private["_char","_charGroup"]; +_charConfigs params["_classname","_posn","_dir","_simDamg","_animations","_headgear","_uniforms"]; + +_charGroup = createGroup [GMSCore_side, true]; +_char = _charGroup createUnit [_classname,[0,0,0], [], 0, "NONE"]; +_char setCaptive true; +if (count _headgear > 0) then +{ + _char addHeadgear (selectRandom(_headgear)); +}; +if (count _uniforms > 0) then +{ + _char forceAddUniform selectRandom(_uniforms); +}; +_posn = (_coords vectorAdd _posn); +_char setPos [_posn select 0, _posn select 1, 0]; + +if (GMSCore_modtype isEqualTo "Epoch") then {_char setVariable ["LAST_CHECK",28800,true]}; +_char setPos (_posn); +_char setDir (_dir); +removeAllWeapons _char; +_char setVariable ["BIS_enableRandomization", false]; +_char setVariable ["BIS_fnc_animalBehaviour_disable", true]; +_char disableAI "ALL"; +_char enableAI "ANIM"; +_char enableAI "MOVE"; +_char allowDamage true; +_char enableSimulationGlobal true; +_char setVariable["GMSAnimations",_animations,true]; +_char setUnitPos "UP"; + +_char \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Units/GMS_fnc_spawnHostage.sqf b/@GMS/addons/GMS/Compiles/Units/GMS_fnc_spawnHostage.sqf new file mode 100644 index 0000000..6867ea7 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Units/GMS_fnc_spawnHostage.sqf @@ -0,0 +1,22 @@ +/* + by Ghostrider + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_coords","_hostageConfigs"]; +private["_hostage","_building"]; +_hostage = [_coords,_hostageConfigs] call GMS_fnc_spawnCharacter; +_hostage remoteExec["GMS_fnc_initHostage", -2, true]; +_hostage setVariable["assetType",1,true]; +_building = [_hostage,_coords,_hostageConfigs select 7] call GMS_fnc_placeCharacterInBuilding; +[_hostage,_building] + + + diff --git a/@GMS/addons/GMS/Compiles/Units/GMS_fnc_spawnLeader.sqf b/@GMS/addons/GMS/Compiles/Units/GMS_fnc_spawnLeader.sqf new file mode 100644 index 0000000..fda3b91 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Units/GMS_fnc_spawnLeader.sqf @@ -0,0 +1,23 @@ +/* + by Ghostrider + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_coords","_leaderConfigs"]; +private["_leader","_building"]; +_leader = [_coords, _leaderConfigs] call GMS_fnc_spawnCharacter; +_leader remoteExec["GMS_fnc_initLeader", -2, true]; +_leader setVariable["assetType",2,true]; +_leader setVariable["endAnimation",["Acts_CivilShocked_1"],true]; +_building = [_leader,_coords,_leaderConfigs select 7] call GMS_fnc_placeCharacterInBuilding; +[_leader,_building] + + + diff --git a/@GMS/addons/GMS/Compiles/Units/fn_cleanupAliveAI.sqf b/@GMS/addons/GMS/Compiles/Units/fn_cleanupAliveAI.sqf new file mode 100644 index 0000000..f008f0a --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Units/fn_cleanupAliveAI.sqf @@ -0,0 +1,38 @@ +/* + Delete alive AI. + by Ghostrider + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +for "_i" from 1 to (count GMS_liveMissionAI) do { + if ((_i) <= count GMS_liveMissionAI) then { + _units = GMS_liveMissionAI deleteAt 0; + _units params ["_missionCenter","_unitsarr","_timer"]; + + if (diag_tickTime > _timer) then + { + private _nearplayer = [_missionCenter,800] call GMS_fnc_nearestPlayers; + if (_nearPlayer isEqualTo []) then + { + { + private _unit = _x; + if ((alive _unit) && {!(isNull objectParent _unit)}) then { + [objectParent _unit] call GMS_fnc_deleteAIvehicle; + }; + [_unit] call GMS_fnc_deleteAI; + } forEach _unitsarr; + } else { + GMS_liveMissionAI pushback _units; + }; + } else { + GMS_liveMissionAI pushback _units; + }; + }; +}; diff --git a/@GMS/addons/GMS/Compiles/Units/fn_deleteAI.sqf b/@GMS/addons/GMS/Compiles/Units/fn_deleteAI.sqf new file mode 100644 index 0000000..66b4bb3 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Units/fn_deleteAI.sqf @@ -0,0 +1,29 @@ +/* + Delete a unit. + by Ghostrider + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +private["_ai","_group"]; +params["_unit"]; + +{ + _unit removeAllEventHandlers _x; +}forEach ["reloaded"]; +{ + _unit removeAllMPEventHandlers _x; +} forEach ["MPKilled","MPHit"]; +_group = (group _unit); +deleteVehicle _unit; +if (count units _group isEqualTo 0) then +{ + deletegroup _group; +}; + diff --git a/@GMS/addons/GMS/Compiles/Units/fn_removeAllAIgear.sqf b/@GMS/addons/GMS/Compiles/Units/fn_removeAllAIgear.sqf new file mode 100644 index 0000000..e0625e5 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Units/fn_removeAllAIgear.sqf @@ -0,0 +1,14 @@ +/* + By Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_ai"]; +{deleteVehicle _x}forEach nearestObjects [(getPosATL _ai), ['GroundWeaponHolder','WeaponHolderSimulated','WeaponHolder'], 3]; //Adapted from the AI cleanup logic by KiloSwiss +[_ai] call GMSCore_fnc_unitRemoveAllGear; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Units/fn_spawnParaUnits.sqf b/@GMS/addons/GMS/Compiles/Units/fn_spawnParaUnits.sqf new file mode 100644 index 0000000..9a37304 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Units/fn_spawnParaUnits.sqf @@ -0,0 +1,29 @@ +/* + GMS_fnc_spawnParaUnits + + Author: Ghostrider [GRG] + Inspiration: blckeagls / A3EAI / VEMF / IgiLoad / SDROP + License: Attribution-NonCommercial-ShareAlike 4.0 International + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ + -------------------------- +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +// Acomodate case where para are spawned over water. +params["_pos","_numAI","_skilllevel",["_uniforms",[]],["_headGear",[]],["_vests",[]],["_backpacks",[]],["_weapons",[]],["_sideArms",[]],["_isScuba",false]]; +if (_numAI < 1) exitWith {grpNull}; +#define offMap [0,0,0] +#define patrolAreadDimensions [50,50] +private _paraGroup = [offMap,_numAI,_skilllevel,patrolAreadDimensions,_uniforms,_headGear,_vests,_backpacks,_weapons,_sideArms,_isScuba] call GMS_fnc_spawnGroup; +if !(isNull _paraGroup) then +{ + [_paraGroup,_pos] call GMSCore_fnc_dropParatroops; + GMS_monitoredMissionAIGroups pushback _paraGroup; +}; +[format["GMS_fnc_spawnParaUnits: _paragroup = %1",_paraGroup]] call GMS_fnc_log; +_paraGroup diff --git a/@GMS/addons/GMS/Compiles/Units/fn_spawnUnit.sqf b/@GMS/addons/GMS/Compiles/Units/fn_spawnUnit.sqf new file mode 100644 index 0000000..4fe94c9 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Units/fn_spawnUnit.sqf @@ -0,0 +1,130 @@ +/* + GMS_fnc_spawnUnit + Original Code by blckeagls + Modified by Ghostrider + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +private ["_i","_weap","_unit","_skillLevel","_aiSkills","_launcherRound","_index","_ammoChoices","_optics","_pointers","_muzzles","_underbarrel","_legalOptics"]; + +params["_pos","_aiGroup",["_skillLevel","red"],["_uniforms", []],["_headGear",[]],["_vests",[]],["_backpacks",[]],["_launcher","none"],["_weaponList",[]],["_sideArms",[]],["_scuba",false],["_garrison",false]]; + +if (_weaponList isEqualTo []) then {_weaponList = [_skillLevel] call GMS_fnc_selectAILoadout;[format["Weaponlist for unit set to %1",_weaponList],"warning"] call GMS_fnc_log;}; +if (_sideArms isEqualTo []) then {_sideArms = [_skillLevel] call GMS_fnc_selectAISidearms}; +if (_uniforms isEqualTo []) then {_uniforms = [_skillLevel] call GMS_fnc_selectAIUniforms;[format["Uniforms for unit set to %1",_uniforms],"warning"] call GMS_fnc_log;}; +if (_headGear isEqualTo []) then {_headGear = [_skillLevel] call GMS_fnc_selectAIHeadgear}; +if (_vests isEqualTo []) then {_vests = [_skillLevel] call GMS_fnc_selectAIVests}; +if (_backpacks isEqualTo []) then {_backpacks = [_skillLevel] call GMS_fnc_selectAIBackpacks}; + +if (isNull _aiGroup) exitWith {["NULL-GROUP Provided to _fnc_spawnUnit"] call GMS_fnc_log}; + +_unit = ObjNull; +GMSCore_unitType createUnit [_pos, _aiGroup, "_unit = this", GMS_baseSkill, "COLONEL"]; + +//private _tempPos = _pos findEmptyPosition [0.1, 3, typeOf _unit]; + +//if !(_tempPos isEqualTo []) then {_unit setPos _tempPos}; + +[_unit] call GMS_fnc_removeGear; +if (_scuba) then +{ + _unit swiminDepth (([_pos] call GMS_fnc_findWaterDepth) / 2); +}; + +//Sets AI Tactics +_unit enableAI "ALL"; +if(_garrison) then +{ + _unit disableAI "PATH"; +}; +_unit allowDammage true; +_unit setBehaviour "COMBAT"; +_unit setunitpos "AUTO"; + +if !(_uniforms isEqualTo []) then {_unit forceAddUniform (selectRandom _uniforms)}; +if !(_headGear isEqualTo []) then {_unit addHeadgear (selectRandom _headGear)}; +if !(_vests isEqualTo []) then {_unit addVest (selectRandom _vests)}; +if !(_weaponList isEqualTo []) then { + _weap = selectRandom _weaponList; + _unit addWeaponGlobal _weap; + _ammoChoices = getArray (configFile >> "CfgWeapons" >> _weap >> "magazines"); + _unit addMagazines[selectRandom _ammochoices,3]; + if (random 1 < GMS_chanceMuzzle) then {_unit addPrimaryWeaponItem (selectRandom ([_weap, 101] call BIS_fnc_compatibleItems))}; // muzzles + if (random 1 < GMS_chanceOptics) then {_unit addPrimaryWeaponItem (selectRandom ([_weap, 201] call BIS_fnc_compatibleItems))}; // optics + if (random 1 < GMS_chancePointer) then {_unit addPrimaryWeaponItem (selectRandom ([_weap, 301] call BIS_fnc_compatibleItems))}; // pointers + if (random 1 < GMS_chanceUnderbarrel) then {_unit addPrimaryWeaponItem (selectRandom ([_weap, 302] call BIS_fnc_compatibleItems))}; // underbarrel + if ((count(getArray (configFile >> "cfgWeapons" >> _weap >> "muzzles"))) > 1) then + { + _unit addMagazine "1Rnd_HE_Grenade_shell"; + }; +}; +if !(_sideArms isEqualTo []) then +{ + _weap = selectRandom _sideArms; + _ammoChoices = getArray (configFile >> "CfgWeapons" >> _weap >> "magazines"); + _unit addMagazines [selectRandom _ammoChoices, 2]; + _unit addWeaponGlobal _weap; +}; +if !(GMS_ConsumableItems isEqualTo []) then +{ + for "_i" from 1 to (1+floor(random(4))) do + { + _unit addItem (selectRandom GMS_ConsumableItems); + }; +}; +if !(GMS_specialItems isEqualTo []) then +{ + // Add First Aid or Grenade 50% of the time + if (round(random 10) <= 5) then + { + _unit addItem selectRandom GMS_specialItems; + }; +}; + +if !(_backpacks isEqualTo []) then +{ + if (random (1) < GMS_chanceBackpack) then + { + _unit addBackpack selectRandom _backpacks; + } else { + // Only add rounds for the specified launcher if a backpack was equiped ? + if !(_Launcher isEqualTo "none") then + { + _unit addBackpack (selectRandom GMS_backpacks); + _unit addWeaponGlobal _launcher; + _unit setVariable["Launcher",[_launcher,[]]]; + private _mags = getArray (configFile >> "CfgWeapons" >> _Launcher >> "magazines"); + private _rnds = []; + for "_i" from 1 to 3 do + { + private _mag = selectRandom _mags; + _unit addItemToBackpack _mag; + _rnds pushBack _mag; + }; + _unit setVariable["Launcher",[_launcher,_rnds]]; + }; + }; +}; + +if(sunOrMoon < 0.2 && {GMS_useNVG})then +{ + _unit addWeapon selectRandom GMS_NVG; + _unit setVariable ["hasNVG", true]; +} +else +{ + _unit setVariable ["hasNVG", false]; +}; + +_unit addWeapon selectRandomWeighted["",4,"Binocular",3,"Rangefinder",1]; + +_unit + + diff --git a/@GMS/addons/GMS/Compiles/Units/fn_unitHit.sqf b/@GMS/addons/GMS/Compiles/Units/fn_unitHit.sqf new file mode 100644 index 0000000..eebaa72 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Units/fn_unitHit.sqf @@ -0,0 +1,18 @@ +/* + By Ghostrider [GRG] + + Handles the case where a unit is hit. + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +if !(local (_this select 0)) exitWith {}; +params ["_unit", "_source", "_damage", "_instigator"]; +//[format["GMS_fnc_unitHit: _unit = %1 | _source %2 | vehicle _source %3 | _instigator %4",_unit,_source, vehicle _source, _instigator]] call GMS_fnc_log; +if !(isPlayer _instigator) exitWith {}; +[_unit,_instigator] call GMS_fnc_alertVehicles; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Units/fn_unitKilled.sqf b/@GMS/addons/GMS/Compiles/Units/fn_unitKilled.sqf new file mode 100644 index 0000000..fed1d8e --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Units/fn_unitKilled.sqf @@ -0,0 +1,135 @@ +/* + Handle AI Deaths + By Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_unit","_killer","_instigator"]; +if (isNull _killer || {isNull _instigator}) exitWith {}; +//[format["GMS_fnc_unitKilled: _unit = %1 | _killer = %2 | vehicle killer = %3", _unit, _killer, typeOf (vehicle _killer)]] call GMS_fnc_log; +private _role = assignedVehicleRole _instigator; +//[format["GMS_fnc_unitKilled: _role killer = %1", _role]] call GMS_fnc_log; +private _cf = 1; +private _wep = currentWeapon _instigator; +private _creditKill = true; +private _isRunover = false; +if !(_role isEqualTo []) then // _instigator was in a vehicle of some sort +{ + //[format["GMS_fnc_unitKilled: vehRole killer = %1", _role select 0]] call GMS_fnc_log; + switch (_role select 0) do + { + case "driver": + { + /* + GMS_runoverProtection = true; + GMS_runoverRespectPenalty = 25; + GMS_runoverMoneyPenalty = 0; + */ + if (GMS_runoverProtection) then + { + _cf = 0; + _creditKill = false; + _isRunover = true; + [_unit] call GMSCore_fnc_unitRemoveAllGear; + { + deleteVehicle _x; + } forEach nearestObject[_unit,["WeaponHolderSimulated","groundWeaponHolder"],2]; + }; + //[["GMS_fnc_unitKilled: unit %1 run over by %2 with %3",_unit,_instigator,vehicle _instigator]] call GMS_fnc_log; + }; + case "turret": + { + _cf = 0.3; + _wep = (vehicle _instigator) currentWeaponTurret (_role select 1); + if (_wep in GMS_forbidenWeapons) then + { + _cf = 0; + _creditKill = false; + [_unit] call GMSCore_fnc_unitRemoveAllGear; + { + deleteVehicle _x; + } forEach nearestObject[_unit,["WeaponHolderSimulated","groundWeaponHolder"],2]; + }; + //[format["GMS_fnc_unitKilled: _unit %1 | killed from vehicle %2 | by %3 | using %4",_unit, vehicle _instigator,name _instigator,_wep]] call GMS_fnc_log; + }; + case "cargo": {}; + }; +}; +//[format["GMS_fnc_unitKilled: _unit %1 | _killer %2 | _instigator %3 | vehicle _killer %4",_unit,_killer,_instigator,vehicle _killer]] call GMS_fnc_log; +//diag_log format["GMS_fnc_unitKilled: _unit %1 | _killer %2 | | weapon = %3 | doing all that stuff now", _unit,_killer, currentWeapon _killer]; +private _difficulty = (group _unit) getVariable["GMS_difficulty","Red"]; +private _index = [_difficulty] call GMS_fnc_getIndexFromDifficulty; +private _rewards = GMS_rewards select _index; +private _distance = _unit distance _killer; +_baseReward = round([_rewards select 0] call GMSCore_fnc_getNumberFromRange); +_baseExperience = round([_rewards select 0] call GMSCore_fnc_getNumberFromRange); +private _reward = 0; +private _experience = 0; +private _killstreak = 0; +[_unit,_instigator] call GMS_fnc_alertVehicles; +if !(vehicle _unit isEqualTo _unit) then +{ + if (GMS_killEmptyStaticWeapons) then + { + private _isEmplaced = (group _unit) getVariable ["soldierType",""]; + if (isEmplaced || {(vehicle _unit isKindOf "StaticWeapon")}) then + { + (vehicle _unit) setDamage 2.0; + }; + }; +}; +if (_isRunover) then +{ + _reward = GMS_runoverMoneyPenalty; + _experience = GMS_runoverRespectPenalty; +} else { + private _distanceBonus = round(_distance / 100) max 5; + _killstreak = _instigator getVariable["GMS_killStreak",0]; + _lastUpdated = _instigator getVariable["GMS_lastKill",-30000]; + if (diag_tickTime < _lastUpdated + 300) then + { + _killStreak = _killStreak + 1; + } else { + _killStreak = 1; + }; + _instigator setvariable["GMS_killStreak",_killStreak]; + _instigator setVariable["GMS_lastKill",diag_tickTime]; + private _killsBonus = _killstreak max 10; + _reward = round((_baseReward + _killsBonus) * _cf); // Crypto in Epoch, Tabs in Exile + _experience = round((_baseExperience + _distanceBonus) * _cf); // Karma in Epoch, Respect in Exile +}; + +switch (GMSCore_modtype) do { + case "Epoch": { + [_instigator, _reward] call GMSCore_fnc_giveTakeCrypto; + [_instigator,_experience,false] call GMSCore_fnc_setKarma; + }; + case "Exile": { + [_instigator, _reward] call GMSCore_fnc_giveTakeTabs; + [_instigator, _experience] call GMSCore_fnc_giveTakeRespect; + }; +}; +//diag_log format["GMS_fnc_unitKilled: _mod %3 | _reward %1 | _experience %2",_reward,_experience,GMSCore_modtype]; + +if (_creditKill) then +{ + [_instigator,1] call GMSCore_fnc_updatePlayerKills; + private _msg = format[ + "%1 killed %2 with %3 at %4 meters %5X KILLSTREAK", + name _instigator, + name _unit, + getText(configFile >> "CfgWeapons" >> currentWeapon _instigator >> "displayName"), + _unit distance _instigator, + _killstreak + ]; + + [_instigator, _reward, _experience, name _unit, _unit distance _instigator, getText(configFile >> "CfgWeapons" >> currentWeapon _instigator >> "displayName"), _killstreak, GMS_killMessageToAllPlayers,GMS_killMessageTypesKiller,GMS_killMessagingRadius] remoteExec ["GMSCore_fnc_killedMessages",allPlayers]; +}; + diff --git a/@GMS/addons/GMS/Compiles/Utils/fn_log.sqf b/@GMS/addons/GMS/Compiles/Utils/fn_log.sqf new file mode 100644 index 0000000..a836286 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Utils/fn_log.sqf @@ -0,0 +1,23 @@ +/* + GMS_fnc_log + + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params[["_message","Unknown Message"],["_code",""]]; + +switch (toLowerANSI _code) do +{ + case "error": {_message = format["[GMS] %1",_message]}; + case "warning": {_message = format["[GMS] %1",_message]}; + default {_message = format["[GMS] %1",_message]}; +}; +diag_log _message; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Vehicles/GMS_fnc_applyVehicleDamagePenalty.sqf b/@GMS/addons/GMS/Compiles/Vehicles/GMS_fnc_applyVehicleDamagePenalty.sqf new file mode 100644 index 0000000..0476ed2 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/GMS_fnc_applyVehicleDamagePenalty.sqf @@ -0,0 +1,14 @@ +/* + + By Ghostrider-GRG- + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_vk"]; +_vk setDamage ((damage _vk) + GMS_RunGearDamage); \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Vehicles/GMS_fnc_configureMissionVehicle.sqf b/@GMS/addons/GMS/Compiles/Vehicles/GMS_fnc_configureMissionVehicle.sqf new file mode 100644 index 0000000..e0e19ea --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/GMS_fnc_configureMissionVehicle.sqf @@ -0,0 +1,37 @@ + +/* + By Ghostrider [GRG] + + GMS_fnc_configureMissionVehicle + + Parameters: + _veh - The vehicle to handle + + Returns + -veh + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_veh"]; + +if (GMSCore_modtype isEqualTo "Epoch") then +{ + // Adds compatability with Halv's black market traders + if (GMS_allowSalesAtBlackMktTraders) then {_veh setVariable["HSHALFPRICE",1,true]}; +}; +if (GMSCore_modtype isEqualTo "Exile") then +{ + // Adds compatability with claim vehicle scripts + if (GMS_allowClaimVehicle) then + { + _veh setVariable ["ExileIsPersistent", false]; + }; +}; + +_veh diff --git a/@GMS/addons/GMS/Compiles/Vehicles/GMS_fnc_handleVehicleGetOut.sqf b/@GMS/addons/GMS/Compiles/Vehicles/GMS_fnc_handleVehicleGetOut.sqf new file mode 100644 index 0000000..8056790 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/GMS_fnc_handleVehicleGetOut.sqf @@ -0,0 +1,20 @@ +/* + By Ghostrider [GRG] + GMS_fnc_handleVehicleGetOut + Processes an event that fires when a unit gets out of a vehicle + + Parameters + _veh: the vehicle from which a unit ejected or got out. + + Returns + None + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#define veh _this select 0 +if ((isServer) || {local (veh)}) then {[veh] call GMS_fnc_checkForEmptyVehicle}; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Vehicles/fn_alertVehicles.sqf b/@GMS/addons/GMS/Compiles/Vehicles/fn_alertVehicles.sqf new file mode 100644 index 0000000..f5d4100 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/fn_alertVehicles.sqf @@ -0,0 +1,29 @@ +/* + GMS_fnc_alertVehicles + By Ghostrider-GRG + Copyright 2022 + + Parameters: + _unit: the object that was attacked or killed + _instigator: the object that pulled the trigger + + Returns + None +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_unit","_instigator"]; +private _lastAlert = (group _unit) getVariable["GMS_lastAlert",0]; +if (diag_tickTime < (_lastAlert + 5)) exitWith {}; // so this function is not totally spammed +(group _unit) setVariable["GMS_lastAlert",diag_tickTime]; +private _difficulty = (group _unit) getVariable["GMS_difficulty","Red"]; +private _index = [_difficulty] call GMS_fnc_getIndexFromDifficulty; +private _nearAir = GMS_aircraftPatrols select {_x distance _unit < 1500}; +private _nearLand = GMS_landVehiclePatrols select {_x distance _unit < 800}; +private _intelligence = GMS_AIIntelligence select ([_difficulty] call GMS_fnc_getIndexFromDifficulty); +{ + private _grp = group(driver _x); + private _knowsAbout = _grp knowsAbout _instigator; + _grp reveal[_instigator,_intelligence]; + [(leader _grp),_instigator] call GMSCore_fnc_setHunt; + [(leader _grp), _instigator] call GMSCore_fnc_nextWaypointAreaPatrol; +} forEach (_nearAir + _nearLand); \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Vehicles/fn_checkForEmptyVehicle.sqf b/@GMS/addons/GMS/Compiles/Vehicles/fn_checkForEmptyVehicle.sqf new file mode 100644 index 0000000..f796f9a --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/fn_checkForEmptyVehicle.sqf @@ -0,0 +1,25 @@ +/* + GMS_fnc_checkForEmptyVehicle + + By Ghostrider [GRG] + Copyright 2016 + + Parameters: + _veh - the vehicle to check. + + Returns: + None + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_veh"]; +if (crew(_veh) isEqualTo [] || {({alive _x} count (crew _veh) isEqualTo 0)}) then +{ + [_veh] call GMS_fnc_handleEmptyVehicle; +}; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Vehicles/fn_deleteAIVehicle.sqf b/@GMS/addons/GMS/Compiles/Vehicles/fn_deleteAIVehicle.sqf new file mode 100644 index 0000000..a511057 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/fn_deleteAIVehicle.sqf @@ -0,0 +1,17 @@ +/* + GMS_fnc_deleteAIVehicle + + by Ghostrider + Copyright 2022 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_veh"]; +GMS_monitoredVehicles deleteAt (GMS_monitoredVehicles find _veh); +deleteVehicle _veh; diff --git a/@GMS/addons/GMS/Compiles/Vehicles/fn_handleEmptyVehicle.sqf b/@GMS/addons/GMS/Compiles/Vehicles/fn_handleEmptyVehicle.sqf new file mode 100644 index 0000000..aac4604 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/fn_handleEmptyVehicle.sqf @@ -0,0 +1,46 @@ +/* + GMS_fnc_handleEmptyVehicle + + By Ghostrider [GRG] + Copywright 2022 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_veh"]; + +if (isServer) then +{ + if ({alive _x} count (crew _veh) == 0 || {crew(_veh) isEqualTo []}) then + { + if (_veh getVariable["GRG_vehType","none"] isEqualTo "emplaced") then + { + if (GMS_killEmptyStaticWeapons) then + { + _veh setDamage 1; + _veh setVariable["GMS_deleteAtTime",diag_tickTime + 60,true]; + }else { + [_veh] call GMS_fnc_releaseVehicleToPlayers; //Call this from _processAIKill + _veh setVariable["GMS_deleteAtTime",diag_tickTime + GMS_vehicleDeleteTimer,true]; + }; + } else { + if (GMS_killEmptyAIVehicles) then + { + _veh setDamage 0.7; + _veh setFuel 0; + _veh setVariable["GMS_deleteAtTime",diag_tickTime + 60]; + } else { + _veh setVariable["GMS_deleteAtTime",diag_tickTime + GMS_vehicleDeleteTimer,true]; + [_veh] call GMS_fnc_releaseVehicleToPlayers; + }; + }; + }; +}; + + + diff --git a/@GMS/addons/GMS/Compiles/Vehicles/fn_loadVehicleCrew.sqf b/@GMS/addons/GMS/Compiles/Vehicles/fn_loadVehicleCrew.sqf new file mode 100644 index 0000000..1bc1037 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/fn_loadVehicleCrew.sqf @@ -0,0 +1,23 @@ +/* + By Ghostrider [GRG] + Copywrite 2022 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +if (isNil "GMS_blacklisted_vehicle_weapons") then {GMS_blacklisted_vehicle_weapons = []}; +params["_veh","_group",["_crewCount",4]]; +private _units = units _group; + +for "_i" from 1 to _crewCount do +{ + if (_units isEqualTo []) exitWith {}; + _crew = _units deleteAt 0; + _crew moveInAny _veh; +}; +{deleteVehicle _x} forEach _units; + diff --git a/@GMS/addons/GMS/Compiles/Vehicles/fn_protectVehicle.sqf b/@GMS/addons/GMS/Compiles/Vehicles/fn_protectVehicle.sqf new file mode 100644 index 0000000..eb1d764 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/fn_protectVehicle.sqf @@ -0,0 +1,21 @@ +/* + By Ghostrider-GRG + Copywrithe 2022 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_veh"]; + +if (GMSCore_modtype isEqualTo "Epoch") then +{ + _veh call EPOCH_server_setVToken; +}; + + + diff --git a/@GMS/addons/GMS/Compiles/Vehicles/fn_releaseVehicleToPlayers.sqf b/@GMS/addons/GMS/Compiles/Vehicles/fn_releaseVehicleToPlayers.sqf new file mode 100644 index 0000000..298dda9 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/fn_releaseVehicleToPlayers.sqf @@ -0,0 +1,31 @@ + +/* + By Ghostrider-GRG- + And Ignatz-HeMan + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_veh"]; +if (local _veh) then +{ + _veh lock 1; +} +else +{ + [_veh, 1] remoteExecCall ["lock", _veh]; +}; + +{ + _veh removealleventhandlers _x; +} forEach ["Local","GetIn","GetOut","fired","hit","hitpart","reloaded","dammaged","HandleDamage"]; +{ + _veh removeAllMPEventHandlers _x; +} forEach ["MPHit","MPKilled"]; +if ((damage _veh) > 0.6) then {_veh setDamage 0.6}; // So they don't blow up when a player tries to get in. diff --git a/@GMS/addons/GMS/Compiles/Vehicles/fn_revealNearbyPlayers.sqf b/@GMS/addons/GMS/Compiles/Vehicles/fn_revealNearbyPlayers.sqf new file mode 100644 index 0000000..a994536 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/fn_revealNearbyPlayers.sqf @@ -0,0 +1,55 @@ + +/* + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_vehicle","_searchRadius","_detectionOdds"]; +private["_player","_detectionOdds","_nearbyPlayers","_knowsAbout","_cansee","_knowledgeGained"]; +_nearbyPlayers = [getPosATL _vehicle, _vehicle getVariable["GMS_vehicleSearchRange",500]] call GMS_fnc_nearestPlayers; + +switch GMS_revealMode do { + case "detailed": { + private["_crew"]; + _crew = crew _vehicle; + if !(_crew isequalto []) then { + { + if (random(1) < _detectionOdds) then { + _player = _x; + { + _cansee = [objNull, "VIEW"] checkVisibility [eyePos _x, getPosATL _player]; + if (_cansee > 0) then { + _knowledgeGained = _cansee; + } + else { + _knowledgeGained = _x knowsAbout _player; + if (_knowledgeGained == 0) then {_knowledgeGained = 0.1}; + }; + _x reveal[_player,_knowledgeGained]; + }forEach _crew; + }; + }forEach _nearbyPlayers; + }; + }; + case "basic": { + { + _player = _x; + if (random(1) < _detectionOdds) then { + _knowsAbout = (_vehicle) knowsAbout _player; + if (_knowsAbout > 0) then { + _knowledgeGained = _knowsAbout; + } + else { + _knowledgeGained = (_searchRadius - (_x distance _vehicle))/_searchRadius; + }; + _x reveal[_player, _knowledgeGained]; + }; + }forEach _nearbyPlayers; + }; +}; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Vehicles/fn_scanForPlayersNearVehicles.sqf b/@GMS/addons/GMS/Compiles/Vehicles/fn_scanForPlayersNearVehicles.sqf new file mode 100644 index 0000000..fa8bee0 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/fn_scanForPlayersNearVehicles.sqf @@ -0,0 +1,19 @@ +/* + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +// GMS_fnc_vehiclePlayerSensingLogic.sqf +// No params +private["_searchRadius","_detectionOdds"]; +{ + _searchRadius = _x getVariable["GMS_vehicleSearchRadius",800]; + _detectionOdds = _x getVariable["GMS_vehiclePlayerDetectionOdds",0.5]; + [_x,_searchRadius,_detectionOdds] call GMS_fnc_revealNearbyPlayers; +}forEach GMS_monitoredVehicles; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Vehicles/fn_selectPatrolVehicle.sqf b/@GMS/addons/GMS/Compiles/Vehicles/fn_selectPatrolVehicle.sqf new file mode 100644 index 0000000..34ee1a4 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/fn_selectPatrolVehicle.sqf @@ -0,0 +1,20 @@ +/* + By Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_aiDifficulty"]; +private _choices = missionNameSpace getVariable [format["GMS_AIPatrolVehicles%1",_aiDifficulty],GMS_AIPatrolVehicles]; +private _vehicle = selectRandom _choices; +//diag_log format["GMS_fnc_selectPatrolVehicle returning %1 | _choices = %2",_vehicle,_choices]; +_vehicle + + + diff --git a/@GMS/addons/GMS/Compiles/Vehicles/fn_spawnMissionHeli.sqf b/@GMS/addons/GMS/Compiles/Vehicles/fn_spawnMissionHeli.sqf new file mode 100644 index 0000000..5f83c73 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/fn_spawnMissionHeli.sqf @@ -0,0 +1,63 @@ +/* + + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +private["_chopperType","_patrolHeli","_launcherType","_unitPilot","_unitCrew","_mags","_turret","_return","_abort","_supplyHeli","_minDist","_maxDist"]; +[format["GMS_fnc_spawnMissionHeli: _this = %1",_this]] call GMS_fnc_log; +params["_coords","_skillAI","_helis",["_uniforms",[]], ["_headGear",[]],["_vests",[]],["_backpacks",[]],["_weaponList",[]],["_sideArms",[]],["_Launcher","none"],["_crewCount",4]]; + +#define heliPatrolAreaDimensions [800,800] +private _grpPilot = [_coords,_crewCount,_skillAI,heliPatrolAreaDimensions,_uniforms,_headgear,_vests,_backpacks,_weaponList,_sideArms,false] call GMS_fnc_spawnGroup; +_abort = if (isNull _grpPilot) then{true} else {false}; +if !(isNull _grpPilot) then +{ + + _grpPilot setBehaviour "SAFE"; + _grpPilot setCombatMode "RED"; + _grpPilot setSpeedMode "NORMAL"; + _grpPilot allowFleeing 0; + _grpPilot setVariable["patrolCenter",_coords]; + _grpPilot setVariable["minDis",_minDist]; + _grpPilot setVariable["maxDis",_maxDist]; + _grpPilot setVariable["timeStamp",diag_tickTime]; + _grpPilot setVariable["arc",0]; + _grpPilot setVariable["wpRadius",0]; + _grpPilot setVariable["wpMode","SAD"]; + + #define aircraftPatrolRadius 800 + #define aircraftWaypointTimeout [1,1.5,2] + + //[_coords,_minDist,_maxDist,_grpPilot,"random","SAD","aircraft",aircraftPatrolRadius,aircraftWaypointTimeout] call GMS_fnc_setupWaypoints; + + GMS_monitoredMissionAIGroups pushBack _grpPilot; + + //create helicopter and spawn it + if ((_helis) isEqualType []) then + { + _chopperType = selectRandom _helis + } else { + _chopperType = _helis + }; + + _patrolHeli = [_chopperType,_coords,"FLY"] call GMS_fnc_spawnVehicle; + [_patrolHeli,2] call GMS_fnc_configureMissionVehicle; + _patrolHeli setVariable["GMS_vehicleSearchRadius",GMS_playerDetectionRangeAir]; + _patrolHeli setVariable["GMS_vehiclePlayerDetectionOdds",GMS_vehiclePlayerDetectionOdds]; + _patrolHeli setFuel 1; + _patrolHeli engineOn true; + _patrolHeli flyInHeight 100; + [_patrolHeli,_grpPilot,_crewCount] call GMS_fnc_loadVehicleCrew; + GMS_aircraftPatrols pushBack _patrolHeli; +}; +[format["GMS_fnc_spawnMissionHeli: _patrolHeli = %1 | _grpPilot = %2",_patrolHeli,_grpPilot]] call GMS_fnc_log; +[_patrolHeli,_grpPilot,_abort]; + diff --git a/@GMS/addons/GMS/Compiles/Vehicles/fn_spawnVehicle.sqf b/@GMS/addons/GMS/Compiles/Vehicles/fn_spawnVehicle.sqf new file mode 100644 index 0000000..0463fa1 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/fn_spawnVehicle.sqf @@ -0,0 +1,60 @@ +/* + GMS_fnc_spawnVehicle + By Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_vehType",["_pos",[]],["_special","NONE"],["_radius",30]]; + +private _veh = createVehicle[_vehType, _pos, [], _radius, _special]; +if (count _pos == 2) exitWith { + _pos pushBack 0; + [format["_fnc_spawnVehicle(20): _pos had only 2 parameters, new value = %1",_pos],'warning'] call GMS_fnc_log; +}; +if (_pos isEqualTo []) exitWith +{ + [format["_fnc_spawnVehicle(20): _pos undefined, now set to [0,0,0]"],'warning'] call GMS_fnc_log; +}; +_veh setVectorUp surfaceNormal getPosATL _veh; +_veh allowDamage true; +_veh enableRopeAttach true; +_veh setVariable["GMS_vehicle",true]; +[_veh] call GMS_fnc_protectVehicle; +[_veh] call GMSCore_fnc_emptyObjectInventory; +if (_vehType isKindOf "Plane") then { + private _pos = [_pos select 0, _pos select 1, ((getPos _veh) select 2) + 400]; + _veh setPosATL _pos; + // adapted from: https://community.bistudio.com/wiki/setVelocity + private _vel = velocity _veh; + private _dir = direction _veh; + #define speedIncr 150 + _veh setVelocity [ + (_vel select 0) + (sin _dir * speedIncr), + (_vel select 1) + (cos _dir * speedIncr), + (_vel select 2) + ]; + _veh flyInHeightASL [200,100,400]; +}; +if (_vehType isKindOf "Helicopter") then +{ + private _pos = [_pos select 0, _pos select 1, ((getPos _veh) select 2) + 100]; + _veh setPosATL _pos; + private _vel = velocity _veh; + private _dir = direction _veh; + #define speedIncr 25 + _veh setVelocity [ + (_vel select 0) + (sin _dir * speedIncr), + (_vel select 1) + (cos _dir * speedIncr), + (_vel select 2) + ]; + _veh flyInHeightASL [200,100,400]; +}; +_veh + diff --git a/@GMS/addons/GMS/Compiles/Vehicles/fn_spawnVehiclePatrol.sqf b/@GMS/addons/GMS/Compiles/Vehicles/fn_spawnVehiclePatrol.sqf new file mode 100644 index 0000000..36637b9 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/fn_spawnVehiclePatrol.sqf @@ -0,0 +1,43 @@ +/* + GMS_fnc_spawnVehiclePatrol + + By Ghostrider [GRG] + Copyright 2016 + + spawns a vehicle of _vehType and mans it with units in _group. + returns _veh, the vehicle spawned. + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +params["_center","_pos",["_vehType","I_G_Offroad_01_armed_F"],["_minDis",40],["_maxDis",60],["_group",grpNull],["_setWaypoints",true],["_crewCount",4],["_patrolRadius",150],["_waypointTimeout",[5,7.5,10]]]; + +if (_group isEqualTo grpNull) exitWith + { + diag_log format["_fnc_spawnVehiclePatrol(30): Function can not accept a null group"]; +}; + +private _veh = objNull; + +_veh = [_vehType,_pos] call GMS_fnc_spawnVehicle; + +_veh setVariable["GMS_vehicleSearchRadius",GMS_playerDetectionRangeGroundVehicle]; +_veh setVariable["GMS_vehiclePlayerDetectionOdds",GMS_vehiclePlayerDetectionOdds]; +private _maxCrew = [_crewCount] call GMSS_fnc_getNumberFromRange; +[_veh,_group,_maxCrew] call GMS_fnc_loadVehicleCrew; + +[_veh,2] call GMS_fnc_configureMissionVehicle; +// TODO: Use GMS_fnc waypoint initiation +if (_setWaypoints) then +{ + [_center,_minDis,_maxDis,_group,"perimeter","SAD","vehicle",_patrolRadius,_waypointTimeout] spawn GMS_fnc_setupWaypoints; +}; + +_veh + + diff --git a/@GMS/addons/GMS/Compiles/Vehicles/fn_vehicleHit.sqf b/@GMS/addons/GMS/Compiles/Vehicles/fn_vehicleHit.sqf new file mode 100644 index 0000000..ee96912 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/fn_vehicleHit.sqf @@ -0,0 +1,17 @@ +/* + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +if !(local (_this select 0)) exitWith {}; +params ["_vehicle", "_source", "_damage", "_instigator"]; +//[format["GMS_fnc_vehicletHit: _vehicle = %1 | typeOf _vehicle %2 | _instigator %32",_vehicle,typeOf _vehicle, _instigator]] call GMS_fnc_log; +if !(isPlayer _instigator) exitWith {}; +[_unit,_instigator] call GMS_fnc_alertVehicles; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Vehicles/fn_vehicleKilled.sqf b/@GMS/addons/GMS/Compiles/Vehicles/fn_vehicleKilled.sqf new file mode 100644 index 0000000..7b35bdd --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/fn_vehicleKilled.sqf @@ -0,0 +1,17 @@ +/* + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +if !(local (_this select 0)) exitWith {}; +params ["_unit", "_killer", "_instigator"]; +if !(isPlayer _instigator) exitWith {}; +[_unit,_instigator] call GMS_fnc_alertVehicles; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Vehicles/fn_vehicleMonitor.sqf b/@GMS/addons/GMS/Compiles/Vehicles/fn_vehicleMonitor.sqf new file mode 100644 index 0000000..c89000e --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Vehicles/fn_vehicleMonitor.sqf @@ -0,0 +1,41 @@ +/* + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +// TODO: Test that vehicles that are either scheduled for deletion are for deletion pending change in owner are proparly handled (kept in the list, deleted when the time arrives). +private _serverIDs = ([2] + (entities "HeadlessClient_F")); +for "_i" from 1 to (count GMS_monitoredVehicles) do +{ + if (_i > (count GMS_monitoredVehicles)) exitWith {}; + private _veh = GMS_monitoredVehicles deleteAt 0; + if !(_veh isEqualTo objNull) then + { + // if the owner is a player do not add back for further monitoring + if ((owner _veh) in (_serverIDs)) then + { + if ((_veh getVariable ["GMS_deleteAtTime",0]) > 0) then + { + if (diag_tickTime > ( _veh getVariable ["GMS_deleteAtTime",0])) then + { + [_veh] call GMSCore_fnc_destroyVehicleAndCrew; + } else { + GMS_monitoredVehicles pushBack _veh; + }; + } else { + [_veh] call GMS_fnc_checkForEmptyVehicle; + GMS_monitoredVehicles pushBack _veh; + }; + } else { + + }; + }; +}; diff --git a/@GMS/addons/GMS/Compiles/init/GMS_defines.hpp b/@GMS/addons/GMS/Compiles/init/GMS_defines.hpp new file mode 100644 index 0000000..476a1be --- /dev/null +++ b/@GMS/addons/GMS/Compiles/init/GMS_defines.hpp @@ -0,0 +1,80 @@ +/* + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +// defines for mission initialization and monitoring +#define missionNotspawned 0 // Mission marker spawned but nothing else is +#define missionInitialized 1 // All mission material is spawned and mission is active +#define missionLandscapeSpawned 1 +#define missionSmokeSpawned 1 +#define missionLootCratesSpawned 1 +#define missionEmplacedSpawned 1 +#define missionVehiclePatrolsSpawned 1 +#define missionInfantrySpawned 1 +#define missionAircraftPatrolsSpawned 1 +#define missionActive 0 +#define missionComplete 1 + + +//#define GMS_debugMode +#define GRGserver +//#define GMS_addCarParts +#define GMS_triggerLoopCompleteTime 40*60 +#define max_distance_crate_moved_uncompleted_mission 120 +#define onFoot 1 +#define inVehicle 2 + +// Defines for difficulty +#define GMS_blue 1 +#define GMS_red 2 +#define GMS_green 3 +#define GMS_orange 4 + +// Defines for mission characteristics +#define playerNear 0 +#define allUnitsKilled 1 +#define allKilledOrPlayerNear 2 +#define assetSecured 3 +#define atMissionSpawnGround 0 +#define atMissionSpawnAir 1 +#define atMissionEndGround 2 +#define atMissionEndAir 3 + +// defines for static group spawners +#define staticPatrolTriggerRange 2000 +#define groupParameters 0 +#define patrolGroup 1 +#define groupSpawned 2 +#define timesSpawned 3 +#define respawnAt 4 +#define GMS_playerDetectionRangeAir 800 +#define GMS_playerDetectionRangeGroundVehicle 400 +#define GMS_vehiclePlayerDetectionOdds 0.6 +#define GMS_playerDetectionRangeSubs 100 +#define GMS_playerDetectionRangeSurfaceVehicle 150 +#define GMS_simulationEnabledDistance 2500 +#define GMS_simulationManagementOff 0 +#define GMS_useBlckeaglsSimulationManager 1 +#define GMS_useDynamicSimulationManagement 2 +#define GMS_simulationManagementOff 0 +#define GMS_useBlckeaglsSimulationManagement 1 +#define GMS_useDynamicSimulationManagement 2 + +#define GMS_maxPatrolRadiusHelisBlue 300 +#define GMS_maxPatrolRadiusHelisRed 400 +#define GMS_maxPatrolRadiusHelisGreen 500 +#define GMS_maxPatrolRadiusHelisOrange 650 + +#define GMS_turnBackRadiusInfantry 800 +#define GMS_turnBackRadiusVehicles 1000 +#define GMS_turnBackRadiusHelis 1000 +#define GMS_turnBackRadiusJets 1500 diff --git a/@GMS/addons/GMS/Compiles/init/GMS_dynamicConfigs.sqf b/@GMS/addons/GMS/Compiles/init/GMS_dynamicConfigs.sqf new file mode 100644 index 0000000..f1c9844 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/init/GMS_dynamicConfigs.sqf @@ -0,0 +1,226 @@ +/* + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +GMS_headgearList = []; +GMS_SkinList = []; +GMS_vests = []; +GMS_backpacks = []; +GMS_Pistols = []; +GMS_primaryWeapons = []; +//GMS_throwable = []; + +_allWeaponRoots = ["Pistol","Rifle","Launcher"]; +_allWeaponTypes = ["AssaultRifle","MachineGun","SniperRifle","Shotgun","Rifle","Pistol","SubmachineGun","Handgun","MissileLauncher","RocketLauncher","Throw","GrenadeCore"]; +_addedBaseNames = []; +_allBannedWeapons = []; +_wpnAR = []; //Assault Rifles +_wpnARG = []; //Assault Rifles with GL +_wpnLMG = []; //Light Machine Guns +_wpnSMG = []; //Sub Machine Guns +_wpnDMR = []; //Designated Marksman Rifles +_wpnLauncher = []; +_wpnSniper = []; //Sniper rifles +_wpnHandGun = []; //HandGuns/Pistols +_wpnShotGun = []; //Shotguns +_wpnThrow = []; // throwables +_wpnUnknown = []; //Misc +_wpnUnderbarrel = []; +_wpnMagazines = []; +_wpnOptics = []; +_wpnPointers = []; +_wpnMuzzles = []; +_allBannedWearables = []; +_uniforms = []; +_headgear = []; +_glasses = []; +_masks = []; +_backpacks = []; +_vests = []; +_goggles = []; +_NVG = []; +_misc = []; +_baseClasses = []; + +_classnameList = []; +diag_log format["GMSCore_modtype = %1",GMSCore_modtype]; +if (toLower(GMSCore_modtype) isEqualTo "epoch") then +{ + _classnameList = (missionConfigFile >> "CfgPricing" ) call BIS_fnc_getCfgSubClasses; +}; +if (toLower(GMSCore_modtype) isEqualTo "exile") then +{ + _classnameList = (missionConfigFile >> "CfgExileArsenal" ) call BIS_fnc_getCfgSubClasses; +}; +private _dlcList = []; +private _ffaa = []; +private _lago = []; +private _cupw = []; +diag_log format["_fnc_dynamicConfigsConfigurator: count _classnameList = %1",count _classnameList]; +{ + private _configName = ""; + switch (true) do + { + case isClass(configFile >> "CfgMagazines" >> _x): { _configName = "CfgMagazines"; }; + case isClass(configFile >> "CfgVehicles" >> _x): { _configName = "CfgVehicles"; }; + case isClass(configFile >> "CfgAmmo" >> _x): { _configName = "CfgAmmo"; }; + case isClass(configFile >> "CfgGlasses" >> _x): { _configName = "CfgGlasses"; }; + default { _configName = "CfgWeapons"; }; + }; + + private _dlc = getText(configFile >> _configName >> _x >> "DLC"); + + /* + // Example of code you can use to: a) list the DLCs used; b) generate a list of items from a given DLC; + // See also the second code block that writes the information to the logs begining on line 161 + + _dlcList pushBackUnique _dlc; + + if (_dlc isEqualTo "LAGO") then {_lago pushBackUnique _x}; + if (_dlc isEqualTo "FFAA" || _dlc isEqualTo "FFAAMOD") then {_ffaa pushBackUnique _x}; + if (_dlc isEqualTo "CUP_Weapons") then {_cupw pushBackUnique _x}; + */ + + if !(_dlc in GMS_blackListedMods) then + { + private _temp = [_x] call bis_fnc_itemType; + _itemCategory = _temp select 0; + _itemType = _temp select 1; + _price = GMS_maximumItemPriceInAI_Loadouts; + if (toLower(GMSCore_modtype) isEqualTo "epoch") then + { + _price = getNumber(missionConfigFile >> "CfgPricing" >> _x >> "price"); + }; + if (toLower(GMSCore_modtype) isEqualTo "exile") then + { + _price = getNumber(missionConfigFile >> "CfgExileArsenal" >> _x >> "price"); + }; + if (_price < GMS_maximumItemPriceInAI_Loadouts && !(["base",_x] call BIS_fnc_inString)) then + { + if (_itemCategory isEqualTo "Weapon") then + { + switch (_itemType) do + { + case "AssaultRifle": {if !(_x in GMS_blacklistedSecondaryWeapons) then {_wpnAR pushBack _x} else {if (GMS_logBlacklistedItems) then {diag_log format["Assualt Rifle %1 Excluded: blacklisted Item",_x]}}}; + case "MachineGun": {if !(_x in GMS_blacklistedSecondaryWeapons) then {_wpnLMG pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Machine Gun %1 Excluded: blacklisted Item",_x]}}}; + case "SubmachineGun": {if !(_x in GMS_blacklistedSecondaryWeapons) then {_wpnSMG pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Submachinegun %1 Excluded: blacklisted Item",_x]}}}; + case "Shotgun": {if !(_x in GMS_blacklistedSecondaryWeapons) then {_wpnShotGun pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Shotgun %1 Excluded: blacklisted Item",_x]}}}; + case "Rifle": {if !(_x in GMS_blacklistedSecondaryWeapons) then {_wpnAR pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Rifle %1 Excluded: blacklisted Item",_x]}}}; + case "SniperRifle": {if !(_x in GMS_blacklistedSecondaryWeapons) then {_wpnSniper pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Sniper Rifle %1 Excluded: blacklisted Item",_x]}}}; + case "Handgun": {if !(_x in GMS_blacklistedSecondaryWeapons) then {_wpnHandGun pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Handgun %1 Excluded: blacklisted Item",_x]}}}; + case "Launcher": {if !(_x in GMS_blacklistedLaunchersAndSwingWeapons) then {_wpnLauncher pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Launcher %1 Excluded: blacklisted Item",_x]}}}; + case "RocketLauncher": {if !(_x in GMS_blacklistedLaunchersAndSwingWeapons) then {_wpnLauncher pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Rocket Launcer %1 Excluded: blacklisted Item",_x]}}}; + case "Throw": {if !(_x in GMS_blacklistedItems) then {_wpnThrow pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Throw %1 Excluded: blacklisted Item",_x]}}}; + }; + }; + + if (_itemCategory isEqualTo "Item") then + { + switch (_itemType) do + { + case "AccessoryMuzzle": {if !(_x in GMS_blacklistedAttachments) then {_wpnMuzzles pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Muzzle %1 Excluded: blacklisted Item",_x]}}}; + case "AccessoryPointer": {if !(_x in GMS_blacklistedAttachments) then {_wpnPointers pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Pointer %1 Excluded: blacklisted Item",_x]}}}; + case "AccessorySights": {if !(_x in GMS_blacklistedOptics) then {_wpnOptics pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Optic %1 Excluded: blacklisted Item",_x]}}}; + case "AccessoryBipod": {if !(_x in GMS_blacklistedAttachments) then {_wpnUnderbarrel pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Bipod %1 Excluded: blacklisted Item",_x]}}}; + case "Binocular": {if !(_x in GMS_blacklistedItems) then {_misc pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Binocular/Rangefinder/Binocular %1 Excluded: blacklisted Item",_x]}}}; + case "Compass": {if !(_x in GMS_blacklistedItems) then {_misc pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Compass %1 Excluded: blacklisted Item",_x]}}}; + case "GPS": {if !(_x in GMS_blacklistedItems) then {_misc pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["GPS %1 Excluded: blacklisted Item",_x]}}}; + case "NVGoggles": {if !(_x in GMS_blacklistedItems) then {_NVG pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["NVG %1 Excluded: blacklisted Item",_x]}}}; + }; + }; + + + if (_itemCategory isEqualTo "Equipment") then + { + switch (_itemType) do + { + case "Glasses": {if !(_x in GMS_blacklistedItems) then {_glasses pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Glasses %1 Excluded: blacklisted Item",_x]}}}; + case "Headgear": {if !(_x in GMS_blacklistedHeadgear) then {_headgear pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Headgear %1 Excluded: blacklisted Item",_x]}}}; + case "Vest": {if !(_x in GMS_blacklistedVests) then {_vests pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Vest %1 Excluded: blacklisted Item",_x]}}}; + case "Uniform": {if !(_x in GMS_blacklistedUniforms) then {_uniforms pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Uniform %1 Excluded: blacklisted Item",_x]}}}; + case "Backpack": {if !(_x in GMS_blacklistedBackpacks) then {_backpacks pushBack _x}else {if (GMS_logBlacklistedItems) then {diag_log format["Backpack %1 Excluded: blacklisted Item",_x]}}}; + }; + }; + } else { + //if (["base",_x] call BIS_fnc_inString) then {diag_log format["_dynamicConfigs: excluding class %1",_x]}; + }; + }; +} forEach _classnameList; +private _allWep = _wpnAR + _wpnLMG + _wpnSMG + _wpnShotGun + _wpnSniper + _wpnHandGun; + +/* + // Example of code you can use to: a) list DLCs; b) list items from specific DLCs +{ + diag_log format["_dlcList %1 = %2",_forEachIndex,_x]; +} forEach _dlcList; + +{ + diag_log format["_ffaa %1 = %2",_forEachIndex,_x]; +}forEach _ffaa; +{ + diag_log format["_lago %1 = %2",_forEachIndex,_x]; +} forEach _lago; +{ + diag_log format["_cupw %1 = %2",_forEachIndex,_x]; +} forEach _cupw; +*/ + +GMS_primaryWeapons = _wpnAR + _wpnLMG + _wpnSMG + _wpnShotGun + _wpnSniper; +GMS_WeaponList_Blue = GMS_primaryWeapons; +GMS_WeaponList_Red = GMS_primaryWeapons; +GMS_WeaponList_Green = GMS_primaryWeapons; +GMS_WeaponList_Orange = GMS_primaryWeapons; + +/* + //here is an example for checking that weapons in the FFAA mod were added to the list of primary weapons + +private _absentWep = []; +{ + if !(_x in _allWep) then {diag_log format["_absentWep %1 = %2",_forEachIndex,_x];}; +} forEach _ffaa + _lago + _cupw; +*/ + +GMS_pistols = _wpnHandGun; +GMS_Pistols_blue = GMS_Pistols; +GMS_Pistols_red = GMS_Pistols; +GMS_Pistols_green = GMS_Pistols; +GMS_Pistols_orange = GMS_Pistols; + +GMS_headgearList = _headgear; +GMS_headgear_blue = GMS_headgearList; +GMS_headgear_red = GMS_headgearList; +GMS_headgear_green = GMS_headgearList; +GMS_headgear_orange = GMS_headgearList; + +GMS_SkinList = _uniforms; +GMS_SkinList_blue = GMS_SkinList; +GMS_SkinList_red = GMS_SkinList; +GMS_SkinList_green = GMS_SkinList; +GMS_SkinList_orange = GMS_SkinList; + +GMS_vests = _vests; +GMS_vests_blue = GMS_vests; +GMS_vests_red = GMS_vests; +GMS_vests_green = GMS_vests; +GMS_vests_orange = GMS_vests; + +GMS_backpacks = _backpacks; +GMS_backpacks_blue = GMS_backpacks; +GMS_backpacks_red = GMS_backpacks; +GMS_backpacks_green = GMS_backpacks; +GMS_backpacks_orange = GMS_backpacks; + +GMS_explosives = _wpnThrow; + +diag_log format["Compilation of dynamic AI Loadouts complete at %1",diag_tickTime]; diff --git a/@GMS/addons/GMS/Compiles/init/GMS_fnc_findWorld.sqf b/@GMS/addons/GMS/Compiles/init/GMS_fnc_findWorld.sqf new file mode 100644 index 0000000..c3e7b81 --- /dev/null +++ b/@GMS/addons/GMS/Compiles/init/GMS_fnc_findWorld.sqf @@ -0,0 +1,60 @@ +/* + Determine the map name, set the map center and size, and return the map name. + Trader coordinates were pulled from the config.cfg + Inspired by the Vampire and DZMS + Last Modified 9/3/16 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ + + + Notes: + Setting GMS_maxSeaSearchDistance = 0; + Prevents these missions from being spawned. +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +diag_log format["[GMS] Loading Map-specific settings with worldName = %1",worldName]; +switch (toLowerANSI worldName) do +{// These may need some adjustment - including a test for shore or water should help as well to avoid missions spawning on water. + case "altis":{GMS_mapCenter = [12000,10000,0]; GMS_mapRange = 25000; GMS_maxGradient = 0.20;GMS_maxSeaSearchDistance = 20000;}; + case "stratis":{GMS_mapCenter = [3900,4500,0]; GMS_mapRange = 4500; GMS_maxGradient = 0.20;GMS_maxSeaSearchDistance = 5000;}; + case "tanoa":{GMS_mapCenter = [9000,9000,0]; GMS_mapRange = 10000; GMS_maxGradient = 0.20;GMS_maxSeaSearchDistance = 10000;}; + case "malden":{ GMS_mapCenter = [6000,7000,0]; GMS_mapRange = 6000; GMS_maxGradient = 0.20;GMS_maxSeaSearchDistance = 5500;}; + case "enoch":{GMS_mapCenter = [6500,6000,0]; GMS_mapRange = 5800; GMS_maxGradient = 0.20; GMS_maxSeaSearchDistance = 20000;}; + case "gm_weferlingen_summer":{GMS_mapCenter = [10000,10000,0]; GMS_mapRange = 10000; GMS_maxGradient = 0.20; GMS_maxSeaSearchDistance = 0}; + case "gm_weferlingen_winter":{GMS_mapCenter = [10000,10000,0]; GMS_mapRange = 10000; GMS_maxGradient = 0.20; GMS_maxSeaSearchDistance = 0;}; + case "chernarus":{GMS_mapCenter = [7100, 7750, 0]; GMS_mapRange = 5300; GMS_maxGradient = 0.20; GMS_maxSeaSearchDistance = 6000;}; + case "namalsk":{GMS_mapCenter = [5700, 8700, 0]; GMS_mapRange = 10000; GMS_maxGradient = 0.20; GMS_maxSeaSearchDistance = 5000;}; + case "chernarus_summer":{GMS_mapCenter = [7100, 7750, 0]; GMS_mapRange = 6000; GMS_maxGradient = 0.20; GMS_maxSeaSearchDistance = 6000;}; + case "chernarus_winter":{GMS_mapCenter = [7100, 7750, 0]; GMS_mapRange = 6000; GMS_maxGradient = 0.20; GMS_maxSeaSearchDistance = 6000;}; + case "cup_chernarus_a3":{GMS_mapCenter = [7100, 7750, 0]; GMS_mapRange = 6000; GMS_maxGradient = 0.20; GMS_maxSeaSearchDistance = 6000;}; + case "bornholm":{GMS_mapCenter = [11240, 11292, 0];GMS_mapRange = 14400; GMS_maxGradient = 0.20; GMS_maxSeaSearchDistance = GMS_mapRange;}; + case "esseker":{GMS_mapCenter = [6049.26,6239.63,0]; GMS_mapRange = 6000; GMS_maxGradient = 0.20; GMS_maxSeaSearchDistance = 0;}; + case "taviana":{GMS_mapCenter = [10370, 11510, 0];GMS_mapRange = 14400; GMS_maxGradient = 0.20; GMS_maxSeaSearchDistance = GMS_mapRange;}; + case "napf": {GMS_mapCenter = [10240,10240,0]; GMS_mapRange = 14000; GMS_maxGradient = 0.30; GMS_maxSeaSearchDistance = 12000;}; + case "australia": {GMS_mapCenter = [20480,20480, 150];GMS_mapRange = 40960; GMS_maxGradient = 0.20;GMS_maxSeaSearchDistance = GMS_mapRange;}; + case "panthera3":{GMS_mapCenter = [4400, 4400, 0];GMS_mapRange = 4400; GMS_maxGradient = 0.40;GMS_maxSeaSearchDistance = GMS_mapRange;}; + case "isladuala":{GMS_mapCenter = [4400, 4400, 0];GMS_mapRange = 4400; GMS_maxGradient = 0.40;GMS_maxSeaSearchDistance = GMS_mapRange;}; + case "sauerland":{GMS_mapCenter = [12800, 12800, 0];GMS_mapRange = 12800; GMS_maxGradient = 0.20;GMS_maxSeaSearchDistance = 0;}; + case "trinity":{GMS_mapCenter = [6400, 6400, 0];GMS_mapRange = 6400; GMS_maxGradient = 0.20;GMS_maxSeaSearchDistance = GMS_mapRange;}; + case "utes":{GMS_mapCenter = [3500, 3500, 0];GMS_mapRange = 3500; GMS_maxGradient = 0.20;}; + case "zargabad":{GMS_mapCenter = [4096, 4096, 0];GMS_mapRange = 4096; GMS_maxGradient = 0.20;GMS_maxSeaSearchDistance = 0;}; + case "fallujah":{GMS_mapCenter = [3500, 3500, 0];GMS_mapRange = 3500; GMS_maxGradient = 0.20;GMS_maxSeaSearchDistance = 0;}; + case "tavi":{GMS_mapCenter = [10370, 11510, 0];GMS_mapRange = 14090; GMS_maxGradient = 0.40; GMS_maxSeaSearchDistance = 12000;}; + case "lingor":{GMS_mapCenter = [4400, 4400, 0];GMS_mapRange = 4400; GMS_maxGradient = 0.20;GMS_maxSeaSearchDistance = GMS_mapRange;}; + case "takistan":{GMS_mapCenter = [5500, 6500, 0];GMS_mapRange = 5000; GMS_maxGradient = 0.20;GMS_maxSeaSearchDistance = 0;}; + case "lythium":{GMS_mapCenter = [10000,10000,0];GMS_mapRange = 8500; GMS_maxGradient = 0.30; GMS_maxSeaSearchDistance = 0;}; + case "vt7": {GMS_mapCenter = [9000,9000,0]; GMS_mapRange = 9000; GMS_maxGradient = 0.20;}; + case "rof_mok": { + GMS_mapCenter = getArray(configFile >> "CfgWorlds" >> worldName >> "centerPosition"); + GMS_mapRange = worldsize /2; + GMS_maxGradient = 0.40; + GMS_maxSeaSearchDistance = worldsize / 2; + [format["worldName / center / worldsize / and range set for %1 / %2 / %3",worldName,GMS_mapCenter,worldSize,GMS_mapRange]] call GMS_fnc_log; + }; + default {GMS_mapCenter = [6322,7801,0]; GMS_mapRange = 6000; GMS_maxGradient = 0.20;GMS_maxSeaSearchDistance = GMS_mapRange;}; +}; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/init/GMS_fnc_getTraderCites.sqf b/@GMS/addons/GMS/Compiles/init/GMS_fnc_getTraderCites.sqf new file mode 100644 index 0000000..2c2f08a --- /dev/null +++ b/@GMS/addons/GMS/Compiles/init/GMS_fnc_getTraderCites.sqf @@ -0,0 +1,39 @@ +/* + By Ghostrider [GRG] + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +if ((toLowerANSI GMSCore_modtype) isEqualTo "epoch") then +{ + _blckListPrior = GMS_locationBlackList; + private _config = configFile >> "CfgEpoch"; + private _configWorld = _config >> worldname; + private _telePos = getArray(configFile >> "CfgEpoch" >> worldName >> "telePos" ); + { + GMS_locationBlackList pushback [_x select 3, 1000]; + } foreach _telePos; +}; + +if ((tolower GMSCore_modtype) isEqualTo "exile") then +{ + private _traderCites = allMapMarkers; + { + if (getMarkerType _x isEqualTo "ExileTraderZone" && GMS_blacklistTraderCities) then { + GMS_locationBlackList pushback [(getMarkerPos _x),1000]; + }; + + if ((getMarkerType _x isEqualTo "ExileSpawnZone") && GMS_blacklistSpawns) then { + GMS_locationBlackList pushback [(getMarkerPos _x),1000]; + }; + // + if (getMarkerType _x isEqualTo "ExileConcreteMixerZone" && GMS_listConcreteMixerZones) then { + GMS_locationBlackList pushback [(getMarkerPos _x),1000]; + }; + }forEach _traderCites; +}; diff --git a/@GMS/addons/GMS/Compiles/init/fn_init.sqf b/@GMS/addons/GMS/Compiles/init/fn_init.sqf new file mode 100644 index 0000000..b046a5d --- /dev/null +++ b/@GMS/addons/GMS/Compiles/init/fn_init.sqf @@ -0,0 +1,214 @@ +/* + by Ghostrider [GRG] + Last Modified 3/14/17 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "GMS_defines.hpp" + +/////////////////////////////////////////////// +// prevent the system from being started twice +////////////////////////////////////////////// +if !(isNil "GMS_missionSystemRunning") exitWith {"[GMS] Mission System already initialized"}; +GMS_missionSystemRunning = true; + +// Only run this on a dedicated server +if (hasInterface) exitWith +{ + "[GMS] Mission system may only be run on a dedicate server or headless client"; +}; +waitUntil {!isNil "GMSCore_Initialized"}; +diag_log format["[GMS] Loading GMS at %1",diag_tickTime]; +diag_log format["[GMS] GMSCore_modtype = %1 | GMSCore_side %2 | GMSCore_unitType %3",GMSCore_modtype,GMSCore_side,GMSCore_unitType]; + +// This block waits for the mod to start but is disabled for now +if ((toLowerANSI GMSCore_modtype) isEqualto "epoch") then { + //diag_log "[GMS] Waiting until EpochMod is ready..."; + //waitUntil {!isnil "EPOCH_SERVER_READY"}; + //diag_log "[GMS] EpochMod is ready...loading GMS"; +}; +if ((toLowerANSI GMSCore_modtype) isEqualTo "exile") then +{ + diag_log "[GMS] Waiting until ExileMod is ready ..."; + waitUntil {!isNil "PublicServerIsLoaded"}; + diag_log "[GMS] Exilemod is ready...loading GMS"; +}; + +// Just some housekeeping for ghost. +private _loadingStartTime = diag_tickTime; + +// compile functions +[] call compileFinal preprocessFileLineNumbers "\GMS\Compiles\GMS_functions.sqf"; +diag_log format["[GMS] Loaded Functions at %1",diag_tickTime]; +// Load Configs +[] call compile preprocessfilelinenumbers "\GMS\Configs\GMS_configs.sqf"; + +diag_log format["[GMS] Loaded Configs at %1",diag_tickTime]; + +waitUntil{(!isNil "GMS_simulationManager") && {(!isNil "GMS_debugLevel") && {!(isNil "GMS_configs_loaded")}}}; + +{ + private _var = missionNameSpace getVariable[_x,[]]; + [format["validating classnames and pricing for %1 | count = %2 | _x = %3",_x,count _var, _var]] call GMS_fnc_log; + _var = [_var,true] call GMSCore_fnc_checkClassnamesArray; + _var = [_var,true] call GMSCore_fnc_checkClassNamePrices; + //[format["GMS_init_server: Updated %1 | count = %2 | _x = %3",_x,count _var, _var]] call GMS_fnc_log; +} forEach [ + "GMS_patrolHelisBlue", + "GMS_patrolHelisRed", + "GMS_patrolHelisGreen", + "GMS_patrolHelisOrange", + "GMS_AIPatrolVehiclesBlue", + "GMS_AIPatrolVehiclesRed", + "GMS_AIPatrolVehiclesGreen", + "GMS_AIPatrolVehiclesOrange", + "GMS_tools", + "GMS_buildingMaterials", + "GMS_NVG", + "GMS_specialItems", + "GMS_ConsumableItems", + "GMS_vests_blue", + "GMS_vests_red", + "GMS_vests_green", + "GMS_vests_orange", + "GMS_SkinList_blue", + "GMS_SkinList_red", + "GMS_SkinList_green", + "GMS_SkinList_orange", + "GMS_headgear_blue", + "GMS_headgear_red", + "GMS_headgear_green", + "GMS_headgear_orange", + "GMS_backpacks_blue", + "GMS_backpacks_red", + "GMS_backpacks_green", + "GMS_WeaponList_Blue", + "GMS_WeaponList_Red", + "GMS_WeaponList_Green", + "GMS_WeaponList_Orange" +]; + +if ((toLowerANSI GMSCore_modtype) isEqualTo "default") then +{ + ["[GMS] Configuring Mission System for Default Settings..."] call GMS_fnc_log; +}; + + +// Load any user-defined specifications or overrides +// HINT: Use these for map-specific settings +#include "\GMS\Configs\GMS_custom_config.sqf"; + +if (GMS_debugLevel > 0) then {[format["Custom Configurations Loaded at %1",diag_tickTime]] call GMS_fnc_log}; +if (GMS_debugLevel > 0) then {[format["GMS_debugLevel = %1",GMS_debugLevel]] call GMS_fnc_log}; + +// Load vaariables used to store information for the mission system. +[] call compileFinal preprocessFileLineNumbers "\GMS\Compiles\GMS_variables.sqf"; +if (GMS_debugLevel > 0) then {diag_log format["Variables loaded at %1",diag_tickTime]}; + +// configure dynamic simulation management is this is being used. +if (GMS_simulationManager == 2) then +{ + "Group" setDynamicSimulationDistance 1800; + enableDynamicSimulationSystem true; +}; + +// find and set Mapcenter and size +call compileFinal preprocessFileLineNumbers "\GMS\Compiles\init\GMS_fnc_findWorld.sqf"; +if (GMS_debugLevel > 0) then {diag_log "Map-specific information defined"}; + + +// set up the lists of available missions for each mission category +#include "\GMS\Missions\GMS_missionLists.sqf"; +if (GMS_debugLevel > 0) then {diag_log "Mission Lists Loaded Successfully"}; +// TODO: merge in underwater / sea missions at some point + +switch (GMS_simulationManager) do +{ + case 2: {["dynamic simulation manager enabled"] call GMS_fnc_log}; + case 1: {["GMS simulation manager enabled"] call GMS_fnc_log}; + case 0: {["GMS simulation management disabled"] call GMS_fnc_log}; +}; + +if (GMS_blacklistTraderCities) then +{ + [] spawn compile preprocessfilelinenumbers "\GMS\Compiles\Init\GMS_fnc_getTraderCites.sqf"; +}; + + +_fn_setupLocationType = { + params[ "_locationType"]; + private _locations = nearestLocations [getArray (configFile >> "CfgWorlds" >> worldName >> "centerPosition"), [_locationType], worldSize]; + _locations +}; + +if (isNil "GMS_crateMoveAllowed") then {GMS_crateMoveAllowed = false}; + +private _villages = ["NameVillage"] call _fn_setupLocationType; +private _cites = ["NameCity"] call _fn_setupLocationType; +private _capitals = ["NameCityCapital"] call _fn_setupLocationType; +private _marine = ["NameMarine"] call _fn_setupLocationType; +private _other = ["NameLocal"] call _fn_setupLocationType; +private _airport = ["Airport"] call _fn_setupLocationType; + +GMS_townLocations = _villages + _cites + _capitals + _marine + _other + _airport; + +//Start the mission timers +if (GMS_enableOrangeMissions > 0) then +{ + [_missionListOrange,_pathOrange,"OrangeMarker","orange",GMS_TMin_Orange,GMS_TMax_Orange,GMS_enableOrangeMissions] call GMS_fnc_addMissionToQue; +}; +if (GMS_enableGreenMissions > 0) then +{ + [_missionListGreen,_pathGreen,"GreenMarker","green",GMS_TMin_Green,GMS_TMax_Green,GMS_enableGreenMissions] call GMS_fnc_addMissionToQue; +}; +if (GMS_enableRedMissions > 0) then +{ + [_missionListRed,_pathRed,"RedMarker","red",GMS_TMin_Red,GMS_TMax_Red,GMS_enableRedMissions] call GMS_fnc_addMissionToQue; +}; +if (GMS_enableBlueMissions > 0) then +{ + [_missionListBlue,_pathBlue,"BlueMarker","blue",GMS_TMin_Blue,GMS_TMax_Blue,GMS_enableBlueMissions] call GMS_fnc_addMissionToQue; +}; +if (GMS_numberUnderwaterDynamicMissions > 0) then +{ + if !(GMS_maxSeaSearchDistance == 0) then { + [_missionListUMS,_pathUMS,"UMSMarker","Red",GMS_TMin_UMS,GMS_TMax_UMS,GMS_numberUnderwaterDynamicMissions] call GMS_fnc_addMissionToQue; + }; +}; +#ifdef GRGserver +["Running GhostriderGaming Version"] call GMS_fnc_log; +if (GMS_enableScoutsMissions > 0) then +{ + [_missionListScouts,_pathScouts,"ScoutsMarker","red",GMS_TMin_Scouts,GMS_TMax_Scouts,GMS_enableScoutsMissions] call GMS_fnc_addMissionToQue; +}; + +if (GMS_enableHunterMissions > 0) then +{ + [_missionListHunters,_pathHunters,"HunterMarker","green",GMS_TMin_Hunter,GMS_TMax_Hunter,GMS_enableHunterMissions] call GMS_fnc_addMissionToQue; +}; + +// Running new version of Crash sites. +if (GMS_maxCrashSites > 0) then +{ + [] execVM "\GMS\Missions\HeliCrashs\Crashes2.sqf"; +}; +#endif + +// start the main thread for the mission system which monitors missions running and stuff to be cleaned up +[] spawn GMS_fnc_mainThread; +private _version = getText(configFile >> "GMSBuild" >> "Version"); +private _build = getText(configFile >> "GMSBuild" >> "Build"); +private _date = getText(configFile >> "GMSBuild" >> "Date"); +[format["Version %1 Build %2 Date %4 Loaded in %3 seconds", + _version, + _build, + diag_tickTime - _loadingStartTime, + _date] +] call GMS_fnc_log; + + diff --git a/@GMS/addons/GMS/Compiles/init/testCrateLoading.sqf b/@GMS/addons/GMS/Compiles/init/testCrateLoading.sqf new file mode 100644 index 0000000..b4f5cde --- /dev/null +++ b/@GMS/addons/GMS/Compiles/init/testCrateLoading.sqf @@ -0,0 +1,18 @@ + +uiSleep 5; +diag_log format["<< ---- START TEST Crate Loading ---- >>"]; +_coords = [12000,12000,0]; +//_loot = GMS_supportLoot; //[causes problems] GMS_highPoweredLoot; // [causes problems] GMS_contructionLoot ; //GMS_BoxLoot_Orange; +_loot = GMS_BoxLoot_Orange; +_lootCounts = [100,100,100,100,100,100]; +_aiDifficultyLevel = "Orange"; +for "_i" from 1 to 100 do +{ + diag_log format["testCrateLoading: pass %1",_i]; + _crateType = selectRandom GMS_crateTypes; + _crate = [_coords,_crateType] call GMS_fnc_spawnCrate; + [_crate,_loot,_lootCounts] call GMS_fnc_fillBoxes; + //uiSleep 0.1; + diag_log format["testCrateLoading: crate inventory = %1",getItemCargo _crate]; +}; + diff --git a/@GMS/addons/GMS/Configs/GMS_configs.sqf b/@GMS/addons/GMS/Configs/GMS_configs.sqf new file mode 100644 index 0000000..ba5bdcc --- /dev/null +++ b/@GMS/addons/GMS/Configs/GMS_configs.sqf @@ -0,0 +1,627 @@ +/* + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + + /* + changing any of these variables may break the mission system + */ + GMS_locationBlackList = []; // Do not touch ... + GMS_debugLevel = 0; // should be set to 0 ... + + [format["Loading configurations for Non-militarized servers"]] call GMS_fnc_log; + /* + ************************************** + Configurations begin here + ************************************** + */ + + GMS_simulationManager = GMS_useBlckeaglsSimulationManager; + GMS_hideRocksAndPlants = true; // When true, any rocks, trees or bushes under enterable buildings will be 'hidden' + + /* + GMS_simulationManagementOff - no simulation management occurs + GMS_useBlckeaglsSimulationManager - simulation is enabled/disabled by periodic checks for nearby players; a 'wake' function is included when a units simulation is turned on + GMS_useDynamicSimulationManagement 2 - arma dynamic simulation is used + */ + + /************************************************************** + + BLACKLIST LOCATIONS + + **************************************************************/ + // if true then missions will not spawn within 1000 m of spawn points for Altis, Bornholm, Cherno, Esseker or stratis. + GMS_blacklistTraderCities = true; // Set this = true if you would like the mission system to automatically search for the locations of the Epoch/Exile trader cities. Note that these are added to the list of blacklisted locations for Epoch for the most common maps. + + /*********************************************************** + + GENERAL MISSION SYSTEM CONFIGURATION + + ***********************************************************/ + +/////////////////////////////// +// Kill message configurations + +// This is the radius within which nearby players will receive any messages regaring AI Kills by other players +// the location of the killer is the center of this area +GMSAI_killMessagingRadius = 3000; + +GMS_killMessageToAllPlayers = [ + /* + These settings are used by GMSCore to determine what kinds of messages to use to notify players of a kill. + SystemChat can be broadcast to all players. + Comment out all options to disable this function (faster) + */ + + //"toast", // Exile only + //"epochMsg", // Epoch only + //"hint", + //"cutText", + //"dynamic", // A display with information about rewards formated in a list on the left side of the screen + // Not recommended + //"systemChat" +]; +GMS_killMessageTypesKiller = [ + /* + These settings are used by GMSCore to determine what kinds of messages to use to notify players of a kill. + SystemChat can be broadcast to all players. + The other notifications will only be viewed by the player reponsible for the kill. + */ + + //"toast", // Exile only + //"epochMsg", // Epoch only + //"hint", + //"cutText", + "dynamic", // A display with information about rewards formated in a list on the left side of the screen + "systemChat" +]; + GMS_useIEDMessages = true; // Displayes a message when a player vehicle detonates and IED (such as would happen if a player killed AI with a forbidden weapon). + +GMS_rewards = [[0,0],[0,0],[0,0],[0,0]]; + +switch (GMSCore_modType) do +{ + case "Epoch": { + // expressed as crypto min, crypto max + GMS_rewardsNotifications = ["dynamicText"]; + + // expressed as [][tabs min, tabs max],[respect min,respect max]] + GMS_rewardsBlue = [[5,10],[8,12]]; + GMS_rewardsRed = [[8,14],12,15]; + GMS_rewardsGreen = [[10,18],[15,20]]; + GMS_rewardsOrange = [[12,20],20,25]; + GMS_rewards = [GMS_rewardsBlue,GMS_rewardsRed,GMS_rewardsGreen,GMS_rewardsOrange]; + GMS_distanceBonus = 3; // per 100 M, max = 5 * this value; + GMS_killsBonus = 3; // from 2X up, max 6* this value + GMS_killstreakTimeout = 300; // 5 min + GMS_distantIncrementForCalculatingBonus = 100; + }; + case "Exile": { + // expressed as [][tabs min, tabs max],[respect min,respect max]] + GMS_rewardsBlue = [[5,10],[8,12]]; + GMS_rewardsRed = [[8,14],[12,15]]; + GMS_rewardsGreen = [[10,18],[15,20]]; + GMS_rewardsOrange = [[12,20],[20,25]]; + GMS_rewards = [GMS_rewardsBlue,GMS_rewardsRed,GMS_rewardsGreen,GMS_rewardsOrange]; + GMS_rewardsNotifications = ["dynamicText"]; + + GMS_respectBonusForKillstreaks = 3; + GMS_moneyGainedForKillstreaks = 3; // per kill of the current killstreak + + GMS_killstreakTimeout = 300; // 5 min + GMS_distantIncrementForCalculatingBonus = 100; + }; + case "default": { + GMS_rewardsNotifications = ["dynamicText"]; + GMS_killstreakTimeout = 300; // 5 min + }; +}; + /////////////////////////////// + // MISSION MARKER CONFIGURATION + // GMS_labelMapMarkers: Determines if when the mission composition provides text labels, map markers with have a text label indicating the mission type + //When set to true,"arrow", text will be to the right of an arrow below the mission marker. + // When set to true,"dot", ext will be to the right of a black dot at the center the mission marker. + GMS_labelMapMarkers = [true,"center"]; + GMS_preciseMapMarkers = true; // Map markers are/are not centered at the loot crate + GMS_showCountAliveAI = true; + + //Minimum distance between missions + GMS_MinDistanceFromMission = 1200; + GMS_minDistanceToBases = 250; + GMS_minDistanceToPlayer = 300; + GMS_minDistanceFromTowns = 200; + GMS_minDistanceFromDMS = 800; // minimum distance for a GMS mission from any nearby DMS missions. set to -1 to disable this check. + + /////////////////////////////// + // Mission Smoke and Signals + /////////////////////////////// + + // global loot crate options + // Options to spawn a smoking wreck near the crate. When the first parameter is true, a wreck or junk pile will be spawned. + // It's position can be either "center" or "random". smoking wreck will be spawned at a random location between 15 and 50 m from the mission. + GMS_SmokeAtMissions = [true,"random"]; // set to [false,"anything here"] to disable this function altogether. + GMS_useSignalEnd = true; // When true a smoke grenade/chemlight will appear at the loot crate for 2 min after mission completion. + GMS_missionEndCondition = allKilledOrPlayerNear; //allKilledOrPlayerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear + + /////////////////////////////// + // General Mission Completion and Loot Settings + /////////////////////////////// + GMS_killPercentage = 0.999999; // The mission will complete if this fraction of the total AI spawned has been killed. + // This facilitates mission completion when one or two AI are spawned into objects. + GMS_spawnCratesTiming = "atMissionSpawnGround"; // Choices: "atMissionSpawnGround","atMissionSpawnAir","atMissionEndGround","atMissionEndAir". + // Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute. + // This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission. + GMS_loadCratesTiming = "atMissionCompletion"; //""atMissionSpawn"; // valid choices are "atMissionCompletion" and "atMissionSpawn"; + // Pertains only to crates spawned at mission spawn. + // This sets the default but can be overridden for specific missions by defining _loadCratesTiming + + // Examples: + // To spawn crates at mission start loaded with gear set GMS_spawnCratesTiming = "atMissionSpawnGround" && GMS_loadCratesTiming = "atMissionSpawn" + // To spawn crates at mission start but load gear only after the mission is completed set GMS_spawnCratesTiming = "atMissionSpawnGround" && GMS_loadCratesTiming = "atMissionCompletion" + // To spawn crates on the ground at mission completion set GMS_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned. + // To spawn crates in the air and drop them by chutes set GMS_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned. + GMS_allowClaimVehicle = true; // Set this to true if you wish to allow players to claim vehicles using one of the claim vehicle scripts floating around. + + /////////////////////////////// + // PLAYER PENALTIES + /////////////////////////////// + + GMS_RunGear = true; // When set to true, AI that have been run over will ve stripped of gear, and the vehicle will be given GMS_RunGearDamage of damage. + GMS_RunGearDamage = 0.2; // Damage applied to player vehicle for each AI run over + GMS_VK_Gear = true; // When set to true, AI that have been killed by a player in a vehicle in the list of forbidden vehicles or using a forbiden gun will be stripped of gear and the vehicle will be given GMS_RunGearDamage of damage + GMS_VK_RunoverDamage = true; // when the AI was run over GMS_RunGearDamage of damage will be applied to the killer's vehicle. + GMS_VK_GunnerDamage = false; // when the AI was killed by a gunner on a vehicle that is is in the list of forbidden vehicles, GMS_RunGearDamage of damage will be applied to the killer's vehicle each time an AI is killed with a vehicle's gun. + + /* these are weapons, magazines, sensors to be disabled when a vehicle is spawned */ + GMS_forbidenWeapons = [ + /* + Examples: + "HMG_127","HMG_127_APC","HMG_M2","HMG_NSVT","GMG_40mm","autocannon_40mm_CTWS","autocannon_30mm_CTWS","autocannon_35mm","LMG_coax","autocannon_30mm","HMG_127_LSV_01" + */ + ]; + GMS_forbidenMagazines = [ + /* + Examples + "24Rnd_missiles","200Rnd_40mm_G_belt" + */ + ]; + GMS_disableInfrared = false; + GMS_disabledSensors = [ + /* + Current Arma Sensor (Arma 2.06) + "IRSensorComponent", + NVSensorComponent", + "LaserSensorComponent", + "ActiveRadarSensorComponent", + "VisualSensorComponent", + "ManSensorComponnet", + "DataLinkSensorComponent" + */ + ]; + + /////////////////////////////// + // MISC MISSION PARAMETERS + /////////////////////////////// + GMS_useKilledAIName = true; // When false, the name of the killer (player), weapon and distance are displayed; otherwise the name of the player, distance and name of AI unit killed are shown. + GMS_useMines = false; // when true mines are spawned around the mission area. these are cleaned up when a player reaches the crate. Turn this off if you have vehicle patrols. + GMS_cleanupCompositionTimer = 60*30; // Mission objects will be deleted after the mission is completed after a deley set by this timer. + GMS_cleanUpLootChests = false; // when true, loot crates will be deleted together with other mission objects. + GMS_MissionTimeout = 60*60; // 60 min - missions will timeout and respawn in another location. This prevents missions in impossible locations from persisting. + + /////////////////////////////// + // Paratroop Settings + // AI paratrooper reinforcement paramters + // The behavior of these can be linked to some degree to the spawning of patrolling helis. + // For example, if you always want a helicopter to spawn paratroops set the value 1. + // Recommended that you disable paratroops if using muliple aircraft/vehicle patrols + GMS_chanceParaBlue = 0; // [0 - 1] set to 0 to deactivate and 1 to always have paratroops spawn over the center of the mission. This value can be a range as well [0.1,0.3] + GMS_noParaBlue = 3; // [1-N] + + GMS_chanceParaRed = 0; + GMS_noParaRed = 3; + + GMS_chanceParaGreen = 0; + GMS_noParaGreen = 4; + + GMS_chanceParaOrange = 0; + GMS_noParaOrange = 4; + + // Supplemental Loot Parameters. + + /////////////////////////////// + // Heli Patrol Heli Types + // Armed Helis + ////////////////////////////// + + _GMS_littleBirds = ["B_Heli_Light_01_armed_F"]; // AH-9 Pawnee (WEST) + _GMS_armed_hellcats = ["I_Heli_light_03_F"]; + _GMS_armed_orcas = ["O_Heli_Light_02_F","O_Heli_Light_02_v2_F"]; + _GMS_armed_ghosthawks = ["B_Heli_Transport_01_F","B_Heli_Transport_01_camo_F"]; + _GMS_armed_hurons = ["B_Heli_Transport_03_F","B_Heli_Transport_03_black_F"]; + _GMS_armed_attackHelis = ["B_Heli_Attack_01_F"]; + _GMS_armed_heavyAttackHelis = ["O_Heli_Attack_02_F","O_Heli_Attack_02_black_F"]; + _GMS_fighters = [ + "O_Plane_CAS_02_F", // /ti-199 Neophron (CAS) + "I_Plane_Fighter_03_AA_F", // A-143 Buzzard (AA) + "I_Plane_Fighter_04_F", // A-149 Gryphon + "B_Plane_CAS_01_F", // A-164 Wipeout (CAS) + "B_Plane_Fighter_01_F" // F/A-181 Black Wasp II + ]; + + GMS_blacklisted_heli_ammo = ["24Rnd_missiles","24Rnd_PG_missiles","12Rnd_PG_missiles","2Rnd_LG_scalpel","6Rnd_LG_scalpel","8Rnd_LG_scalpel","M_Scalpel_AT ","14Rnd_80mm_rockets","38Rnd_80mm_rockets"]; + GMS_blacklisted_heli_weapons = ["missiles_SCALPEL","missiles_titan","rockets_Skyfire","missiles_DAGR","missiles_DAR"]; + //_cup_helis = ["uh1h_armed_EPOCH","uh1h_armed_plus_EPOCH"]; + _cup_Helis_missiles = ["CUP_B_412_dynamicLoadout_HIL","CUP_B_AW159_RN_Blackcat","CUP_B_AW159_RN_Blackcat"]; + _cup_attack_helis = []; + /////////////////////////////// + // Heli Patrol Settings + /////////////////////////////// + + GMS_chanceHeliPatrolBlue = 0.5; //[0 - 1] Set to 0 to deactivate and 1 to always have a heli spawn over the mission center and patrol the mission area. + // The chance of paratroops dropping from the heli is defined by GMS_chancePara(Blue|Red|Green|Orange) above. + // Recommend setting the change = 1 if you wish to spawn multiple helis at a mission. + GMS_patrolHelisBlue = _GMS_littleBirds; + GMS_noPatrolHelisBlue = 1; + + GMS_chanceHeliPatrolRed = 0.75; // 0.4; + GMS_patrolHelisRed = _GMS_littleBirds; + GMS_noPatrolHelisRed = 1; + + GMS_chanceHeliPatrolGreen = 0.85; + GMS_patrolHelisGreen = _GMS_armed_hellcats + _cup_Helis_missiles; // _GMS_armed_orcas + _GMS_armed_ghosthawks; //_GMS_littleBirds; + GMS_noPatrolHelisGreen = 1; + + GMS_chanceHeliPatrolOrange = 0.95; + GMS_patrolHelisOrange = _GMS_armed_heavyAttackHelis + _GMS_armed_attackHelis; //_GMS_littleBirds; + GMS_noPatrolHelisOrange = 1; + + //////////////////// + // Enable / Disable Missions + //////////////////// + + // Maximum number of missions shown on the map at any one time. + GMS_maxSpawnedMissions = 15; + + //Set to -1 to disable. Values of 2 or more force the mission spawner to spawn copies of that mission - this feature is not recommended because you may run out of available groups. + GMS_enableOrangeMissions = 1; + GMS_enableGreenMissions = 2; + GMS_enableRedMissions = 2; + GMS_enableBlueMissions = 1; + GMS_numberUnderwaterDynamicMissions = 0; // Values from -1 (no UMS) to N (N Underwater missions will be spawned; static UMS units and subs will be spawned. + + #ifdef GRGserver + GMS_enableHunterMissions = 1; + GMS_enableScoutsMissions =2; + GMS_maxcrashsites = 2; + #endif + + //////////////////// + // MISSION TIMERS + //////////////////// + + // Reduce to 1 sec for immediate spawns, or longer if you wish to space the missions out + GMS_TMin_Orange = 480; + GMS_TMin_Green = 420; + GMS_TMin_Blue = 300; + GMS_TMin_Red = 360; + GMS_TMin_UMS = 300; + + #ifdef GRGserver + GMS_TMin_Hunter = 340; + GMS_TMin_Scouts = 300; + GMS_TMin_Crashes = 300; + #endif + + //Maximum Spawn time between missions in seconds + GMS_TMax_Orange = 560; + GMS_TMax_Green = 500; + GMS_TMax_Blue = 360; + GMS_TMax_Red = 420; + GMS_TMax_UMS = 400; + + #ifdef GRGserver + GMS_TMax_Hunter = 400; + GMS_TMax_Scouts = 360; + GMS_TMax_Crashes = 360; + #endif + + /////////////////////////////// + // AI VEHICLE PATROL PARAMETERS + /////////////////////////////// + + GMS_useVehiclePatrols = true; // When true vehicles will be spawned at missions and will patrol the mission area. + GMS_killEmptyAIVehicles = false; // when true, the AI vehicle will be extensively damaged once all AI have gotten outor been killed. + GMS_vehicleDeleteTimer = 120*60; + //////////////////// + // Mission Vehicle Settings + //////////////////// + //Defines how many AI Vehicles to spawn. Set this to -1 to disable spawning of static weapons or vehicles. To discourage players runniing with with vehicles, spawn more B_GMG_01_high + GMS_SpawnVeh_Orange = [1,2]; // Number of static weapons at Orange Missions + GMS_SpawnVeh_Green = [1,2]; // Number of static weapons at Green Missions + GMS_SpawnVeh_Blue = 1; // Number of static weapons at Blue Missions + GMS_SpawnVeh_Red = 1; // Number of static weapons at Red Missions + + GMS_vehCrew_blue = 3; + GMS_vehCrew_red = 3; + GMS_vehCrew_green = 3; + GMS_vehCrew_orange = 3; + + /////////////////////////////// + // AI STATIC WEAPON PARAMETERS + /////////////////////////////// + + GMS_useStatic = true; // When true, AI will man static weapons spawned 20-30 meters from the mission center. These are very effective against most vehicles + GMS_killEmptyStaticWeapons = true; // When true, static weapons will have damage set to 1 when the AI manning them is killed. + GMS_staticWeapons = ["B_HMG_01_high_F","B_GMG_01_high_F"/*,"O_static_AT_F"*/]; // [0.50 cal, grenade launcher, AT Launcher] + + //////////////////// + // Mission Static Weapon Settings + //////////////////// + + // Defines how many static weapons to spawn. Set this to -1 to disable spawning + GMS_SpawnEmplaced_Orange = [3]; // Number of static weapons at Orange Missions + GMS_SpawnEmplaced_Green = [2]; // Number of static weapons at Green Missions + GMS_SpawnEmplaced_Blue = 1; // Number of static weapons at Blue Missions + GMS_SpawnEmplaced_Red = 1; // Number of static weapons at Red Missions + + + + /**************************************************************** + + GENERAL AI SETTINGS + + ****************************************************************/ + // When true, AI loadouts will be set from the class names in CfgPricing rather than the settings in the mod-specific configuration files + GMS_useConfigsGeneratedLoadouts = false; + GMS_logBlacklistedItems = true; + //GMS_maximumitempriceinai_loadouts = 1000; + // lists of black-listed items to be excluded from dynamic loadouts + + /* + A list of dlcs will be dumped during server start up. + You can comment out those you dont want to exclude + or identify and add others from the list generated when the dynamicConfigs script is run + */ + + GMS_blackListedMods = [ + // Uncomment to exclude items/weapons/uniforms/vest/headgear from being included. + // Add DLC names you wish to exluded as appropriate + // DLC names will be added to your server.RPT + //"Kart", + //"TANK", + //"ORANGE", + //"Heli", + //"Contact", + //"Enoch", + //"Orange", + //"Jets", + //"Mark", + //"Expansion" + ]; + GMS_blacklistedVests = [ + //"V_Press_F" + ]; + + GMS_blacklistedUniforms = [ + "U_I_Protagonist_VR", + "U_C_Protagonist_VR", + "U_O_Protagonist_VR", + "U_B_Protagonist_VR", + "Exile_Uniform_BambiOverall", + "Exile_Uniform_ExileCustoms" + ]; + + GMS_blacklistedBackpacks = [ + //"B_ViperLightHarness_blk_F" + "I_UAV_01_backpack_F", + "C_IDAP_UAV_06_backpack_F", + "C_IDAP_UAV_06_antimine_backpack_F", + "B_UAV_06_medical_backpack_F", + "TK_RPG_Backpack_Epoch" + ]; + + GMS_blacklistedHeadgear = [ + "H_HelmotO_ViperSP_ghex_F", + "H_HelmetO_VierSP_hex" + ]; + + GMS_blacklistedPrimaryWeapons = [ + //"srifle_LRR_tna_F" + "nl_auto_xbow", + "pvcrifle_01_F", + "ChainSaw", + "Hatchet", + "MultiGun", + "MeleeSledge", + "MeleeSword", + "Power_Sword", + "MeleeRod", + "CrudeHatchet", + "MeleeMaul", + "WoodClub", + "Plunger", + "sr25_epoch" + ]; + + GMS_blacklistedSecondaryWeapons = [ + "hgun_Pistol_heav_02_F", + "hgun_Pistol_tranq_01", + "nl_auto_xbow", + "pvcrifle_01_F", + "ChainSaw", + "Hatchet", + "MultiGun", + "MeleeSledge", + "MeleeSword", + "Power_Sword", + "MeleeRod", + "CrudeHatchet", + "MeleeMaul", + "WoodClub", + "Plunger" + ]; + + GMS_blacklistedLaunchersAndSwingWeapons = [ + + ]; + + GMS_blacklistedOptics = [ + //"optic_tws" + ]; + + GMS_blacklistedAttachments = [ + + ]; + + GMS_blacklistedItems = [ + + ]; + ///////////////////////////////////////////// + + GMS_groupBehavior = "SAFE"; // https://community.bistudio.com/wiki/ArmA:_AI_Combat_Modes + GMS_combatMode = "RED"; // Change this to "YELLOW" if the AI wander too far from missions for your tastes. + GMS_groupFormation = "WEDGE"; // Possibilities include "WEDGE","VEE","FILE","DIAMOND" + + GMS_useSmokeWhenHealing = true; // when true, injured AI will toss a smoke when they attempt to heal. + GMS_addAIMoney = false; + + GMS_useNVG = true; // When true, AI will be spawned with NVG if is dark + // No longer used. + GMS_removeNVG = false; // When true, NVG will be removed from AI when they are killed. + GMS_useLaunchers = true; // When true, some AI will be spawned with RPGs; they do not however fire on vehicles for some reason so I recommend this be set to false for now + //GMS_launcherTypes = ["launch_NLAW_F","launch_RPG32_F","launch_B_Titan_F","launch_I_Titan_F","launch_O_Titan_F","launch_B_Titan_short_F","launch_I_Titan_short_F","launch_O_Titan_short_F"]; + GMS_launcherTypes = ["launch_RPG32_F"]; //["CUP_launch_RPG7V"]; // + GMS_launchersPerGroup = 1; // Defines the number of AI per group spawned with a launcher + GMS_launcherCleanup = false;// When true, launchers and launcher ammo are removed from dead AI. + GMS_minimumPatrolRadius = 22; // AI will patrol within a circle with radius of approximately min-max meters. note that because of the way waypoints are completed they may more more or less than this distance. + GMS_maximumPatrolRadius = 45; + + //This defines how long after an AI dies that it's body disappears. + GMS_bodyCleanUpTimer = 60*45; // time in seconds after which dead AI bodies are deleted + // Each time an AI is killed, the location of the killer will be revealed to all AI within this range of the killed AI, set to -1 to disable + // values are ordered as follows [blue, red, green, orange]; + GMS_AliveAICleanUpTimer = 60*15; // Time after mission completion at which any remaining live AI are deleted. + + // How precisely player locations will be revealed to AI after an AI kill + // values are ordered as follows [blue, red, green, orange]; + GMS_AIAlertDistance = [250,450,700,900]; // Radius within which AI will be notified of enemy activity. Depricated as a group-sed system is used now. The group is informed of the enemy location when a group member is hit or killed. + // How precisely player locations will be revealed to AI after an AI kill + // values are ordered as follows [blue, red, green, orange]; + GMS_AIIntelligence = [0.3, 0.5, 0.7, 0.9]; + + GMS_baseSkill = 1.0; // The overal skill of the AI - range 0.1 to 1.0. + + /*************************************************************** + + MISSION TYPE SPECIFIC AI SETTINGS + + **************************************************************/ + //This defines the skill, minimum/Maximum number of AI and how many AI groups are spawned for each mission type + // Orange Missions + GMS_MinAI_Orange = 20; + GMS_MaxAI_Orange = 25; + GMS_AIGrps_Orange = 5; + GMS_SkillsOrange = [ + [0.20], // aiming accuracy + [0.65,0.75], // aiming speed + [0.25], // aiming shake + 1.0, // spot distance + 0.7, // spot time + 1.00, // courage + 1.00, // reload speed + 1.00, // commanding + 1.00 // general + ]; + + // Green Missions + GMS_MinAI_Green = 16; + GMS_MaxAI_Green = 21; + GMS_AIGrps_Green = 4; + GMS_SkillsGreen = [ + [0.18], // aiming accuracy + [0.55,0.7], // aiming speed + [0.18], // aiming shake + 0.9, // spot distance + 0.65, // spot time + 0.9, // courage + 0.9, // reload speed + 0.9, // comanding + 0.75 // general + ]; + + // Red Missions + GMS_MinAI_Red = 12; + GMS_MaxAI_Red = 15; + GMS_AIGrps_Red = 3; + GMS_SkillsRed = [ + [0.14], // aiming accuracy + 0.6, // aiming speed + [0.14], // aiming shake + 0.7, // spot distance + 0.6, // spot time + 0.80, // courage + 0.70, // reoload speed + 0.8, // comanding + 0.70 // general + ]; + + // Blue Missions + GMS_MinAI_Blue = 8; + GMS_MaxAI_Blue = 12; + GMS_AIGrps_Blue = 2; + GMS_SkillsBlue = [ + [0.08], // aiming accuracy + 0.5, // aiming speed + [0.08], // aiming shake + 0.6, // spot distance + 0.6, // spot time + 0.60, // courage + 0.60, // reoload speed + 0.7, // comanding + 0.60 // general + ]; + + // Add some money to AI; + GMS_maxMoneyOrange = 25; + GMS_maxMoneyGreen = 20; + GMS_maxMoneyRed = 15; + GMS_maxMoneyBlue = 10; + + // Define the chance of attachments and gear + GMS_chancePrimary = 1.0; + GMS_chanceOpticsPrimary = 0.4; + GMS_chanceMuzzlePrimary = 0.3; + GMS_chancePointerPrimary = 0.25; + GMS_chanceUnderbarrelPrimary = 0.25; + GMS_chanceSecondary = 0.5; + GMS_chanceOpticsSecondary = 0.4; + GMS_chancePointerSecondary = 0.4; + GMS_chanceMuzzleSecondary = 0.4; + GMS_chanceThowable = 0.5; + GMS_chanceHeadgear = 0.75; + GMS_chanceUniform = 1.0; + GMS_chanceBackpack = 0.2; // Chance AI will be spawned with a backpack + GMS_chanceVest = 0.1; + GMS_chanceBinoc = 0.75; + + private _configToLoad = format["\GMS\Configs\GMS_configs_%1.sqf",tolower(GMSCore_modtype)]; + //diag_log format["[GMS] _configToLoad = %1",_configToLoad]; + [] call compileFinal preprocessFileLineNumbers _configToLoad; + + if (GMS_useConfigsGeneratedLoadouts) then + { + ["Dynamic Configs Enabled"] call GMS_fnc_log; + execVM "\GMS\Configs\GMS_dynamicConfigs.sqf"; + }; + GMS_configsLoaded = true; + //diag_log format["<--- GMS_configs loaded at %1 --->",diag_tickTime]; diff --git a/@GMS/addons/GMS/Configs/GMS_configs_default.sqf b/@GMS/addons/GMS/Configs/GMS_configs_default.sqf new file mode 100644 index 0000000..44a85c6 --- /dev/null +++ b/@GMS/addons/GMS/Configs/GMS_configs_default.sqf @@ -0,0 +1,672 @@ +/* + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +//////////// +// default settings +//////////// + + // list of locations that are protected against mission spawns + + switch (toLower(worldName)) do + { + case "altis": { + GMS_locationBlackList append [ + //Add location as [[xpos,ypos,0],minimumDistance], + // Note that there should not be a comma after the last item in this table + [[10800,10641,0],1000] // isthmus - missions that spawn here often are glitched. + ]; + }; + case "tanoa": { + GMS_locationBlackList append [ ]; + }; + }; + +/********************************************************************************* + +AI WEAPONS, UNIFORMS, VESTS AND GEAR + +**********************************************************************************/ + + GMS_crateMoneyBlue = [100,250]; + GMS_crateMoneyRed = [175, 300]; + GMS_crateMoneyGreen = [300, 500]; + GMS_crateMoneyOrange = [500, 750]; + + GMS_crateTypes = ["Box_FIA_Ammo_F","Box_FIA_Support_F","Box_FIA_Wps_F","I_SupplyCrate_F","Box_NATO_AmmoVeh_F","Box_East_AmmoVeh_F","IG_supplyCrate_F","Box_NATO_Wps_F","I_CargoNet_01_ammo_F","O_CargoNet_01_ammo_F","B_CargoNet_01_ammo_F"]; // Default crate type. + + GMS_allowSalesAtBlackMktTraders = true; // Allow vehicles to be sold at Halvjes black market traders. + + GMS_maximumItemPriceInAI_Loadouts = 100; + + GMS_lightlyArmed_ARMA3 = [ + "B_G_Offroad_01_armed_F", + "O_G_Offroad_01_armed_F", + "B_MRAP_01_gmg_F", + "B_MRAP_01_hmg_F", + "O_MRAP_02_gmg_F", + "O_MRAP_02_hmg_F", + "I_MRAP_03_hmg_F", + "I_MRAP_03_gmg_F", + "B_APC_Wheeled_01_cannon_F", + "I_APC_Wheeled_03_cannon_F" + ]; + + GMS_light_AT_ARMA3 = [ + "O_G_Offroad_01_AT_F", + "B_G_Offroad_01_AT_F", + "O_T_LSV_02_AT_F", + "O_LSV_02_AT_F", + "B_T_LSV_01_AT_F", + "B_LSV_01_AT_F" + ]; + GMS_tracked_AA_ARMA3 = [ + "O_APC_Tracked_02_AA_F", + "B_APC_Tracked_01_AA_F" + ]; + GMS_tracked_APC_ARMA3 = [ + "B_APC_Tracked_01_rcws_F", + "B_APC_Tracked_01_CRV_F", + "O_APC_Tracked_02_cannon_F", + "O_APC_Wheeled_02_rcws_F", + "I_APC_tracked_03_cannon_F" + ]; + + GMS_Tanks_ARMA3 = [ + //"B_MBT_01_arty_F", + //"B_MBT_01_mlrs_F", + "B_MBT_01_TUSK_F", + "O_MBT_02_cannon_F", + //"O_MBT_02_arty_F", + "I_MBT_03_cannon_F" + ]; + + GMS_APC_CUP = [ + "CUP_B_Mastiff_GMG_GB_D", + "CUP_B_Mastiff_HMG_GB_D", + "CUP_B_Ridgback_HMG_GB_D", + "CUP_B_Ridgback_GMG_GB_D", + "CUP_B_M1128_MGS_Desert", + "CUP_B_M1135_ATGMV_Desert_Slat", + "CUP_B_M1133_MEV_Desert_Slat", + "CUP_B_LAV25M240_desert_USMC", + "CUP_B_M1129_MC_MK19_Desert_Slat", + "CUP_B_LAV25_HQ_desert_USMC", + "CUP_B_BRDM2_ATGM_CDF", + "CUP_B_BTR60_CDF", + "CUP_B_M1130_CV_M2_Desert_Slat", + "CUP_B_M1126_ICV_MK19_Desert_Slat", + "CUP_O_BTR90_RU", + "CUP_O_GAZ_Vodnik_BPPU_RU", + "CUP_B_M1126_ICV_M2_Desert", + "CUP_B_M1126_ICV_MK19_Desert", + "CUP_B_M1130_CV_M2_Desert", + "CUP_B_M1126_ICV_M2_Desert_Slat", + "CUP_B_M1133_MEV_Desert", + "CUP_O_GAZ_Vodnik_AGS_RU", + "CUP_O_GAZ_Vodnik_PK_RU" + ]; + + GMS_Tanks_CUP = [ + "CUP_B_M2A3Bradley_USA_D", + //"CUP_B_M113_desert_USA", + //"CUP_B_M163_USA", + "CUP_B_M6LineBacker_USA_D", + "CUP_B_M1A1_DES_US_Army", + "CUP_B_M1A2_TUSK_MG_DES_US_Army", + //"CUP_B_AAV_USMC", + //"CUP_B_M270_DPICM_USA", + "CUP_B_ZSU23_CDF", + //"CUP_B_BMP2_CDF", + "CUP_B_T72_CDF", + //"CUP_I_T34_NAPA", + "CUP_B_Challenger2_NATO", + //"CUP_B_FV432_Bulldog_GB_D_RWS", + //"CUP_B_FV432_Bulldog_GB_D", + "CUP_B_FV510_GB_D_SLAT", + //"CUP_B_MCV80_GB_D_SLAT", + //"CUP_O_2S6_RU", + "CUP_O_BMP3_RU", + "CUP_O_T90_RU", + "CUP_O_T55_SLA" //, + //"CUP_O_BMP1P_TKA", + //"CUP_B_M270_DPICM_USA", + //"CUP_B_M2Bradley_USA_W", + //"CUP_B_FV510_GB_D", + //"CUP_B_MCV80_GB_D", + //"CUP_B_M7Bradley_USA_D", + //"CUP_O_2S6_RU", + //"CUP_O_BMP1_TKA"" + ]; + + GMS_AIPatrolVehicles = ["B_LSV_01_armed_F","I_C_Offroad_02_LMG_F","B_T_LSV_01_armed_black_F","B_T_LSV_01_armed_olive_F","B_T_LSV_01_armed_sand_F"]; // Type of vehicle spawned to defend AI bases + GMS_AIPatrolVehiclesBlue = GMS_AIPatrolVehicles; + GMS_AIPatrolVehiclesRed = GMS_AIPatrolVehicles; + GMS_AIPatrolVehiclesGreen = GMS_AIPatrolVehicles; + GMS_AIPatrolVehiclesOrange = GMS_AIPatrolVehicles; + + // Blacklisted itesm + GMS_blacklistedOptics = ["optic_Nightstalker","optic_tws","optic_tws_mg"]; + + // AI Weapons and Attachments + GMS_bipods = ["bipod_01_F_blk","bipod_01_F_mtp","bipod_01_F_snd","bipod_02_F_blk","bipod_02_F_hex","bipod_02_F_tan","bipod_03_F_blk","bipod_03_F_oli"]; + + GMS_Optics_Holo = ["optic_Hamr","optic_MRD","optic_Holosight","optic_Holosight_smg","optic_Aco","optic_ACO_grn","optic_ACO_grn_smg","optic_Aco_smg","optic_Yorris"]; + GMS_Optics_Reticule = ["optic_Arco","optic_MRCO"]; + GMS_Optics_Scopes = [ + "optic_AMS","optic_AMS_khk","optic_AMS_snd", + "optic_DMS", + "optic_KHS_blk","optic_KHS_hex","optic_KHS_old","optic_KHS_tan", + "optic_LRPS", + "optic_Nightstalker", + "optic_NVS", + "optic_SOS", + "optic_tws" + //"optic_tws_mg", + ]; + GMS_Optics_Apex = [ + //Apex + "optic_Arco_blk_F", "optic_Arco_ghex_F", + "optic_DMS_ghex_F", + "optic_Hamr_khk_F", + "optic_ERCO_blk_F","optic_ERCO_khk_F","optic_ERCO_snd_F", + "optic_SOS_khk_F", + "optic_LRPS_tna_F","optic_LRPS_ghex_F", + "optic_Holosight_blk_F","optic_Holosight_khk_F","optic_Holosight_smg_blk_F" + ]; + GMS_Optics = GMS_Optics_Holo + GMS_Optics_Reticule + GMS_Optics_Scopes; + + GMS_Optics = GMS_Optics + GMS_Optics_Apex; + + GMS_silencers = [ + "muzzle_snds_338_black","muzzle_snds_338_green","muzzle_snds_338_sand","muzzle_snds_93mmg","muzzle_snds_93mmg_tan","muzzle_snds_acp","muzzle_snds_B", + "muzzle_snds_H","muzzle_snds_H_MG","muzzle_snds_H_SW","muzzle_snds_L","muzzle_snds_M", + //Apex + "muzzle_snds_H_khk_F","muzzle_snds_H_snd_F","muzzle_snds_58_blk_F","muzzle_snds_m_khk_F","muzzle_snds_m_snd_F","muzzle_snds_B_khk_F","muzzle_snds_B_snd_F", + "muzzle_snds_58_wdm_F","muzzle_snds_65_TI_blk_F","muzzle_snds_65_TI_hex_F","muzzle_snds_65_TI_ghex_F","muzzle_snds_H_MG_blk_F","muzzle_snds_H_MG_khk_F" + ]; + + GMS_RifleSniper = [ + "srifle_EBR_F","srifle_GM6_F","srifle_LRR_F","srifle_DMR_01_F" + ]; + + GMS_RifleAsault_556 = [ + "arifle_SDAR_F","arifle_TRG21_F","arifle_TRG20_F","arifle_TRG21_GL_F","arifle_Mk20_F","arifle_Mk20C_F","arifle_Mk20_GL_F","arifle_Mk20_plain_F","arifle_Mk20C_plain_F","arifle_Mk20_GL_plain_F","arifle_SDAR_F" + ]; + + GMS_RifleAsault_650 = [ + "arifle_Katiba_F","arifle_Katiba_C_F","arifle_Katiba_GL_F","arifle_MXC_F","arifle_MX_F","arifle_MX_GL_F","arifle_MXM_F" + ]; + + GMS_RifleAssault = GMS_RifleAsault_556 + GMS_RifleAsault_650; + + GMS_RifleLMG = [ + "LMG_Mk200_F","LMG_Zafir_F" + ]; + + GMS_RifleOther = [ + "SMG_01_F","SMG_02_F" + ]; + + GMS_Pistols = [ + "hgun_PDW2000_F","hgun_ACPC2_F","hgun_Rook40_F","hgun_P07_F","hgun_Pistol_heavy_01_F","hgun_Pistol_heavy_02_F","hgun_Pistol_Signal_F" + ]; + + GMS_Pistols_blue = GMS_Pistols; + GMS_Pistols_red = GMS_Pistols; + GMS_Pistols_green = GMS_Pistols; + GMS_Pistols_orange = GMS_Pistols; + + GMS_DLC_MMG = [ + "MMG_01_hex_F","MMG_02_sand_F","MMG_01_tan_F","MMG_02_black_F","MMG_02_camo_F" + ]; + + GMS_DLC_Sniper = [ + "srifle_DMR_02_camo_F","srifle_DMR_02_F","srifle_DMR_02_sniper_F","srifle_DMR_03_F","srifle_DMR_03_tan_F","srifle_DMR_04_F","srifle_DMR_04_Tan_F","srifle_DMR_05_blk_F","srifle_DMR_05_hex_F","srifle_DMR_05_tan_F","srifle_DMR_06_camo_F","srifle_DMR_06_olive_F" + ]; + GMS_apexWeapons = ["arifle_AK12_F","arifle_AK12_GL_F","arifle_AKM_F","arifle_AKM_FL_F","arifle_AKS_F","arifle_ARX_blk_F","arifle_ARX_ghex_F","arifle_ARX_hex_F","arifle_CTAR_blk_F","arifle_CTAR_hex_F", + "arifle_CTAR_ghex_F","arifle_CTAR_GL_blk_F","arifle_CTARS_blk_F","arifle_CTARS_hex_F","arifle_CTARS_ghex_F","arifle_SPAR_01_blk_F","arifle_SPAR_01_khk_F","arifle_SPAR_01_snd_F", + "arifle_SPAR_01_GL_blk_F","arifle_SPAR_01_GL_khk_F","arifle_SPAR_01_GL_snd_F","arifle_SPAR_02_blk_F","arifle_SPAR_02_khk_F","arifle_SPAR_02_snd_F","arifle_SPAR_03_blk_F", + "arifle_SPAR_03_khk_F","arifle_SPAR_03_snd_F","arifle_MX_khk_F","arifle_MX_GL_khk_F","arifle_MXC_khk_F","arifle_MXM_khk_F"]; + + //This defines the random weapon to spawn on the AI + //https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Weapons + GMS_WeaponList_Orange = GMS_RifleSniper + GMS_RifleAsault_650 + GMS_RifleLMG + GMS_DLC_Sniper + GMS_DLC_MMG; + GMS_WeaponList_Green = GMS_RifleSniper + GMS_RifleAsault_650 +GMS_RifleLMG + GMS_DLC_MMG + GMS_apexWeapons; + GMS_WeaponList_Blue = GMS_RifleOther + GMS_RifleAsault_556 +GMS_RifleAsault_650; + GMS_WeaponList_Red = GMS_RifleAsault_556 + GMS_RifleSniper + GMS_RifleAsault_650 + GMS_RifleLMG; + + #ifdef useAPEX + + GMS_WeaponList_Orange = GMS_WeaponList_Orange + GMS_apexWeapons; + GMS_WeaponList_Green = GMS_WeaponList_Green + GMS_apexWeapons; + #endif + + GMS_backpacks = ["B_Carryall_ocamo","B_Carryall_oucamo","B_Carryall_mcamo","B_Carryall_oli","B_Carryall_khk","B_Carryall_cbr" ]; + GMS_ApexBackpacks = [ + "B_Bergen_mcamo_F","B_Bergen_dgtl_F","B_Bergen_hex_F","B_Bergen_tna_F","B_AssaultPack_tna_F","B_Carryall_ghex_F", + "B_FieldPack_ghex_F","B_ViperHarness_blk_F","B_ViperHarness_ghex_F","B_ViperHarness_hex_F","B_ViperHarness_khk_F", + "B_ViperHarness_oli_F","B_ViperLightHarness_blk_F","B_ViperLightHarness_ghex_F","B_ViperLightHarness_hex_F","B_ViperLightHarness_khk_F","B_ViperLightHarness_oli_F" + ]; + + #ifdef useAPEX + GMS_backpacks = GMS_backpacks + GMS_ApexBackpacks; + #endif + + private _backpacks = GMS_backpacks; + + GMS_backpacks_blue = GMS_backpacks; + GMS_backpacks_red = GMS_backpacks; + GMS_backpacks_green = GMS_backpacks; + GMS_backpacks_orange = GMS_backpacks; + + GMS_BanditHeadgear = ["H_Shemag_khk","H_Shemag_olive","H_Shemag_tan","H_ShemagOpen_khk"]; + //This defines the skin list, some skins are disabled by default to permit players to have high visibility uniforms distinct from those of the AI. + GMS_headgear = [ + "H_Cap_blk", + "H_Cap_blk_Raven", + "H_Cap_blu", + "H_Cap_brn_SPECOPS", + "H_Cap_grn", + "H_Cap_headphones", + "H_Cap_khaki_specops_UK", + "H_Cap_oli", + "H_Cap_press", + "H_Cap_red", + "H_Cap_tan", + "H_Cap_tan_specops_US", + "H_Watchcap_blk", + "H_Watchcap_camo", + "H_Watchcap_khk", + "H_Watchcap_sgg", + "H_MilCap_blue", + "H_MilCap_dgtl", + "H_MilCap_mcamo", + "H_MilCap_ocamo", + "H_MilCap_oucamo", + "H_MilCap_rucamo", + "H_Bandanna_camo", + "H_Bandanna_cbr", + "H_Bandanna_gry", + "H_Bandanna_khk", + "H_Bandanna_khk_hs", + "H_Bandanna_mcamo", + "H_Bandanna_sgg", + "H_Bandanna_surfer", + "H_Booniehat_dgtl", + "H_Booniehat_dirty", + "H_Booniehat_grn", + "H_Booniehat_indp", + "H_Booniehat_khk", + "H_Booniehat_khk_hs", + "H_Booniehat_mcamo", + "H_Booniehat_tan", + "H_Hat_blue", + "H_Hat_brown", + "H_Hat_camo", + "H_Hat_checker", + "H_Hat_grey", + "H_Hat_tan", + "H_StrawHat", + "H_StrawHat_dark", + "H_Beret_02", + "H_Beret_blk", + "H_Beret_blk_POLICE", + "H_Beret_brn_SF", + "H_Beret_Colonel", + "H_Beret_grn", + "H_Beret_grn_SF", + "H_Beret_ocamo", + "H_Beret_red", + "H_Shemag_khk", + "H_Shemag_olive", + "H_Shemag_olive_hs", + "H_Shemag_tan", + "H_ShemagOpen_khk", + "H_ShemagOpen_tan", + "H_TurbanO_blk", + + //Apex + "H_MilCap_tna_F", + "H_MilCap_ghex_F", + "H_Booniehat_tna_F", + "H_Beret_gen_F", + "H_MilCap_gen_F", + "H_Cap_oli_Syndikat_F", + "H_Cap_tan_Syndikat_F", + "H_Cap_blk_Syndikat_F", + "H_Cap_grn_Syndikat_F" + ]; + GMS_helmets = [ + "H_HelmetB", + "H_HelmetB_black", + "H_HelmetB_camo", + "H_HelmetB_desert", + "H_HelmetB_grass", + "H_HelmetB_light", + "H_HelmetB_light_black", + "H_HelmetB_light_desert", + "H_HelmetB_light_grass", + "H_HelmetB_light_sand", + "H_HelmetB_light_snakeskin", + "H_HelmetB_paint", + "H_HelmetB_plain_blk", + "H_HelmetB_sand", + "H_HelmetB_snakeskin", + "H_HelmetCrew_B", + "H_HelmetCrew_I", + "H_HelmetCrew_O", + "H_HelmetIA", + "H_HelmetIA_camo", + "H_HelmetIA_net", + "H_HelmetLeaderO_ocamo", + "H_HelmetLeaderO_oucamo", + "H_HelmetO_ocamo", + "H_HelmetO_oucamo", + "H_HelmetSpecB", + "H_HelmetSpecB_blk", + "H_HelmetSpecB_paint1", + "H_HelmetSpecB_paint2", + "H_HelmetSpecO_blk", + "H_HelmetSpecO_ocamo", + "H_CrewHelmetHeli_B", + "H_CrewHelmetHeli_I", + "H_CrewHelmetHeli_O", + "H_HelmetCrew_I", + "H_HelmetCrew_B", + "H_HelmetCrew_O", + "H_PilotHelmetHeli_B", + "H_PilotHelmetHeli_I", + "H_PilotHelmetHeli_O", + "H_Helmet_Skate", + "H_HelmetB_TI_tna_F", + // Apex + //"H_HelmetO_ViperSP_hex_F", + //"H_HelmetO_ViperSP_ghex_F", + "H_HelmetB_tna_F", + "H_HelmetB_Enh_tna_F", + "H_HelmetB_Light_tna_F", + "H_HelmetSpecO_ghex_F", + "H_HelmetLeaderO_ghex_F", + "H_HelmetO_ghex_F", + "H_HelmetCrew_O_ghex_F" + ]; + GMS_headgearList = GMS_headgear + GMS_helmets; + GMS_headgear_blue = GMS_headgearList; + GMS_headgear_red = GMS_headgearList; + GMS_headgear_green = GMS_headgearList; + GMS_headgear_orange = GMS_headgearList; + + //This defines the skin list, some skins are disabled by default to permit players to have high visibility uniforms distinct from those of the AI. + GMS_SkinList_Male = [ + //https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Equipment + "U_AntigonaBody", + "U_AttisBody", + "U_B_CombatUniform_mcam","U_B_CombatUniform_mcam_tshirt","U_B_CombatUniform_mcam_vest","U_B_CombatUniform_mcam_worn","U_B_CombatUniform_sgg","U_B_CombatUniform_sgg_tshirt","U_B_CombatUniform_sgg_vest","U_B_CombatUniform_wdl","U_B_CombatUniform_wdl_tshirt","U_B_CombatUniform_wdl_vest", + "U_B_CTRG_1","U_B_CTRG_2","U_B_CTRG_3", + "U_B_GhillieSuit", + "U_B_HeliPilotCoveralls","U_B_PilotCoveralls", + "U_B_SpecopsUniform_sgg", + "U_B_survival_uniform", + "U_B_Wetsuit", + //"U_BasicBody", + "U_BG_Guerilla1_1","U_BG_Guerilla2_1","U_BG_Guerilla2_2","U_BG_Guerilla2_3","U_BG_Guerilla3_1","U_BG_Guerilla3_2", + "U_BG_leader", + "U_C_Commoner_shorts","U_C_Commoner1_1","U_C_Commoner1_2","U_C_Commoner1_3","U_C_Commoner2_1","U_C_Commoner2_2","U_C_Commoner2_3", + "U_C_Farmer","U_C_Fisherman","U_C_FishermanOveralls","U_C_HunterBody_brn","U_C_HunterBody_grn", + //"U_C_Journalist", + "U_C_Novak", + //"U_C_Poloshirt_blue","U_C_Poloshirt_burgundy","U_C_Poloshirt_redwhite","U_C_Poloshirt_salmon","U_C_Poloshirt_stripped","U_C_Poloshirt_tricolour", + "U_C_Poor_1","U_C_Poor_2","U_C_Poor_shorts_1","U_C_Poor_shorts_2","U_C_PriestBody","U_C_Scavenger_1","U_C_Scavenger_2", + //"U_C_Scientist","U_C_ShirtSurfer_shorts","U_C_TeeSurfer_shorts_1","U_C_TeeSurfer_shorts_2", + "U_C_WorkerCoveralls","U_C_WorkerOveralls","U_Competitor", + "U_I_CombatUniform","U_I_CombatUniform_shortsleeve","U_I_CombatUniform_tshirt","U_I_G_resistanceLeader_F", + "U_I_G_Story_Protagonist_F", + "U_I_GhillieSuit", + "U_I_HeliPilotCoveralls", + "U_I_OfficerUniform", + "U_I_pilotCoveralls", + "U_I_Wetsuit", + "U_IG_Guerilla1_1","U_IG_Guerilla2_1","U_IG_Guerilla2_2","U_IG_Guerilla2_3","U_IG_Guerilla3_1","U_IG_Guerilla3_2", + "U_IG_leader", + "U_IG_Menelaos", + //"U_KerryBody", + //"U_MillerBody", + //"U_NikosAgedBody", + //"U_NikosBody", + "U_O_CombatUniform_ocamo","U_O_CombatUniform_oucamo", + "U_O_GhillieSuit", + "U_O_OfficerUniform_ocamo", + "U_O_PilotCoveralls", + "U_O_SpecopsUniform_blk", + "U_O_SpecopsUniform_ocamo", + "U_O_Wetsuit", + "U_OG_Guerilla1_1","U_OG_Guerilla2_1","U_OG_Guerilla2_2","U_OG_Guerilla2_3","U_OG_Guerilla3_1","U_OG_Guerilla3_2","U_OG_leader", + //"U_OI_Scientist", + //"U_OrestesBody", + "U_Rangemaster", + // DLC + "U_B_FullGhillie_ard","U_I_FullGhillie_ard","U_O_FullGhillie_ard","U_B_FullGhillie_sard","U_O_FullGhillie_sard","U_I_FullGhillie_sard","U_B_FullGhillie_lsh","U_O_FullGhillie_lsh","U_I_FullGhillie_lsh", + //Apex + "U_B_T_Soldier_F", + "U_B_T_Soldier_AR_F", + "U_B_T_Soldier_SL_F", + //"U_B_T_Sniper_F", + //"U_B_T_FullGhillie_tna_F", + "U_B_CTRG_Soldier_F", + "U_B_CTRG_Soldier_2_F", + "U_B_CTRG_Soldier_3_F", + "U_B_GEN_Soldier_F", + "U_B_GEN_Commander_F", + "U_O_T_Soldier_F", + "U_O_T_Officer_F", + //"U_O_T_Sniper_F", + //"U_O_T_FullGhillie_tna_F", + "U_O_V_Soldier_Viper_F", + "U_O_V_Soldier_Viper_hex_F", + "U_I_C_Soldier_Para_1_F", + "U_I_C_Soldier_Para_2_F", + "U_I_C_Soldier_Para_3_F", + "U_I_C_Soldier_Para_4_F", + "U_I_C_Soldier_Para_5_F", + "U_I_C_Soldier_Bandit_1_F", + "U_I_C_Soldier_Bandit_2_F", + "U_I_C_Soldier_Bandit_3_F", + "U_I_C_Soldier_Bandit_4_F", + "U_I_C_Soldier_Bandit_5_F", + "U_I_C_Soldier_Camo_F", + "U_C_man_sport_1_F", + "U_C_man_sport_2_F", + "U_C_man_sport_3_F", + "U_C_Man_casual_1_F", + "U_C_Man_casual_2_F", + "U_C_Man_casual_3_F", + "U_C_Man_casual_4_F", + "U_C_Man_casual_5_F", + "U_C_Man_casual_6_F", + "U_B_CTRG_Soldier_urb_1_F", + "U_B_CTRG_Soldier_urb_2_F", + "U_B_CTRG_Soldier_urb_3_F" + ]; + GMS_SkinList = GMS_SkinList_Male; + GMS_SkinList_blue = GMS_SkinList; + GMS_SkinList_red = GMS_SkinList; + GMS_SkinList_green = GMS_SkinList; + GMS_SkinList_orange = GMS_SkinList; + + GMS_vests = [ + // DLC Vests + "V_PlateCarrierSpec_blk","V_PlateCarrierSpec_mtp","V_PlateCarrierGL_blk","V_PlateCarrierGL_mtp","V_PlateCarrierIAGL_oli" + ]; + GMS_vests_blue = GMS_vests; + GMS_vests_red = GMS_vests; + GMS_vests_green = GMS_vests; + GMS_vests_orange = GMS_vests; + + //CraftingFood + GMS_Meats=[ + ]; + GMS_Drink = [ + ]; + GMS_Food = [ + ]; + GMS_ConsumableItems = GMS_Meats + GMS_Drink + GMS_Food; + GMS_throwableExplosives = ["HandGrenade","MiniGrenade"]; + GMS_otherExplosives = ["1Rnd_HE_Grenade_shell","3Rnd_HE_Grenade_shell","DemoCharge_Remote_Mag","SatchelCharge_Remote_Mag"]; + GMS_explosives = GMS_throwableExplosives + GMS_otherExplosives; + GMS_medicalItems = ["FAK"]; + GMS_specialItems = GMS_throwableExplosives + GMS_medicalItems; + GMS_binocs = ["Binocular","Rangefinder","Laserdesignator"]; + GMS_NVG = ["NVG"]; + GMS_buildingMaterials = []; + GMS_loot = []; + GMS_UMS_uniforms = + [ + "U_I_Wetsuit", + "U_O_Wetsuit", + "U_B_Wetsuit" + ]; + + GMS_UMS_headgear = + [ + "G_Diving", + "G_B_Diving", + "G_O_Diving", + "G_I_Diving" + ]; + + GMS_UMS_vests = + [ + "V_RebreatherB", + "V_RebreatherIA", + "V_RebreatherIR" + ]; + + GMS_UMS_weapons = + [ + "arifle_SDAR_F" + ]; + + if ((tolower GMSCore_modtype) isEqualTo "exile") then + { + GMS_UMS_submarines = + [ + + "Exile_Boat_SDV_CSAT", + "Exile_Boat_SDV_Digital", + "Exile_Boat_SDV_Grey" + ]; + + GMS_UMS_crates = ["Exile_Container_SupplyBox"]; + }; + if ((tolower GMSCore_modtype) isEqualTo "epoch") then + { + GMS_UMS_submarines = ["B_SDV_01_EPOCH"]; + GMS_UMS_crates = GMS_crateTypes; + //GMS_UMS_crates = ["container_epoch"]; + }; + if ((toLower GMSCore_modtype) isEqualTo "default") then + { + GMS_UMS_submarines = + [ + + "B_SDV_01_F" + ]; + + GMS_UMS_crates = GMS_crateTypes; + + }; + + GMS_UMS_unarmedSurfaceVessels = + [ + "B_Boat_Transport_01_F", + "I_Boat_Transport_01_F" + ]; + GMS_UMS_armedSurfaceVessels = + [ + "B_Boat_Armed_01_minigun_F", + "I_Boat_Armed_01_minigun_F" + ]; + GMS_UMS_surfaceVessels = GMS_UMS_unarmedSurfaceVessels + GMS_UMS_armedSurfaceVessels; + GMS_UMS_shipWrecks = + [ + "Land_Boat_06_wreck_F", + "Land_Boat_05_wreck_F", + "Land_Boat_04_wreck_F", + "Land_Boat_02_abandoned_F", + "Land_Boat_01_abandoned_red_F", + "Land_Boat_01_abandoned_blue_F" + ]; + + +/*************************************************************************************** +DEFAULT CONTENTS OF LOOT CRATES FOR EACH MISSION +Note however that these configurations can be used in any way you like or replaced with mission-specific customized loot arrays +for examples of how you can do this see \Major\Compositions.sqf +***************************************************************************************/ + + // values are: number of things from the weapons, magazines, optics, materials(cinder etc), items (food etc) and backpacks arrays to add, respectively. + GMS_lootCountsOrange = [8,32,8,30,16,1]; // Orange + GMS_lootCountsGreen = [7,24,6,16,18,1]; // Green + GMS_lootCountsRed = [5,16,4,10,6,1]; // Red + GMS_lootCountsBlue = [4,12,3,6,6,1]; // Blue + + GMS_BoxLoot_Orange = + // Loot is grouped as [weapons],[magazines],[items] in order to be able to use the correct function to load the item into the crate later on. + // Each item consist of the following information ["ItemName",minNum, maxNum] where min is the smallest number added and min+max is the largest number added. + + [ + GMS_WeaponList_Orange, + [] + GMS_launcherTypes, + GMS_Optics, + [], + [], + GMS_backpacks_orange + ]; + + GMS_BoxLoot_Green = + [ + GMS_WeaponList_Green, + [] + GMS_launcherTypes, + GMS_Optics, + [], + [], + GMS_backpacks_green + ]; + + GMS_BoxLoot_Blue = + [ + GMS_WeaponList_Blue, + [], + GMS_Optics, + [], + [], + GMS_backpacks_blue + ]; + + GMS_BoxLoot_Red = + [ + GMS_WeaponList_Red, + [], + GMS_Optics, + [], + [], + GMS_backpacks_red + ]; + +GMS_contructionLoot = GMS_BoxLoot_Orange; +GMS_highPoweredLoot = GMS_BoxLoot_Orange; +GMS_supportLoot = GMS_BoxLoot_Orange; +GMS_configs_loaded = true; +["[GMS] Default Configurations Loaded"] call GMS_fnc_log; + diff --git a/@GMS/addons/GMS/Configs/GMS_configs_epoch.sqf b/@GMS/addons/GMS/Configs/GMS_configs_epoch.sqf new file mode 100644 index 0000000..7d98212 --- /dev/null +++ b/@GMS/addons/GMS/Configs/GMS_configs_epoch.sqf @@ -0,0 +1,897 @@ +/* + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +[format["Loading configurations for Epoch for blckeagls"]] call GMS_fnc_log; +//////////// +// Epoch-specific settings +//////////// + + // list of locations that are protected against mission spawns + + switch (toLower(worldName)) do + { + case "altis": { + GMS_locationBlackList append [ + //Add location as [[xpos,ypos,0],minimumDistance], + // Note that there should not be a comma after the last item in this table + [[10800,10641,0],1000] // isthmus - missions that spawn here often are glitched. + ]; + }; + case "tanoa": { + GMS_locationBlackList append [ ]; + }; + }; + +/********************************************************************************* + +AI WEAPONS, UNIFORMS, VESTS AND GEAR + +**********************************************************************************/ + + GMS_crateMoneyBlue = [100,250]; + GMS_crateMoneyRed = [175, 300]; + GMS_crateMoneyGreen = [300, 500]; + GMS_crateMoneyOrange = [500, 750]; + + GMS_crateTypes = ["Box_FIA_Ammo_F","Box_FIA_Support_F","Box_FIA_Wps_F","I_SupplyCrate_F","Box_NATO_AmmoVeh_F","Box_East_AmmoVeh_F","IG_supplyCrate_F","Box_NATO_Wps_F","I_CargoNet_01_ammo_F","O_CargoNet_01_ammo_F","B_CargoNet_01_ammo_F"]; // Default crate type. + + GMS_allowSalesAtBlackMktTraders = true; // Allow vehicles to be sold at Halvjes black market traders. + + GMS_maximumItemPriceInAI_Loadouts = 3500; + + GMS_lightlyArmed_ARMA3 = [ + "B_G_Offroad_01_armed_F", + "O_G_Offroad_01_armed_F", + "B_MRAP_01_gmg_F", + "B_MRAP_01_hmg_F", + "O_MRAP_02_gmg_F", + "O_MRAP_02_hmg_F", + "I_MRAP_03_hmg_F", + "I_MRAP_03_gmg_F", + "B_APC_Wheeled_01_cannon_F", + "I_APC_Wheeled_03_cannon_F" + ]; + + GMS_tracked_APC_ARMA3 = [ + "B_APC_Tracked_01_rcws_F", + "B_APC_Tracked_01_CRV_F", + "B_APC_Tracked_01_AA_F", + "O_APC_Tracked_02_cannon_F", + "O_APC_Tracked_02_AA_F", + "O_APC_Wheeled_02_rcws_F", + "I_APC_tracked_03_cannon_F" + ]; + + GMS_Tanks_ARMA3 = [ + //"B_MBT_01_arty_F", + "B_MBT_01_mlrs_F", + "B_MBT_01_TUSK_F", + "O_MBT_02_cannon_F", + //"O_MBT_02_arty_F", + "I_MBT_03_cannon_F" + ]; + + GMS_lightlyArmed_CUP = [ + "CUP_C_UAZ_Open_TK_CIV", + "CUP_B_nM1025_M240_NATO", + "CUP_B_nM1025_M2_NATO", + "CUP_B_nM1025_SOV_Mk19_USA_DES", + "CUP_B_UAZ_AGS30_CDF", + "CUP_B_UAZ_MG_CDF", + "CUP_B_LR_MG_GB_W", + "CUP_B_LR_Special_GMG_GB_W" + ]; + GMS_APC_CUP = [ + "CUP_B_Mastiff_GMG_GB_D", + "CUP_B_Mastiff_HMG_GB_D", + "CUP_B_Ridgback_HMG_GB_D", + "CUP_B_Ridgback_GMG_GB_D", + "CUP_B_M1128_MGS_Desert", + "CUP_B_M1135_ATGMV_Desert_Slat", + "CUP_B_M1133_MEV_Desert_Slat", + "CUP_B_LAV25M240_desert_USMC", + "CUP_B_M1129_MC_MK19_Desert_Slat", + "CUP_B_LAV25_HQ_desert_USMC", + "CUP_B_BRDM2_ATGM_CDF", + "CUP_B_BTR60_CDF", + "CUP_B_M1130_CV_M2_Desert_Slat", + "CUP_B_M1126_ICV_MK19_Desert_Slat", + "CUP_O_BTR90_RU", + "CUP_O_GAZ_Vodnik_BPPU_RU", + "CUP_B_M1126_ICV_M2_Desert", + "CUP_B_M1126_ICV_MK19_Desert", + "CUP_B_M1130_CV_M2_Desert", + "CUP_B_M1126_ICV_M2_Desert_Slat", + "CUP_B_M1133_MEV_Desert", + "CUP_O_GAZ_Vodnik_AGS_RU", + "CUP_O_GAZ_Vodnik_PK_RU" + ]; + + GMS_Tanks_CUP = [ + "CUP_B_M2A3Bradley_USA_D", + "CUP_B_M113_desert_USA", + "CUP_B_M163_USA", + "CUP_B_M6LineBacker_USA_D", + "CUP_B_M1A1_DES_US_Army", + "CUP_B_M1A2_TUSK_MG_DES_US_Army", + "CUP_B_AAV_USMC", + "CUP_B_M270_DPICM_USA", + "CUP_B_ZSU23_CDF", + "CUP_B_BMP2_CDF", + "CUP_B_T72_CDF", + "CUP_I_T34_NAPA", + "CUP_B_Challenger2_NATO", + "CUP_B_FV432_Bulldog_GB_D_RWS", + "CUP_B_FV432_Bulldog_GB_D", + "CUP_B_FV510_GB_D_SLAT", + "CUP_B_MCV80_GB_D_SLAT", + "CUP_O_2S6_RU", + "CUP_O_BMP3_RU", + "CUP_O_T90_RU", + "CUP_O_T55_SLA", + "CUP_O_BMP1P_TKA", + "CUP_B_M270_DPICM_USA", + "CUP_B_M2Bradley_USA_W", + "CUP_B_FV510_GB_D", + "CUP_B_MCV80_GB_D", + "CUP_B_M7Bradley_USA_D", + "CUP_O_2S6_RU", + "CUP_O_BMP1_TKA" + ]; + + GMS_AIPatrolVehicles = ["B_G_Offroad_01_armed_EPOCH","B_LSV_01_armed_F","I_C_Offroad_02_LMG_F","B_T_LSV_01_armed_black_F","B_T_LSV_01_armed_olive_F","B_T_LSV_01_armed_sand_F"]; // Type of vehicle spawned to defend AI bases + //GMS_AIPatrolVehicles = GMS_lightlyArmed_CUP; + GMS_AIPatrolVehiclesBlue = ["B_G_Offroad_01_armed_EPOCH","B_LSV_01_armed_F","I_C_Offroad_02_LMG_F","B_T_LSV_01_armed_black_F","B_T_LSV_01_armed_olive_F","B_T_LSV_01_armed_sand_F"]; + GMS_AIPatrolVehiclesRed = ["O_MBT_02_cannon_F","O_APC_Tracked_02_AA_F","O_APC_Tracked_02_cannon_F"]; // I recomend you switch Red and Green here + GMS_AIPatrolVehiclesGreen = ["B_G_Offroad_01_armed_EPOCH","B_LSV_01_armed_F","I_C_Offroad_02_LMG_F","B_T_LSV_01_armed_black_F","B_T_LSV_01_armed_olive_F","B_T_LSV_01_armed_sand_F"]; + GMS_AIPatrolVehiclesOrange = ["O_MBT_02_cannon_F","O_APC_Tracked_02_AA_F","O_APC_Tracked_02_cannon_F"]; + + // Blacklisted itesm + GMS_blacklistedOptics = ["optic_Nightstalker","optic_tws","optic_tws_mg"]; + + // AI Weapons and Attachments + GMS_bipods = ["bipod_01_F_blk","bipod_01_F_mtp","bipod_01_F_snd","bipod_02_F_blk","bipod_02_F_hex","bipod_02_F_tan","bipod_03_F_blk","bipod_03_F_oli"]; + + GMS_Optics_Holo = ["optic_Hamr","optic_MRD","optic_Holosight","optic_Holosight_smg","optic_Aco","optic_ACO_grn","optic_ACO_grn_smg","optic_Aco_smg","optic_Yorris"]; + GMS_Optics_Reticule = ["optic_Arco","optic_MRCO"]; + GMS_Optics_Scopes = [ + "optic_AMS","optic_AMS_khk","optic_AMS_snd", + "optic_DMS", + "optic_KHS_blk","optic_KHS_hex","optic_KHS_old","optic_KHS_tan", + "optic_LRPS", + "optic_Nightstalker", + "optic_NVS", + "optic_SOS", + "optic_tws" + //"optic_tws_mg", + ]; + GMS_Optics_Apex = [ + //Apex + "optic_Arco_blk_F", "optic_Arco_ghex_F", + "optic_DMS_ghex_F", + "optic_Hamr_khk_F", + "optic_ERCO_blk_F","optic_ERCO_khk_F","optic_ERCO_snd_F", + "optic_SOS_khk_F", + "optic_LRPS_tna_F","optic_LRPS_ghex_F", + "optic_Holosight_blk_F","optic_Holosight_khk_F","optic_Holosight_smg_blk_F" + ]; + GMS_Optics = GMS_Optics_Holo + GMS_Optics_Reticule + GMS_Optics_Scopes; + + #ifdef useAPEX + GMS_Optics = GMS_Optics + GMS_Optics_Apex; + #endif + GMS_bipods = [ + "bipod_01_F_blk","bipod_01_F_mtp","bipod_01_F_snd","bipod_02_F_blk","bipod_02_F_hex","bipod_02_F_tan","bipod_03_F_blk","bipod_03_F_oli", + //Apex + "bipod_01_F_khk" + ]; + + GMS_silencers = [ + "muzzle_snds_338_black","muzzle_snds_338_green","muzzle_snds_338_sand","muzzle_snds_93mmg","muzzle_snds_93mmg_tan","muzzle_snds_acp","muzzle_snds_B", + "muzzle_snds_H","muzzle_snds_H_MG","muzzle_snds_H_SW","muzzle_snds_L","muzzle_snds_M", + //Apex + "muzzle_snds_H_khk_F","muzzle_snds_H_snd_F","muzzle_snds_58_blk_F","muzzle_snds_m_khk_F","muzzle_snds_m_snd_F","muzzle_snds_B_khk_F","muzzle_snds_B_snd_F", + "muzzle_snds_58_wdm_F","muzzle_snds_65_TI_blk_F","muzzle_snds_65_TI_hex_F","muzzle_snds_65_TI_ghex_F","muzzle_snds_H_MG_blk_F","muzzle_snds_H_MG_khk_F" + ]; + + GMS_RifleSniper = [ + "srifle_EBR_F","srifle_GM6_F","srifle_LRR_F","srifle_DMR_01_F" + ]; + + GMS_RifleAsault_556 = [ + "arifle_SDAR_F","arifle_TRG21_F","arifle_TRG20_F","arifle_TRG21_GL_F","arifle_Mk20_F","arifle_Mk20C_F","arifle_Mk20_GL_F","arifle_Mk20_plain_F","arifle_Mk20C_plain_F","arifle_Mk20_GL_plain_F","arifle_SDAR_F" + ]; + + GMS_RifleAsault_650 = [ + "arifle_Katiba_F","arifle_Katiba_C_F","arifle_Katiba_GL_F","arifle_MXC_F","arifle_MX_F","arifle_MX_GL_F","arifle_MXM_F" + ]; + + GMS_RifleAsault = GMS_RifleAsault_556 + GMS_RifleAsault_650; + + GMS_RifleLMG = [ + "LMG_Mk200_F","LMG_Zafir_F" + ]; + + GMS_RifleOther = [ + "SMG_01_F","SMG_02_F" + ]; + + GMS_Pistols = [ + "hgun_PDW2000_F","hgun_ACPC2_F","hgun_Rook40_F","hgun_P07_F","hgun_Pistol_heavy_01_F","hgun_Pistol_heavy_02_F","hgun_Pistol_Signal_F" + ]; + GMS_Pistols_blue = GMS_Pistols; + GMS_Pistols_red = GMS_Pistols; + GMS_Pistols_green = GMS_Pistols; + GMS_Pistols_orange = GMS_Pistols; + + GMS_DLC_MMG = [ + "MMG_01_hex_F","MMG_02_sand_F","MMG_01_tan_F","MMG_02_black_F","MMG_02_camo_F" + ]; + + GMS_DLC_Sniper = [ + "srifle_DMR_02_camo_F","srifle_DMR_02_F","srifle_DMR_02_sniper_F","srifle_DMR_03_F","srifle_DMR_03_tan_F","srifle_DMR_04_F","srifle_DMR_04_Tan_F","srifle_DMR_05_blk_F","srifle_DMR_05_hex_F","srifle_DMR_05_tan_F","srifle_DMR_06_camo_F","srifle_DMR_06_olive_F" + ]; + GMS_apexWeapons = ["arifle_AK12_F","arifle_AK12_GL_F","arifle_AKM_F","arifle_AKM_FL_F","arifle_AKS_F","arifle_ARX_blk_F","arifle_ARX_ghex_F","arifle_ARX_hex_F","arifle_CTAR_blk_F","arifle_CTAR_hex_F", + "arifle_CTAR_ghex_F","arifle_CTAR_GL_blk_F","arifle_CTARS_blk_F","arifle_CTARS_hex_F","arifle_CTARS_ghex_F","arifle_SPAR_01_blk_F","arifle_SPAR_01_khk_F","arifle_SPAR_01_snd_F", + "arifle_SPAR_01_GL_blk_F","arifle_SPAR_01_GL_khk_F","arifle_SPAR_01_GL_snd_F","arifle_SPAR_02_blk_F","arifle_SPAR_02_khk_F","arifle_SPAR_02_snd_F","arifle_SPAR_03_blk_F", + "arifle_SPAR_03_khk_F","arifle_SPAR_03_snd_F","arifle_MX_khk_F","arifle_MX_GL_khk_F","arifle_MXC_khk_F","arifle_MXM_khk_F"]; + + //This defines the random weapon to spawn on the AI + //https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Weapons + GMS_WeaponList_Orange = GMS_RifleSniper + GMS_RifleAsault_650 + GMS_RifleLMG + GMS_DLC_Sniper + GMS_DLC_MMG; + GMS_WeaponList_Green = GMS_RifleSniper + GMS_RifleAsault_650 +GMS_RifleLMG + GMS_DLC_MMG + GMS_apexWeapons; + GMS_WeaponList_Blue = GMS_RifleOther + GMS_RifleAsault_556 +GMS_RifleAsault_650; + GMS_WeaponList_Red = GMS_RifleAsault_556 + GMS_RifleSniper + GMS_RifleAsault_650 + GMS_RifleLMG; + + #ifdef useAPEX + + GMS_WeaponList_Orange = GMS_WeaponList_Orange + GMS_apexWeapons; + GMS_WeaponList_Green = GMS_WeaponList_Green + GMS_apexWeapons; + #endif + + GMS_backpacks = ["B_Carryall_ocamo","B_Carryall_oucamo","B_Carryall_mcamo","B_Carryall_oli","B_Carryall_khk","B_Carryall_cbr" ]; + GMS_ApexBackpacks = [ + "B_Bergen_mcamo_F","B_Bergen_dgtl_F","B_Bergen_hex_F","B_Bergen_tna_F","B_AssaultPack_tna_F","B_Carryall_ghex_F", + "B_FieldPack_ghex_F","B_ViperHarness_blk_F","B_ViperHarness_ghex_F","B_ViperHarness_hex_F","B_ViperHarness_khk_F", + "B_ViperHarness_oli_F","B_ViperLightHarness_blk_F","B_ViperLightHarness_ghex_F","B_ViperLightHarness_hex_F","B_ViperLightHarness_khk_F","B_ViperLightHarness_oli_F" + ]; + + #ifdef useAPEX + GMS_backpacks = GMS_backpacks + GMS_ApexBackpacks; + #endif + GMS_backpacks_blue = GMS_backpacks; + GMS_backpacks_red = GMS_backpacks; + GMS_backpacks_green = GMS_backpacks; + GMS_backpacks_orange = GMS_backpacks; + + GMS_BanditHeadgear = ["H_Shemag_khk","H_Shemag_olive","H_Shemag_tan","H_ShemagOpen_khk"]; + //This defines the skin list, some skins are disabled by default to permit players to have high visibility uniforms distinct from those of the AI. + GMS_headgear = [ + "H_Cap_blk", + "H_Cap_blk_Raven", + "H_Cap_blu", + "H_Cap_brn_SPECOPS", + "H_Cap_grn", + "H_Cap_headphones", + "H_Cap_khaki_specops_UK", + "H_Cap_oli", + "H_Cap_press", + "H_Cap_red", + "H_Cap_tan", + "H_Cap_tan_specops_US", + "H_Watchcap_blk", + "H_Watchcap_camo", + "H_Watchcap_khk", + "H_Watchcap_sgg", + "H_MilCap_blue", + "H_MilCap_dgtl", + "H_MilCap_mcamo", + "H_MilCap_ocamo", + "H_MilCap_oucamo", + "H_MilCap_rucamo", + "H_Bandanna_camo", + "H_Bandanna_cbr", + "H_Bandanna_gry", + "H_Bandanna_khk", + "H_Bandanna_khk_hs", + "H_Bandanna_mcamo", + "H_Bandanna_sgg", + "H_Bandanna_surfer", + "H_Booniehat_dgtl", + "H_Booniehat_dirty", + "H_Booniehat_grn", + "H_Booniehat_indp", + "H_Booniehat_khk", + "H_Booniehat_khk_hs", + "H_Booniehat_mcamo", + "H_Booniehat_tan", + "H_Hat_blue", + "H_Hat_brown", + "H_Hat_camo", + "H_Hat_checker", + "H_Hat_grey", + "H_Hat_tan", + "H_StrawHat", + "H_StrawHat_dark", + "H_Beret_02", + "H_Beret_blk", + "H_Beret_blk_POLICE", + "H_Beret_brn_SF", + "H_Beret_Colonel", + "H_Beret_grn", + "H_Beret_grn_SF", + "H_Beret_ocamo", + "H_Beret_red", + "H_Shemag_khk", + "H_Shemag_olive", + "H_Shemag_olive_hs", + "H_Shemag_tan", + "H_ShemagOpen_khk", + "H_ShemagOpen_tan", + "H_TurbanO_blk", + + //Apex + "H_MilCap_tna_F", + "H_MilCap_ghex_F", + "H_Booniehat_tna_F", + "H_Beret_gen_F", + "H_MilCap_gen_F", + "H_Cap_oli_Syndikat_F", + "H_Cap_tan_Syndikat_F", + "H_Cap_blk_Syndikat_F", + "H_Cap_grn_Syndikat_F" + ]; + GMS_helmets = [ + "H_HelmetB", + "H_HelmetB_black", + "H_HelmetB_camo", + "H_HelmetB_desert", + "H_HelmetB_grass", + "H_HelmetB_light", + "H_HelmetB_light_black", + "H_HelmetB_light_desert", + "H_HelmetB_light_grass", + "H_HelmetB_light_sand", + "H_HelmetB_light_snakeskin", + "H_HelmetB_paint", + "H_HelmetB_plain_blk", + "H_HelmetB_sand", + "H_HelmetB_snakeskin", + "H_HelmetCrew_B", + "H_HelmetCrew_I", + "H_HelmetCrew_O", + "H_HelmetIA", + "H_HelmetIA_camo", + "H_HelmetIA_net", + "H_HelmetLeaderO_ocamo", + "H_HelmetLeaderO_oucamo", + "H_HelmetO_ocamo", + "H_HelmetO_oucamo", + "H_HelmetSpecB", + "H_HelmetSpecB_blk", + "H_HelmetSpecB_paint1", + "H_HelmetSpecB_paint2", + "H_HelmetSpecO_blk", + "H_HelmetSpecO_ocamo", + "H_CrewHelmetHeli_B", + "H_CrewHelmetHeli_I", + "H_CrewHelmetHeli_O", + "H_HelmetCrew_I", + "H_HelmetCrew_B", + "H_HelmetCrew_O", + "H_PilotHelmetHeli_B", + "H_PilotHelmetHeli_I", + "H_PilotHelmetHeli_O", + "H_Helmet_Skate", + "H_HelmetB_TI_tna_F", + // Apex + //"H_HelmetO_ViperSP_hex_F", + //"H_HelmetO_ViperSP_ghex_F", + "H_HelmetB_tna_F", + "H_HelmetB_Enh_tna_F", + "H_HelmetB_Light_tna_F", + "H_HelmetSpecO_ghex_F", + "H_HelmetLeaderO_ghex_F", + "H_HelmetO_ghex_F", + "H_HelmetCrew_O_ghex_F" + ]; + GMS_headgearList = GMS_headgear + GMS_helmets; + GMS_headgear_blue = GMS_headgearList; + GMS_headgear_red = GMS_headgearList; + GMS_headgear_green = GMS_headgearList; + GMS_headgear_orange = GMS_headgearList; + + //This defines the skin list, some skins are disabled by default to permit players to have high visibility uniforms distinct from those of the AI. + GMS_SkinList_Male = [ + //https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Equipment + "U_AntigonaBody", + "U_AttisBody", + "U_B_CombatUniform_mcam","U_B_CombatUniform_mcam_tshirt","U_B_CombatUniform_mcam_vest","U_B_CombatUniform_mcam_worn","U_B_CombatUniform_sgg","U_B_CombatUniform_sgg_tshirt","U_B_CombatUniform_sgg_vest","U_B_CombatUniform_wdl","U_B_CombatUniform_wdl_tshirt","U_B_CombatUniform_wdl_vest", + "U_B_CTRG_1","U_B_CTRG_2","U_B_CTRG_3", + "U_B_GhillieSuit", + "U_B_HeliPilotCoveralls","U_B_PilotCoveralls", + "U_B_SpecopsUniform_sgg", + "U_B_survival_uniform", + "U_B_Wetsuit", + //"U_BasicBody", + "U_BG_Guerilla1_1","U_BG_Guerilla2_1","U_BG_Guerilla2_2","U_BG_Guerilla2_3","U_BG_Guerilla3_1","U_BG_Guerilla3_2", + "U_BG_leader", + "U_C_Commoner_shorts","U_C_Commoner1_1","U_C_Commoner1_2","U_C_Commoner1_3","U_C_Commoner2_1","U_C_Commoner2_2","U_C_Commoner2_3", + "U_C_Farmer","U_C_Fisherman","U_C_FishermanOveralls","U_C_HunterBody_brn","U_C_HunterBody_grn", + //"U_C_Journalist", + "U_C_Novak", + //"U_C_Poloshirt_blue","U_C_Poloshirt_burgundy","U_C_Poloshirt_redwhite","U_C_Poloshirt_salmon","U_C_Poloshirt_stripped","U_C_Poloshirt_tricolour", + "U_C_Poor_1","U_C_Poor_2","U_C_Poor_shorts_1","U_C_Poor_shorts_2","U_C_PriestBody","U_C_Scavenger_1","U_C_Scavenger_2", + //"U_C_Scientist","U_C_ShirtSurfer_shorts","U_C_TeeSurfer_shorts_1","U_C_TeeSurfer_shorts_2", + "U_C_WorkerCoveralls","U_C_WorkerOveralls","U_Competitor", + "U_I_CombatUniform","U_I_CombatUniform_shortsleeve","U_I_CombatUniform_tshirt","U_I_G_resistanceLeader_F", + "U_I_G_Story_Protagonist_F", + "U_I_GhillieSuit", + "U_I_HeliPilotCoveralls", + "U_I_OfficerUniform", + "U_I_pilotCoveralls", + "U_I_Wetsuit", + "U_IG_Guerilla1_1","U_IG_Guerilla2_1","U_IG_Guerilla2_2","U_IG_Guerilla2_3","U_IG_Guerilla3_1","U_IG_Guerilla3_2", + "U_IG_leader", + "U_IG_Menelaos", + //"U_KerryBody", + //"U_MillerBody", + //"U_NikosAgedBody", + //"U_NikosBody", + "U_O_CombatUniform_ocamo","U_O_CombatUniform_oucamo", + "U_O_GhillieSuit", + "U_O_OfficerUniform_ocamo", + "U_O_PilotCoveralls", + "U_O_SpecopsUniform_blk", + "U_O_SpecopsUniform_ocamo", + "U_O_Wetsuit", + "U_OG_Guerilla1_1","U_OG_Guerilla2_1","U_OG_Guerilla2_2","U_OG_Guerilla2_3","U_OG_Guerilla3_1","U_OG_Guerilla3_2","U_OG_leader", + //"U_OI_Scientist", + //"U_OrestesBody", + "U_Rangemaster", + // DLC + "U_B_FullGhillie_ard","U_I_FullGhillie_ard","U_O_FullGhillie_ard","U_B_FullGhillie_sard","U_O_FullGhillie_sard","U_I_FullGhillie_sard","U_B_FullGhillie_lsh","U_O_FullGhillie_lsh","U_I_FullGhillie_lsh", + //Apex + "U_B_T_Soldier_F", + "U_B_T_Soldier_AR_F", + "U_B_T_Soldier_SL_F", + //"U_B_T_Sniper_F", + //"U_B_T_FullGhillie_tna_F", + "U_B_CTRG_Soldier_F", + "U_B_CTRG_Soldier_2_F", + "U_B_CTRG_Soldier_3_F", + "U_B_GEN_Soldier_F", + "U_B_GEN_Commander_F", + "U_O_T_Soldier_F", + "U_O_T_Officer_F", + //"U_O_T_Sniper_F", + //"U_O_T_FullGhillie_tna_F", + "U_O_V_Soldier_Viper_F", + "U_O_V_Soldier_Viper_hex_F", + "U_I_C_Soldier_Para_1_F", + "U_I_C_Soldier_Para_2_F", + "U_I_C_Soldier_Para_3_F", + "U_I_C_Soldier_Para_4_F", + "U_I_C_Soldier_Para_5_F", + "U_I_C_Soldier_Bandit_1_F", + "U_I_C_Soldier_Bandit_2_F", + "U_I_C_Soldier_Bandit_3_F", + "U_I_C_Soldier_Bandit_4_F", + "U_I_C_Soldier_Bandit_5_F", + "U_I_C_Soldier_Camo_F", + "U_C_man_sport_1_F", + "U_C_man_sport_2_F", + "U_C_man_sport_3_F", + "U_C_Man_casual_1_F", + "U_C_Man_casual_2_F", + "U_C_Man_casual_3_F", + "U_C_Man_casual_4_F", + "U_C_Man_casual_5_F", + "U_C_Man_casual_6_F", + "U_B_CTRG_Soldier_urb_1_F", + "U_B_CTRG_Soldier_urb_2_F", + "U_B_CTRG_Soldier_urb_3_F" + ]; + GMS_femaleUniformsEpoch = [ + "U_CamoBlue_uniform", "U_CamoBrn_uniform", "U_CamoPinkPolka_uniform","U_CamoPink_uniform","U_CamoOutback_uniform", + "U_CamoBubblegum_uniform","U_CamoBiker_uniform","U_CamoAloha_uniform","U_CamoRed_uniform" + ]; + GMS_femaleWetsuitsEpoch = [ + "U_Wetsuit_uniform","U_Wetsuit_White","U_Wetsuit_Blue","U_Wetsuit_Purp","U_Wetsuit_Camo" + ]; + GMS_SkinList = GMS_femaleUniformsEpoch + GMS_femaleWetsuitsEpoch + GMS_SkinList_Male; + GMS_SkinList_blue = GMS_SkinList; + GMS_SkinList_red = GMS_SkinList; + GMS_SkinList_green = GMS_SkinList; + GMS_SkinList_orange = GMS_SkinList; + + GMS_vests = [ + "V_1_EPOCH","V_2_EPOCH","V_3_EPOCH","V_4_EPOCH","V_5_EPOCH","V_6_EPOCH","V_7_EPOCH","V_8_EPOCH","V_9_EPOCH","V_10_EPOCH","V_11_EPOCH","V_12_EPOCH","V_13_EPOCH","V_14_EPOCH","V_15_EPOCH","V_16_EPOCH","V_17_EPOCH","V_18_EPOCH","V_19_EPOCH","V_20_EPOCH", + "V_21_EPOCH","V_22_EPOCH","V_23_EPOCH","V_24_EPOCH","V_25_EPOCH","V_26_EPOCH","V_27_EPOCH","V_28_EPOCH","V_29_EPOCH","V_30_EPOCH","V_31_EPOCH","V_32_EPOCH","V_33_EPOCH","V_34_EPOCH","V_35_EPOCH","V_36_EPOCH","V_37_EPOCH","V_38_EPOCH","V_39_EPOCH","V_40_EPOCH", + // DLC Vests + "V_PlateCarrierSpec_blk","V_PlateCarrierSpec_mtp","V_PlateCarrierGL_blk","V_PlateCarrierGL_mtp","V_PlateCarrierIAGL_oli" + ]; + GMS_vests_blue = GMS_vests; + GMS_vests_red = GMS_vests; + GMS_vests_green = GMS_vests; + GMS_vests_orange = GMS_vests; + + GMS_UMS_uniforms = + [ + "U_I_Wetsuit", + "U_O_Wetsuit", + "U_B_Wetsuit" + ]; + + GMS_UMS_headgear = + [ + "G_Diving", + "G_B_Diving", + "G_O_Diving", + "G_I_Diving" + ]; + + GMS_UMS_vests = + [ + "V_RebreatherB", + "V_RebreatherIA", + "V_RebreatherIR" + ]; + + GMS_UMS_weapons = + [ + "arifle_SDAR_F" + ]; + + GMS_UMS_submarines = ["B_SDV_01_EPOCH"]; + GMS_UMS_crates = GMS_crateTypes; + //GMS_UMS_crates = ["container_epoch"]; + + if ((toLower GMSCore_modtype) isEqualTo "default") then + { + GMS_UMS_submarines = ["B_SDV_01_EPOCH"]; + GMS_UMS_crates = GMS_crateTypes; + + }; + + GMS_UMS_unarmedSurfaceVessels = + [ + "B_Boat_Transport_01_F", + "I_Boat_Transport_01_F" + ]; + GMS_UMS_armedSurfaceVessels = + [ + "B_Boat_Armed_01_minigun_F", + "I_Boat_Armed_01_minigun_F" + ]; + GMS_UMS_surfaceVessels = GMS_UMS_unarmedSurfaceVessels + GMS_UMS_armedSurfaceVessels; + GMS_UMS_shipWrecks = + [ + "Land_Boat_06_wreck_F", + "Land_Boat_05_wreck_F", + "Land_Boat_04_wreck_F", + "Land_Boat_02_abandoned_F", + "Land_Boat_01_abandoned_red_F", + "Land_Boat_01_abandoned_blue_F" + ]; + + //CraftingFood + GMS_Meats=[ + "SnakeCarcass_EPOCH","RabbitCarcass_EPOCH","ChickenCarcass_EPOCH","GoatCarcass_EPOCH","SheepCarcass_EPOCH","DogCarcass_EPOCH","ItemTrout","ItemSeaBass","ItemTuna" + ]; + GMS_Drink = [ + "WhiskeyNoodle","ItemSodaAlpineDude","ItemSodaOrangeSherbet","ItemSodaPurple","ItemSodaMocha","ItemSodaBurst","ItemSodaRbull","FoodWalkNSons" + ]; + GMS_Food = [ + "HotAxeSauce_epoch","gyro_wrap_epoch","icecream_epoch","redburger_epoch","bluburger_epoch","krypto_candy_epoch","ItemBakedBeans","ItemRiceBox","ItemPowderMilk","ItemCereals", + "FoodBioMeat","FoodMeeps","FoodSnooter","sardines_epoch","meatballs_epoch","scam_epoch","sweetcorn_epoch","honey_epoch","CookedSheep_EPOCH","CookedGoat_EPOCH","SnakeMeat_EPOCH", + "CookedRabbit_EPOCH","CookedChicken_EPOCH","CookedDog_EPOCH","ItemTroutCooked","ItemSeaBassCooked","ItemTunaCooked","TacticalBacon" + ]; + GMS_ConsumableItems = GMS_Meats + GMS_Drink + GMS_Food; + GMS_throwableExplosives = ["HandGrenade","MiniGrenade"]; + GMS_otherExplosives = ["1Rnd_HE_Grenade_shell","3Rnd_HE_Grenade_shell","DemoCharge_Remote_Mag","SatchelCharge_Remote_Mag"]; + GMS_explosives = GMS_throwableExplosives + GMS_otherExplosives; + GMS_medicalItems = ["ItemVitamins", "morphine_epoch", "iodide_pills_epoch", "adrenaline_epoch", + "caffeinepills_epoch", "orlistat_epoch", "ItemCanteen_Empty", "ItemCanteen_Clean", "ItemBottlePlastic_Empty", + "ItemBottlePlastic_Clean", "atropine_epoch", "ItemWaterPurificationTablets", "ItemPainKillers", "ItemDefibrillator", + "ItemBloodBag_Empty", "ItemBloodBag_Full", "ItemAntibiotic", "nanite_cream_epoch", "nanite_pills_epoch"]; + GMS_specialItems = GMS_throwableExplosives + GMS_medicalItems; + GMS_binocs = ["Binocular","Rangefinder","Laserdesignator"]; + GMS_NVG = ["NVG_EPOCH"]; + GMS_loot = []; + GMS_epochValuables = ["PartOreGold","PartOreSilver","PartOre","ItemGoldBar","ItemSilverBar", + "ItemGoldBar10oz","ItemTopaz","ItemOnyx","ItemSapphire","ItemAmethyst", + "ItemEmerald","ItemCitrine","ItemRuby","ItemQuartz","ItemJade", + "ItemGarnet","ItemKiloHemp"]; + GMS_epochBuildingSupplies = ["PartPlankPack","ItemPlywoodPack","CinderBlocks","MortarBucket","ItemScraps","ItemComboLock", + "ItemCorrugated","ItemCorrugatedLg","CircuitParts","WoodLog_EPOCH","ItemRope","ItemStick","ItemRock","ItemBurlap","ItemBulb","ItemSolar","ItemCables","ItemBattery","Pelt_EPOCH","JackKit","ItemCanvas","ItemSeedBag","ItemPipe"]; + GMS_epochVehicleRepair = ["EngineParts","FuelTank","SpareTire","ItemGlass", + "ItemDuctTape","VehicleRepair"]; + GMS_buildingMaterials = GMS_epochBuildingSupplies + GMS_epochVehicleRepair; + +/*************************************************************************************** +DEFAULT CONTENTS OF LOOT CRATES FOR EACH MISSION +Note however that these configurations can be used in any way you like or replaced with mission-specific customized loot arrays +for examples of how you can do this see \Major\Compositions.sqf +***************************************************************************************/ + + // values are: number of things from the weapons, magazines, optics, materials(cinder etc), items (food etc) and backpacks arrays to add, respectively. + GMS_lootCountsOrange = [6,0,6,10,10,0]; // Orange + GMS_lootCountsGreen = [5,0,5,8,8,0]; // Green + GMS_lootCountsRed = [4,0,4,6,6,0]; // Red + GMS_lootCountsBlue = [4,0,3,5,5,0]; // Blue + private _weapons = [ + "MultiGun", + "M14_EPOCH", + "M14Grn_EPOCH", + "M14_EPOCH", + "M14Grn_EPOCH", + "m107_EPOCH", + "m107Tan_EPOCH", + "CUP_Famas_F1_Rail", + "CUP_Famas_F1_Rail_Wood", + "CUP_Famas_F1_Rail_Arid", + "CUP_srifle_LeeEnfield_rail", + "CUP_smg_MP5A5_Rail", + "CUP_arifle_SR3M_Vikhr_top_rail", + "CUP_arifle_AKMN_railed", + "CUP_arifle_AKMN_railed_afg", + "CUP_arifle_AKMN_railed_desert", + "CUP_arifle_AKMN_railed_afg_desert", + "CUP_arifle_AKM_top_rail", + "CUP_arifle_AKMS_top_rail", + "CUP_arifle_AKS74U_top_rail", + "CUP_arifle_AKS74U_railed", + "CUP_arifle_AK47_top_rail", + "CUP_arifle_AKS_top_rail", + "CUP_arifle_AKS74_top_rail", + "CUP_arifle_AK74M_top_rail", + "CUP_arifle_AK74M_railed", + "CUP_arifle_AK74M_railed_afg", + "CUP_arifle_AK74M_top_rail_desert", + "CUP_arifle_AK74M_railed_desert", + "CUP_arifle_AK74M_railed_afg_desert", + "CUP_arifle_AK74M_top_rail_camo", + "CUP_arifle_AK74M_railed_camo", + "CUP_arifle_AK74M_railed_afg_camo", + "CUP_arifle_AK101_top_rail", + "CUP_arifle_AK101_railed", + "CUP_arifle_AK103_top_rail", + "CUP_arifle_AK103_railed", + "CUP_arifle_AK107_top_rail", + "CUP_arifle_AK107_railed", + "CUP_arifle_AK108_top_rail", + "CUP_arifle_AK108_railed", + "CUP_arifle_AK109_top_rail", + "CUP_arifle_AK109_railed", + "CUP_arifle_AK102_top_rail", + "CUP_arifle_AK102_railed", + "CUP_arifle_AK104_top_rail", + "CUP_arifle_AK104_railed", + "CUP_arifle_AK105_top_rail", + "CUP_arifle_AK105_railed", + "CUP_arifle_SAIGA_MK03_top_rail", + "CUP_arifle_SIAGE_MK03_Wood_top_rail", + "CUP_arifle_TYPE_56_2_top_rail", + "CUP_smg_vityaz_top_rail", + "CUP_smg_vityaz_vfg_top_rail", + "CUP_smg_vityaz_vfg_front_rail", + "CUP_arifle_FNFAL_railed_desert", + "CUP_arifle_FNFAL_railed_sand", + "CUP_arifle_FNFAL_railed_woodland", + "CUP_arifle_FNFAL5060_railed", + "CUP_arifle_FNFAL5060_railed_desert", + "CUP_arifle_FNFAL5060_railed_sand", + "CUP_arifle_FNFAL5060_railed_woodland", + "CUP_arifle_FNFAL5061_railed", + "CUP_arifle_FNFAL_OSW_railed", + "CUP_arifle_IMI_Romat_railed", + "CUP_arifle_Steyr_Stg58_railed", + "CUP_arifle_Gewehr1_railed", + "CUP_SKS_rail", + "CUP_arifle_XM8_Compact_Rail", + "CUP_arifle_XM8_Railed", + + // Assault Rifles with GL + "CUP_arifle_AKM_GL_top_rail", + "CUP_arifle_AKMS_GL_top_rail", + "CUP_arifle_AK47_GL_top_rail", + "CUP_arifle_AK74_GL_top_rail", + "CUP_arifle_AKS74_GL_top_rail", + "CUP_arifle_AK74M_GL_top_rail", + "CUP_arifle_AK74M_GL_railed", + "CUP_arifle_AK74M_GL_top_rail_desert", + "CUP_arifle_AK74M_GL_railed_desert", + "CUP_arifle_AK74M_GL_top_rail_camo", + "CUP_arifle_AK74M_GL_railed_camo", + "CUP_arifle_AK101_GL_top_rail", + "CUP_arifle_AK101_GL_railed", + "CUP_arifle_AK103_GL_top_rail", + "CUP_arifle_AK103_GL_railed", + "CUP_arifle_AK107_GL_top_rail", + "CUP_arifle_AK107_GL_railed", + "CUP_arifle_AK108_GL_top_rail", + "CUP_arifle_AK108_GL_railed", + "CUP_arifle_AK109_GL_top_rail", + "CUP_arifle_AK109_GL_railed", + + // LMGs + + "CUP_lmg_MG3_rail", + "CUP_lmg_M249_E2", + "CUP_lmg_minimi_railed", + "CUP_lmg_PKM_top_rail", + "CUP_lmg_Pecheneg_top_rail", + "CUP_arifle_RPK74_top_rail", + "CUP_arifle_RPK74_45_top_rail", + "CUP_arifle_RPK74M_top_rail", + "CUP_arifle_RPK74M_railed", + "CUP_smg_Mac10_rail", + "CUP_lmg_minimi_railed", + "CUP_lmg_PKM_top_rail", + "CUP_lmg_PKM_front_rail_B50_vfg", + "CUP_lmg_PKM_top_rail_B50_vfg", + "CUP_lmg_Pecheneg_top_rail", + "CUP_lmg_Pecheneg_top_rail_B50_vfg", + + // SMGs + "CUP_smg_Mac10_rail", + + // Snipers + "CUP_srifle_SVD_top_rail", + "CUP_srifle_SVD_des_top_rail", + "CUP_srifle_SVD_wdl_top_rail", + "CUP_srifle_VSSVintorez_top_rail", + "CUP_srifle_VSSVintorez_VFG_top_rail", + "CUP_arifle_AS_VAL_top_rail", + "CUP_arifle_AS_VAL_VFG_top_rail", + "CUP_srifle_CZ550_rail", + + "CUP_srifle_SVD_top_rail", + "CUP_srifle_SVD_des_top_rail", + "CUP_srifle_SVD_wdl_top_rail", + "CUP_srifle_VSSVintorez_top_rail", + "CUP_srifle_VSSVintorez_VFG_top_rail", + "CUP_arifle_AS_VAL_top_rail", + "CUP_arifle_AS_VAL_VFG_top_rail", + "CUP_srifle_CZ550_rail", + "CUP_lmg_minimi_railed" + ]; + GMS_CUP_weapons = _weapons; + private _epochAndOtherItems = [ + ["Heal_EPOCH",1,2],["Defib_EPOCH",1,2],["Repair_EPOCH",1,4],["FAK",1,4],["VehicleRepair",1,3],["Rangefinder",1,3],["ItemJade",1,2],["ItemQuartz",1,2],["ItemRuby",1,2],["ItemSapphire",1,2], + ["ItemKiloHemp",1,2],["ItemRuby",1,2],["ItemSilverBar",1,2],["ItemEmerald",1,2],["ItemTopaz",1,2],["ItemOnyx",1,2],["ItemSapphire",1,2],["ItemAmethyst",1,2], + ["ItemSodaRbull",1,3],["ItemSodaOrangeSherbet",1,3],["ItemSodaPurple",1,3],["ItemSodaMocha",1,3],["ItemSodaBurst",1,3], + ["CookedChicken_EPOCH",1,3],["CookedGoat_EPOCH",1,3],["CookedSheep_EPOCH",1,3],["FoodSnooter",1,3],["FoodMeeps",1,3],["FoodBioMeat",1,3],["ItemTuna",1,3],["ItemSeaBass",1,3],["ItemTrout",1,3], + "Towelette" , "ItemVitamins", "morphine_epoch", "iodide_pills_epoch", "adrenaline_epoch", "caffeinepills_epoch", "orlistat_epoch", "ItemCanteen_Empty", "ItemCanteen_Clean", "ItemBottlePlastic_Empty", + "ItemBottlePlastic_Clean", "atropine_epoch", "ItemWaterPurificationTablets", "ItemPainKillers", "ItemDefibrillator", + "ItemBloodBag_Empty", "ItemBloodBag_Full", "ItemAntibiotic", "nanite_cream_epoch", "nanite_pills_epoch","ItemKeyKit" + ]; + private _kitsPartsMaterials = [ + ["CinderBlocks",5,15], + ["jerrycan_epoch",1,2], + ["lighter_epoch",1,2], + ["CircuitParts",2,3], + ["WoodLog_EPOCH",5,10], + ["ItemCorrugatedLg",1,6], + ["ItemCorrugated",3,10], + ["ItemMixOil",1,2], + ["MortarBucket",5,10], + ["PartPlankPack",10,19], + ["ItemLockbox",1,2], + ["ItemSolar",1,2], + ["ItemCables",1,2], + ["ItemBattery",1,2], + ["Pelt_EPOCH",1,2], + ["EnergyPackLg",1,3], + ["ItemCopperBar",1,3], + ["ItemCopperBar10oz",1,2], + ["ItemGoldBar",1,3], + ["ItemAluminumBar",1,3], + ["ItemAluminumBar10oz",1,2], + ["ItemTinBar",1,3], + ["ItemTinBar10oz",1,2], + ["ItemCanvas",2,4], + ["ItemComboLock",1,2], + ["ItemBulb",1,2], + ["ItemPipe",1,4], + ["SeedPacket_Hemp",1,2], + ["SeedPacket_GoldenSeal",1,2], + ["SeedPacket_Poppy",1,2], + ["SeedPacket_Pumpkin",1,2], + ["SeedPacket_Sunflower",1,2], + ["ItemKiloHemp",1,3], + ["ItemRope",1,3], + ["ItemBurlap",1,3], + ["ItemCanvas",1,3], + ["ItemCorrugated",1,3], + ["VehicleRepairLg",1,3], + ["EngineParts",1,3], + ["FuelTank",1,3], + ["ItemGlass",2,4], + ["CSGAS",1,2], + ["SpareTire",2,4], + ["ItemRotor",1,2], + ["EngineBlock",1,2], + ["ItemDuctTape",1,3], + ["SmeltingTools_EPOCH",1,2] + ]; + private _optics = [ // Optics + ["optic_SOS",1,2],["optic_LRPS",1,2],["optic_DMS",1,2],["optic_Aco",1,3],["optic_ACO_grn",1,3],["optic_Holosight",1,3],["acc_flashlight",1,3],["acc_pointer_IR",1,3], + ["optic_Arco",1,3],["optic_Hamr",1,3],["optic_Aco",1,3],["optic_ACO_grn",1,3],["optic_Aco_smg",1,3],["optic_ACO_grn_smg",1,3], + ["optic_Holosight",1,3],["optic_Holosight_smg",1,3],["optic_SOS",1,3],["optic_MRCO",1,3],["optic_DMS",1,3],["optic_Yorris",1,3], + ["optic_MRD",1,3],["optic_LRPS",1,3],["optic_NVS",1,3],["optic_Nightstalker",1,2],["optic_Nightstalker",1,2],["optic_Nightstalker",1,2], + ["optic_tws",1,3],["optic_tws_mg",1,3],["muzzle_snds_H",1,3],["muzzle_snds_L",1,3],["muzzle_snds_M",1,3],["muzzle_snds_B",1,3],["muzzle_snds_H_MG",1,3],["muzzle_snds_acp",1,3], + ["optic_AMS_khk",1,3],["optic_AMS_snd",1,3],["optic_KHS_blk",1,3],["optic_KHS_hex",1,3],["optic_KHS_old",1,3],["optic_KHS_tan",1,3] + ]; + private _backpacks = [ // Backpacks + ["B_AssaultPack_dgtl",1,2],["B_AssaultPack_khk",1,2],["B_AssaultPack_mcamo",1,2],["B_AssaultPack_ocamo",1,2],["B_AssaultPack_rgr",1,2],["B_AssaultPack_sgg",1,2], + ["B_Carryall_cbr",1,2],["B_Carryall_khk",1,2],["B_Carryall_mcamo",1,2],["B_Carryall_ocamo",1,2],["B_Carryall_oli",1,2],["B_Carryall_oucamo",1,2],["B_FieldPack_blk",1,2], + ["B_FieldPack_cbr",1,2],["B_FieldPack_khk",1,2],["B_FieldPack_ocamo",1,2],["B_FieldPack_oli",1,2],["B_FieldPack_oucamo",1,2],["B_Kitbag_cbr",1,2],["B_Kitbag_mcamo",1,2], + ["B_Kitbag_rgr",1,2],["B_Kitbag_sgg",1,2],["B_Parachute",1,2],["B_TacticalPack_blk",1,2],["B_TacticalPack_mcamo",1,2],["B_TacticalPack_ocamo",1,2],["B_TacticalPack_oli",1,2], + ["B_TacticalPack_rgr",1,2],["smallbackpack_red_epoch",1,2],["smallbackpack_green_epoch",1,2],["smallbackpack_teal_epoch",1,2],["smallbackpack_pink_epoch",1,2] + ]; + private _launchers = [ + //["CUP_OG7_M",2,4], + //["CUP_PG7V_M",2,4] + ]; + GMS_BoxLoot_Orange = + // Loot is grouped as [weapons],[magazines],[items] in order to be able to use the correct function to load the item into the crate later on. + // Each item consist of the following information ["ItemName",minNum, maxNum] where min is the smallest number added and min+max is the largest number added. + + [ + GMS_WeaponList_Orange, + [] + _launchers, + _optics, + _kitsPartsMaterials, + _epochAndOtherItems, + _backpacks + ]; + + GMS_BoxLoot_Green = + [ + GMS_WeaponList_Green, + [] + _launchers, + _optics, + _kitsPartsMaterials, + _epochAndOtherItems, + _backpacks + ]; + + GMS_BoxLoot_Blue = + [ + GMS_WeaponList_Blue, + [], + _optics, + _kitsPartsMaterials, + _epochAndOtherItems, + _backpacks + ]; + + GMS_BoxLoot_Red = + [ + GMS_WeaponList_Red, + [], + _optics, + _kitsPartsMaterials, + _epochAndOtherItems, + _backpacks + ]; + +GMS_contructionLoot = GMS_BoxLoot_Orange; +GMS_highPoweredLoot = GMS_BoxLoot_Orange; +GMS_supportLoot = GMS_BoxLoot_Orange; +GMS_configs_loaded = true; +["Configurations for Epoch Loaded"] call GMS_fnc_log; + diff --git a/@GMS/addons/GMS/Configs/GMS_configs_exile.sqf b/@GMS/addons/GMS/Configs/GMS_configs_exile.sqf new file mode 100644 index 0000000..c8304a8 --- /dev/null +++ b/@GMS/addons/GMS/Configs/GMS_configs_exile.sqf @@ -0,0 +1,953 @@ +/* + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + Last Modified 3-14-17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +diag_log format ["Loading Exile-specific configs for Non-militarized servers: GMS_configs_exile.sqf"]; + +// list of locations that are protected against mission spawns + +switch (toLower(worldName)) do +{ + case "altis": { + GMS_locationBlackList append [ + //Add location as [[xpos,ypos,0],minimumDistance], + // Note that there should not be a comma after the last item in this table + [[10800,10641,0],1000] // isthmus - missions that spawn here often are glitched. + ]; + }; + case "tanoa": { + GMS_locationBlackList append [ ]; + }; +}; + +/********************************************************************************* + +AI WEAPONS, UNIFORMS, VESTS AND GEAR + +**********************************************************************************/ + + GMS_blacklistSpawns = true; + GMS_listConcreteMixerZones = true; + + GMS_crateMoneyBlue = [100,250]; + GMS_crateMoneyRed = [175, 300]; + GMS_crateMoneyGreen = [300, 500]; + GMS_crateMoneyOrange = [500, 750]; + + GMS_crateTypes = ["Box_FIA_Ammo_F","Box_FIA_Support_F","Box_FIA_Wps_F","I_SupplyCrate_F","Box_NATO_AmmoVeh_F","Box_East_AmmoVeh_F","IG_supplyCrate_F","Box_NATO_Wps_F","I_CargoNet_01_ammo_F","O_CargoNet_01_ammo_F","B_CargoNet_01_ammo_F"]; // Default crate type. + + GMS_maximumItemPriceInAI_Loadouts = 1000; + + GMS_open_armed_vehicles = [ + //"nameNoGoodOpen", + "Exile_Car_BTR40_MG_Green", + "Exile_Car_HMMWV_M134_Green", + "Exile_Car_HMMWV_M2_Green", + "B_LSV_01_armed_F", + "Exile_Car_Offroad_Armed_Guerilla01", + "B_G_Offroad_01_armed_F", + "O_G_Offroad_01_armed_F" + ]; + + GMS_lightlyArmed_ARMA3 = [ + //"nameNoGoodClosed", + "B_MRAP_01_gmg_F", + "B_MRAP_01_hmg_F", + "O_MRAP_02_gmg_F", + "O_MRAP_02_hmg_F", + "I_MRAP_03_hmg_F", + "I_MRAP_03_gmg_F", + "B_APC_Wheeled_01_cannon_F", + "I_APC_Wheeled_03_cannon_F" + ]; + + GMS_light_AT_ARMA3 = [ + "O_G_Offroad_01_AT_F", + "B_G_Offroad_01_AT_F", + "O_T_LSV_02_AT_F", + "O_LSV_02_AT_F", + "B_T_LSV_01_AT_F", + "B_LSV_01_AT_F" + ]; + GMS_tracked_AA_ARMA3 = [ + "O_APC_Tracked_02_AA_F", + "B_APC_Tracked_01_AA_F" + ]; + GMS_tracked_APC_ARMA3 = [ + "B_APC_Tracked_01_rcws_F", + //"B_APC_Tracked_01_CRV_F", + "O_APC_Tracked_02_cannon_F", + "O_APC_Wheeled_02_rcws_F", + "I_APC_tracked_03_cannon_F" + ]; + + GMS_Tanks_ARMA3 = [ + //"B_MBT_01_arty_F", + //"B_MBT_01_mlrs_F", + "B_MBT_01_TUSK_F", + "O_MBT_02_cannon_F", + //"O_MBT_02_arty_F", + "I_MBT_03_cannon_F" + ]; + + GMS_open_armed_CUP = [ + "CUP_I_Hilux_DSHKM_TK", + "CUP_I_Hilux_armored_DSHKM_TK", + "CUP_I_Hilux_armored_igla_TK", + "CUP_O_Datsun_PK", + "CUP_B_HMMWV_M2_USMC", + "CUP_B_HMMWV_MK19_USMC", + "CUP_B_LR_MG_CZ_W", + "CUP_B_LR_MG_GB_W", + "CUP_B_LR_MG_GB_D", + "CUP_B_LR_Special_M2_GB_W", + "CUP_B_LR_Special_M2_GB_D", + "CUP_B_UAZ_MG_CDF", + "CUP_O_UAZ_MG_CHDKZ" + ]; + + GMS_closed_armed_CUP = [ + "CUP_BAF_Jackal2_L2A1_D", + "CUP_B_Mastiff_HMG_GB_D", + "CUP_B_Mastiff_HMG_GB_W" + ]; + + GMS_APC_CUP = [ + "CUP_B_Mastiff_GMG_GB_D", + "CUP_B_Mastiff_HMG_GB_D", + "CUP_B_Ridgback_HMG_GB_D", + "CUP_B_Ridgback_GMG_GB_D", + "CUP_B_M1128_MGS_Desert", + "CUP_B_M1135_ATGMV_Desert_Slat", + "CUP_B_M1133_MEV_Desert_Slat", + "CUP_B_LAV25M240_desert_USMC", + "CUP_B_M1129_MC_MK19_Desert_Slat", + "CUP_B_LAV25_HQ_desert_USMC", + "CUP_B_BRDM2_ATGM_CDF", + "CUP_B_BTR60_CDF", + "CUP_B_M1130_CV_M2_Desert_Slat", + "CUP_B_M1126_ICV_MK19_Desert_Slat", + "CUP_O_BTR90_RU", + "CUP_O_GAZ_Vodnik_BPPU_RU", + "CUP_B_M1126_ICV_M2_Desert", + "CUP_B_M1126_ICV_MK19_Desert", + "CUP_B_M1130_CV_M2_Desert", + "CUP_B_M1126_ICV_M2_Desert_Slat", + "CUP_B_M1133_MEV_Desert", + "CUP_O_GAZ_Vodnik_AGS_RU", + "CUP_O_GAZ_Vodnik_PK_RU" + ]; + + GMS_Tanks_CUP = [ + "CUP_B_M2A3Bradley_USA_D", + //"CUP_B_M113_desert_USA", + //"CUP_B_M163_USA", + "CUP_B_M6LineBacker_USA_D", + "CUP_B_M1A1_DES_US_Army", + "CUP_B_M1A2_TUSK_MG_DES_US_Army", + //"CUP_B_AAV_USMC", + //"CUP_B_M270_DPICM_USA", + "CUP_B_ZSU23_CDF", + //"CUP_B_BMP2_CDF", + "CUP_B_T72_CDF", + //"CUP_I_T34_NAPA", + "CUP_B_Challenger2_NATO", + //"CUP_B_FV432_Bulldog_GB_D_RWS", + //"CUP_B_FV432_Bulldog_GB_D", + "CUP_B_FV510_GB_D_SLAT", + //"CUP_B_MCV80_GB_D_SLAT", + //"CUP_O_2S6_RU", + "CUP_O_BMP3_RU", + "CUP_O_T90_RU", + "CUP_O_T55_SLA" //, + //"CUP_O_BMP1P_TKA", + //"CUP_B_M270_DPICM_USA", + //"CUP_B_M2Bradley_USA_W", + //"CUP_B_FV510_GB_D", + //"CUP_B_MCV80_GB_D", + //"CUP_B_M7Bradley_USA_D", + //"CUP_O_2S6_RU", + //"CUP_O_BMP1_TKA"" + ]; + + + GMS_AIPatrolVehicles = + [ + //"Exile_Car_Offroad_Armed_Guerilla01", + //"Exile_Car_Offroad_Armed_Guerilla02", + //"Exile_Car_BTR40_MG_Green", + //"Exile_Car_BTR40_MG_Camo", + //"Exile_Car_HMMWV_M134_Green", + //"Exile_Car_HMMWV_M134_Desert", + //"Exile_Car_HMMWV_M134_Desert", + "Exile_Car_HMMWV_M2_Desert", + "B_LSV_01_armed_F", + //"_MRAP_02_gmg_ghex_F", + //"O_MRAP_02_hmg_ghex_F", + //"O_MRAP_03_gmg_ghex_F", + //"O_MRAP_03_hmg_ghex_F", + "B_MBT_01_cannon_F", + "B_MBT_01_cannon_F", // Duplicate to increase chance that these will spawn relative to others + //"B_MBT_01_mlrs_base_F", + //"B_MBT_01_mlrs_F", + "B_MBT_01_TUSK_F", + "B_MBT_01_TUSK_F",// Duplicate to increase chance that these will spawn relative to others + "B_APC_Tracked_01_AA_F", + "B_APC_Tracked_01_AA_F",// Duplicate to increase chance that these will spawn relative to others + "B_APC_Tracked_01_AA_F",// Duplicate to increase chance that these will spawn relative to others + //"B_APC_Tracked_01_CRV_F", + "B_APC_Tracked_01_rcws_F" + ]; // Type of vehicle spawned to defend AI bases + + + GMS_AIPatrolVehicles = ["Exile_Car_Offroad_Armed_Guerilla01","Exile_Car_Offroad_Armed_Guerilla02","Exile_Car_BTR40_MG_Green","Exile_Car_BTR40_MG_Camo","Exile_Car_HMMWV_M134_Green","Exile_Car_HMMWV_M134_Desert",/*"Exile_Car_HMMWV_M134_Desert","Exile_Car_HMMWV_M2_Desert",*/"B_LSV_01_armed_F"]; // Type of vehicle spawned to defend AI bases + GMS_AIPatrolVehiclesBlue = GMS_open_armed_vehicles; + GMS_AIPatrolVehiclesRed = GMS_lightlyArmed_ARMA3; + GMS_AIPatrolVehiclesGreen = GMS_light_AT_ARMA3 + GMS_tracked_APC_ARMA3; + GMS_AIPatrolVehiclesOrange = GMS_Tanks_ARMA3 + GMS_light_AT_ARMA3; + + // Use these if you wish to add CUP vehicles at missions from the lists above. + //GMS_AIPatrolVehiclesBlue = GMS_AIPatrolVehiclesBlue + GMS_open_armed_CUP; + //GMS_AIPatrolVehiclesRed = GMS_AIPatrolVehiclesRed + GMS_closed_armed_CUP; + //GMS_AIPatrolVehiclesGreen = GMS_AIPatrolVehiclesGreen + GMS_APC_CUP; + //GMS_AIPatrolVehiclesOrange = GMS_AIPatrolVehiclesOrange + GMS_Tanks_CUP; + + + // Blacklisted itesm + GMS_blacklistedOptics = ["optic_Nightstalker","optic_tws","optic_tws_mg"]; + + // AI Weapons and Attachments + GMS_bipods = ["bipod_01_F_blk","bipod_01_F_mtp","bipod_01_F_snd","bipod_02_F_blk","bipod_02_F_hex","bipod_02_F_tan","bipod_03_F_blk","bipod_03_F_oli"]; + + GMS_Optics_Holo = ["optic_Hamr","optic_MRD","optic_Holosight","optic_Holosight_smg","optic_Aco","optic_ACO_grn","optic_ACO_grn_smg","optic_Aco_smg","optic_Yorris"]; + GMS_Optics_Reticule = ["optic_Arco","optic_MRCO"]; + GMS_Optics_Scopes = [ + "optic_AMS","optic_AMS_khk","optic_AMS_snd", + "optic_DMS", + "optic_KHS_blk","optic_KHS_hex","optic_KHS_old","optic_KHS_tan", + "optic_LRPS", + "optic_Nightstalker", + "optic_NVS", + "optic_SOS", + "optic_tws" + //"optic_tws_mg", + ]; + GMS_Optics = GMS_Optics_Holo + GMS_Optics_Reticule + GMS_Optics_Scopes; + GMS_Optics_Apex = [ + //Apex + "optic_Arco_blk_F", "optic_Arco_ghex_F", + "optic_DMS_ghex_F", + "optic_Hamr_khk_F", + "optic_ERCO_blk_F","optic_ERCO_khk_F","optic_ERCO_snd_F", + "optic_SOS_khk_F", + "optic_LRPS_tna_F","optic_LRPS_ghex_F", + "optic_Holosight_blk_F","optic_Holosight_khk_F","optic_Holosight_smg_blk_F" + ]; + #ifdef useAPEX + GMS_Optics = GMS_Optics + GMS_Optics_Apex; + #endif + + GMS_bipods = [ + "bipod_01_F_blk","bipod_01_F_mtp","bipod_01_F_snd","bipod_02_F_blk","bipod_02_F_hex","bipod_02_F_tan","bipod_03_F_blk","bipod_03_F_oli", + //Apex + "bipod_01_F_khk" + ]; + + GMS_silencers = [ + "muzzle_snds_338_black","muzzle_snds_338_green","muzzle_snds_338_sand","muzzle_snds_93mmg","muzzle_snds_93mmg_tan","muzzle_snds_acp","muzzle_snds_B", + "muzzle_snds_H","muzzle_snds_H_MG","muzzle_snds_H_SW","muzzle_snds_L","muzzle_snds_M", + //Apex + "muzzle_snds_H_khk_F","muzzle_snds_H_snd_F","muzzle_snds_58_blk_F","muzzle_snds_m_khk_F","muzzle_snds_m_snd_F","muzzle_snds_B_khk_F","muzzle_snds_B_snd_F", + "muzzle_snds_58_wdm_F","muzzle_snds_65_TI_blk_F","muzzle_snds_65_TI_hex_F","muzzle_snds_65_TI_ghex_F","muzzle_snds_H_MG_blk_F","muzzle_snds_H_MG_khk_F" + ]; + + GMS_RifleSniper = [ + "srifle_EBR_F","srifle_GM6_F","srifle_LRR_F","srifle_DMR_01_F" + ]; + + GMS_RifleAsault_556 = [ + "arifle_SDAR_F","arifle_TRG21_F","arifle_TRG20_F","arifle_TRG21_GL_F","arifle_Mk20_F","arifle_Mk20C_F","arifle_Mk20_GL_F","arifle_Mk20_plain_F","arifle_Mk20C_plain_F","arifle_Mk20_GL_plain_F","arifle_SDAR_F" + ]; + + GMS_RifleAsault_650 = [ + "arifle_Katiba_F","arifle_Katiba_C_F","arifle_Katiba_GL_F","arifle_MXC_F","arifle_MX_F","arifle_MX_GL_F","arifle_MXM_F" + ]; + + GMS_RifleAsault = [ + "arifle_Katiba_F","arifle_Katiba_C_F","arifle_Katiba_GL_F","arifle_MXC_F","arifle_MX_F","arifle_MX_GL_F","arifle_MXM_F","arifle_SDAR_F", + "arifle_TRG21_F","arifle_TRG20_F","arifle_TRG21_GL_F","arifle_Mk20_F","arifle_Mk20C_F","arifle_Mk20_GL_F","arifle_Mk20_plain_F","arifle_Mk20C_plain_F","arifle_Mk20_GL_plain_F" + ]; + + GMS_RifleLMG = [ + "LMG_Mk200_F","LMG_Zafir_F" + ]; + + GMS_RifleOther = [ + "SMG_01_F","SMG_02_F" + ]; + + GMS_Pistols = [ + "hgun_PDW2000_F","hgun_ACPC2_F","hgun_Rook40_F","hgun_P07_F","hgun_Pistol_heavy_01_F","hgun_Pistol_heavy_02_F","hgun_Pistol_Signal_F" + ]; + GMS_Pistols_blue = GMS_Pistols; + GMS_Pistols_red = GMS_Pistols; + GMS_Pistols_green = GMS_Pistols; + GMS_Pistols_orange = GMS_Pistols; + + GMS_DLC_MMG = [ + "MMG_01_hex_F","MMG_02_sand_F","MMG_01_tan_F","MMG_02_black_F","MMG_02_camo_F" + ]; + + GMS_DLC_Sniper = [ + "srifle_DMR_02_camo_F","srifle_DMR_02_F","srifle_DMR_02_sniper_F","srifle_DMR_03_F","srifle_DMR_03_tan_F","srifle_DMR_04_F","srifle_DMR_04_Tan_F","srifle_DMR_05_blk_F","srifle_DMR_05_hex_F","srifle_DMR_05_tan_F","srifle_DMR_06_camo_F","srifle_DMR_06_olive_F" + ]; + + //This defines the random weapon to spawn on the AI + //https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Weapons + GMS_WeaponList_Orange = GMS_RifleSniper + GMS_RifleAsault_650 + GMS_RifleLMG + GMS_DLC_Sniper + GMS_DLC_MMG; + GMS_WeaponList_Green = GMS_RifleSniper + GMS_RifleAsault_650 +GMS_RifleLMG + GMS_DLC_MMG; + GMS_WeaponList_Blue = GMS_RifleOther + GMS_RifleAsault_556 + GMS_RifleAsault_650; + GMS_WeaponList_Red = GMS_RifleAsault_556 + GMS_RifleSniper + GMS_RifleAsault_650 + GMS_RifleLMG; + + GMS_apexWeapons = ["arifle_AK12_F","arifle_AK12_GL_F","arifle_AKM_F","arifle_AKM_FL_F","arifle_AKS_F","arifle_ARX_blk_F","arifle_ARX_ghex_F","arifle_ARX_hex_F","arifle_CTAR_blk_F","arifle_CTAR_hex_F", + "arifle_CTAR_ghex_F","arifle_CTAR_GL_blk_F","arifle_CTARS_blk_F","arifle_CTARS_hex_F","arifle_CTARS_ghex_F","arifle_SPAR_01_blk_F","arifle_SPAR_01_khk_F","arifle_SPAR_01_snd_F", + "arifle_SPAR_01_GL_blk_F","arifle_SPAR_01_GL_khk_F","arifle_SPAR_01_GL_snd_F","arifle_SPAR_02_blk_F","arifle_SPAR_02_khk_F","arifle_SPAR_02_snd_F","arifle_SPAR_03_blk_F", + "arifle_SPAR_03_khk_F","arifle_SPAR_03_snd_F","arifle_MX_khk_F","arifle_MX_GL_khk_F","arifle_MXC_khk_F","arifle_MXM_khk_F"]; + #ifdef useAPEX + GMS_WeaponList_Orange = GMS_WeaponList_Orange + GMS_apexWeapons; + GMS_WeaponList_Green = GMS_WeaponList_Green + GMS_apexWeapons; + #endif + + GMS_backpacks = ["B_Carryall_ocamo","B_Carryall_oucamo","B_Carryall_mcamo","B_Carryall_oli","B_Carryall_khk","B_Carryall_cbr" ]; + + GMS_ApexBackpacks = [ + "B_Bergen_mcamo_F","B_Bergen_dgtl_F","B_Bergen_hex_F","B_Bergen_tna_F","B_AssaultPack_tna_F","B_Carryall_ghex_F", + "B_FieldPack_ghex_F","B_ViperHarness_blk_F","B_ViperHarness_ghex_F","B_ViperHarness_hex_F","B_ViperHarness_khk_F", + "B_ViperHarness_oli_F","B_ViperLightHarness_blk_F","B_ViperLightHarness_ghex_F","B_ViperLightHarness_hex_F","B_ViperLightHarness_khk_F","B_ViperLightHarness_oli_F" + ]; + #ifdef useAPEX + GMS_backpacks = GMS_ApexBackpacks + GMS_backpacks; + #endif + GMS_backpacks_blue = GMS_backpacks; + GMS_backpacks_red = GMS_backpacks; + GMS_backpacks_green = GMS_backpacks; + GMS_backpacks_orange = GMS_backpacks; + + GMS_BanditHeadgear = ["H_Shemag_khk","H_Shemag_olive","H_Shemag_tan","H_ShemagOpen_khk"]; + //This defines the skin list, some skins are disabled by default to permit players to have high visibility uniforms distinct from those of the AI. + GMS_headgear = [ + "H_Cap_blk", + "H_Cap_blk_Raven", + "H_Cap_blu", + "H_Cap_brn_SPECOPS", + "H_Cap_grn", + "H_Cap_headphones", + "H_Cap_khaki_specops_UK", + "H_Cap_oli", + "H_Cap_press", + "H_Cap_red", + "H_Cap_tan", + "H_Cap_tan_specops_US", + "H_Watchcap_blk", + "H_Watchcap_camo", + "H_Watchcap_khk", + "H_Watchcap_sgg", + "H_MilCap_blue", + "H_MilCap_dgtl", + "H_MilCap_mcamo", + "H_MilCap_ocamo", + "H_MilCap_oucamo", + "H_MilCap_rucamo", + "H_Bandanna_camo", + "H_Bandanna_cbr", + "H_Bandanna_gry", + "H_Bandanna_khk", + "H_Bandanna_khk_hs", + "H_Bandanna_mcamo", + "H_Bandanna_sgg", + "H_Bandanna_surfer", + "H_Booniehat_dgtl", + "H_Booniehat_dirty", + "H_Booniehat_grn", + "H_Booniehat_indp", + "H_Booniehat_khk", + "H_Booniehat_khk_hs", + "H_Booniehat_mcamo", + "H_Booniehat_tan", + "H_Hat_blue", + "H_Hat_brown", + "H_Hat_camo", + "H_Hat_checker", + "H_Hat_grey", + "H_Hat_tan", + "H_StrawHat", + "H_StrawHat_dark", + "H_Beret_02", + "H_Beret_blk", + "H_Beret_blk_POLICE", + "H_Beret_brn_SF", + "H_Beret_Colonel", + "H_Beret_grn", + "H_Beret_grn_SF", + "H_Beret_ocamo", + "H_Beret_red", + "H_Shemag_khk", + "H_Shemag_olive", + "H_Shemag_olive_hs", + "H_Shemag_tan", + "H_ShemagOpen_khk", + "H_ShemagOpen_tan", + "H_TurbanO_blk", + "H_CrewHelmetHeli_B", + "H_CrewHelmetHeli_I", + "H_CrewHelmetHeli_O", + "H_HelmetCrew_I", + "H_HelmetCrew_B", + "H_HelmetCrew_O", + "H_PilotHelmetHeli_B", + "H_PilotHelmetHeli_I", + "H_PilotHelmetHeli_O", + //Apex + + "H_MilCap_tna_F", + "H_MilCap_ghex_F", + "H_Booniehat_tna_F", + "H_Beret_gen_F", + "H_MilCap_gen_F", + "H_Cap_oli_Syndikat_F", + "H_Cap_tan_Syndikat_F", + "H_Cap_blk_Syndikat_F", + "H_Cap_grn_Syndikat_F" + ]; + GMS_helmets = [ + "H_HelmetB", + "H_HelmetB_black", + "H_HelmetB_camo", + "H_HelmetB_desert", + "H_HelmetB_grass", + "H_HelmetB_light", + "H_HelmetB_light_black", + "H_HelmetB_light_desert", + "H_HelmetB_light_grass", + "H_HelmetB_light_sand", + "H_HelmetB_light_snakeskin", + "H_HelmetB_paint", + "H_HelmetB_plain_blk", + "H_HelmetB_sand", + "H_HelmetB_snakeskin", + "H_HelmetCrew_B", + "H_HelmetCrew_I", + "H_HelmetCrew_O", + "H_HelmetIA", + "H_HelmetIA_camo", + "H_HelmetIA_net", + "H_HelmetLeaderO_ocamo", + "H_HelmetLeaderO_oucamo", + "H_HelmetO_ocamo", + "H_HelmetO_oucamo", + "H_HelmetSpecB", + "H_HelmetSpecB_blk", + "H_HelmetSpecB_paint1", + "H_HelmetSpecB_paint2", + "H_HelmetSpecO_blk", + "H_HelmetSpecO_ocamo", + "H_CrewHelmetHeli_B", + "H_CrewHelmetHeli_I", + "H_CrewHelmetHeli_O", + "H_HelmetCrew_I", + "H_HelmetCrew_B", + "H_HelmetCrew_O", + "H_PilotHelmetHeli_B", + "H_PilotHelmetHeli_I", + "H_PilotHelmetHeli_O", + "H_Helmet_Skate", + "H_HelmetB_TI_tna_F", + // Apex + //"H_HelmetO_ViperSP_hex_F", + //"H_HelmetO_ViperSP_ghex_F", + "H_HelmetB_tna_F", + "H_HelmetB_Enh_tna_F", + "H_HelmetB_Light_tna_F", + "H_HelmetSpecO_ghex_F", + "H_HelmetLeaderO_ghex_F", + "H_HelmetO_ghex_F", + "H_HelmetCrew_O_ghex_F" + ]; + GMS_headgearList = GMS_headgear + GMS_helmets; + GMS_headgear_blue = GMS_headgearList; + GMS_headgear_red = GMS_headgearList; + GMS_headgear_green = GMS_headgearList; + GMS_headgear_orange = GMS_headgearList; + + //This defines the skin list, some skins are disabled by default to permit players to have high visibility uniforms distinct from those of the AI. + GMS_SkinList = [ + //https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Equipment + // I have commented out some high visibility uniforms that can be reserved for players or special missions. + // for example, you could have a uniform list specified in a mission template. + "U_AntigonaBody", + "U_AttisBody", + "U_B_CombatUniform_mcam","U_B_CombatUniform_mcam_tshirt","U_B_CombatUniform_mcam_vest","U_B_CombatUniform_mcam_worn","U_B_CombatUniform_sgg","U_B_CombatUniform_sgg_tshirt","U_B_CombatUniform_sgg_vest","U_B_CombatUniform_wdl","U_B_CombatUniform_wdl_tshirt","U_B_CombatUniform_wdl_vest", + "U_B_CTRG_1","U_B_CTRG_2","U_B_CTRG_3", + "U_B_GhillieSuit", + "U_B_HeliPilotCoveralls","U_B_PilotCoveralls", + "U_B_SpecopsUniform_sgg", + "U_B_survival_uniform", + "U_B_Wetsuit", + //"U_BasicBody", + "U_BG_Guerilla1_1","U_BG_Guerilla2_1","U_BG_Guerilla2_2","U_BG_Guerilla2_3","U_BG_Guerilla3_1","U_BG_Guerilla3_2", + "U_BG_leader", + "U_C_Commoner_shorts","U_C_Commoner1_1","U_C_Commoner1_2","U_C_Commoner1_3","U_C_Commoner2_1","U_C_Commoner2_2","U_C_Commoner2_3", + "U_C_Farmer","U_C_Fisherman","U_C_FishermanOveralls","U_C_HunterBody_brn","U_C_HunterBody_grn", + //"U_C_Journalist", + "U_C_Novak", + //"U_C_Poloshirt_blue","U_C_Poloshirt_burgundy","U_C_Poloshirt_redwhite","U_C_Poloshirt_salmon","U_C_Poloshirt_stripped","U_C_Poloshirt_tricolour", + "U_C_Poor_1","U_C_Poor_2","U_C_Poor_shorts_1","U_C_Poor_shorts_2","U_C_PriestBody","U_C_Scavenger_1","U_C_Scavenger_2", + //"U_C_Scientist","U_C_ShirtSurfer_shorts","U_C_TeeSurfer_shorts_1","U_C_TeeSurfer_shorts_2", + "U_C_WorkerCoveralls","U_C_WorkerOveralls","U_Competitor", + "U_I_CombatUniform","U_I_CombatUniform_shortsleeve","U_I_CombatUniform_tshirt","U_I_G_resistanceLeader_F", + "U_I_G_Story_Protagonist_F", + "U_I_GhillieSuit", + "U_I_HeliPilotCoveralls", + "U_I_OfficerUniform", + "U_I_pilotCoveralls", + "U_I_Wetsuit", + "U_IG_Guerilla1_1","U_IG_Guerilla2_1","U_IG_Guerilla2_2","U_IG_Guerilla2_3","U_IG_Guerilla3_1","U_IG_Guerilla3_2", + "U_IG_leader", + "U_IG_Menelaos", + //"U_KerryBody", + //"U_MillerBody", + //"U_NikosAgedBody", + //"U_NikosBody", + "U_O_CombatUniform_ocamo","U_O_CombatUniform_oucamo", + "U_O_GhillieSuit", + "U_O_OfficerUniform_ocamo", + "U_O_PilotCoveralls", + "U_O_SpecopsUniform_blk", + "U_O_SpecopsUniform_ocamo", + "U_O_Wetsuit", + "U_OG_Guerilla1_1","U_OG_Guerilla2_1","U_OG_Guerilla2_2","U_OG_Guerilla2_3","U_OG_Guerilla3_1","U_OG_Guerilla3_2","U_OG_leader", + //"U_OI_Scientist", + //"U_OrestesBody", + "U_Rangemaster", + // DLC + "U_B_FullGhillie_ard","U_I_FullGhillie_ard","U_O_FullGhillie_ard","U_B_FullGhillie_sard","U_O_FullGhillie_sard","U_I_FullGhillie_sard","U_B_FullGhillie_lsh","U_O_FullGhillie_lsh","U_I_FullGhillie_lsh", + //Apex + "U_B_T_Soldier_F", + "U_B_T_Soldier_AR_F", + "U_B_T_Soldier_SL_F", + //"U_B_T_Sniper_F", + //"U_B_T_FullGhillie_tna_F", + "U_B_CTRG_Soldier_F", + "U_B_CTRG_Soldier_2_F", + "U_B_CTRG_Soldier_3_F", + "U_B_GEN_Soldier_F", + "U_B_GEN_Commander_F", + "U_O_T_Soldier_F", + "U_O_T_Officer_F", + //"U_O_T_Sniper_F", + //"U_O_T_FullGhillie_tna_F", + "U_O_V_Soldier_Viper_F", + "U_O_V_Soldier_Viper_hex_F", + "U_I_C_Soldier_Para_1_F", + "U_I_C_Soldier_Para_2_F", + "U_I_C_Soldier_Para_3_F", + "U_I_C_Soldier_Para_4_F", + "U_I_C_Soldier_Para_5_F", + "U_I_C_Soldier_Bandit_1_F", + "U_I_C_Soldier_Bandit_2_F", + "U_I_C_Soldier_Bandit_3_F", + "U_I_C_Soldier_Bandit_4_F", + "U_I_C_Soldier_Bandit_5_F", + "U_I_C_Soldier_Camo_F", + "U_C_man_sport_1_F", + "U_C_man_sport_2_F", + "U_C_man_sport_3_F", + "U_C_Man_casual_1_F", + "U_C_Man_casual_2_F", + "U_C_Man_casual_3_F", + "U_C_Man_casual_4_F", + "U_C_Man_casual_5_F", + "U_C_Man_casual_6_F", + "U_B_CTRG_Soldier_urb_1_F", + "U_B_CTRG_Soldier_urb_2_F", + "U_B_CTRG_Soldier_urb_3_F" + ]; + GMS_SkinList_blue = GMS_SkinList; + GMS_SkinList_red = GMS_SkinList; + GMS_SkinList_green = GMS_SkinList; + GMS_SkinList_orange = GMS_SkinList; + + GMS_vests = [ + "V_Press_F", + "V_Rangemaster_belt", + "V_TacVest_blk", + "V_TacVest_blk_POLICE", + "V_TacVest_brn", + "V_TacVest_camo", + "V_TacVest_khk", + "V_TacVest_oli", + "V_TacVestCamo_khk", + "V_TacVestIR_blk", + "V_I_G_resistanceLeader_F", + "V_BandollierB_blk", + "V_BandollierB_cbr", + "V_BandollierB_khk", + "V_BandollierB_oli", + "V_BandollierB_rgr", + "V_Chestrig_blk", + "V_Chestrig_khk", + "V_Chestrig_oli", + "V_Chestrig_rgr", + "V_HarnessO_brn", + "V_HarnessO_gry", + "V_HarnessOGL_brn", + "V_HarnessOGL_gry", + "V_HarnessOSpec_brn", + "V_HarnessOSpec_gry", + "V_PlateCarrier1_blk", + "V_PlateCarrier1_rgr", + "V_PlateCarrier2_rgr", + "V_PlateCarrier3_rgr", + "V_PlateCarrierGL_blk", + "V_PlateCarrierGL_mtp", + "V_PlateCarrierGL_rgr", + "V_PlateCarrierH_CTRG", + "V_PlateCarrierIA1_dgtl", + "V_PlateCarrierIA2_dgtl", + "V_PlateCarrierIAGL_dgtl", + "V_PlateCarrierIAGL_oli", + "V_PlateCarrierL_CTRG", + "V_PlateCarrierSpec_blk", + "V_PlateCarrierSpec_mtp", + #ifdef useAPEX + //Apex + "V_TacChestrig_grn_F", + "V_TacChestrig_oli_F", + "V_TacChestrig_cbr_F", + "V_PlateCarrier1_tna_F", + "V_PlateCarrier2_tna_F", + "V_PlateCarrierSpec_tna_F", + "V_PlateCarrierGL_tna_F", + "V_HarnessO_ghex_F", + "V_HarnessOGL_ghex_F", + "V_BandollierB_ghex_F", + "V_TacVest_gen_F", + "V_PlateCarrier1_rgr_noflag_F", + #endif + "V_PlateCarrier2_rgr_noflag_F" + ]; + GMS_vests_blue = GMS_vests; + GMS_vests_red = GMS_vests; + GMS_vests_green = GMS_vests; + GMS_vests_orange = GMS_vests; + + GMS_UMS_uniforms = + [ + "U_I_Wetsuit", + "U_O_Wetsuit", + "U_B_Wetsuit" + ]; + + GMS_UMS_headgear = + [ + "G_Diving", + "G_B_Diving", + "G_O_Diving", + "G_I_Diving" + ]; + + GMS_UMS_vests = + [ + "V_RebreatherB", + "V_RebreatherIA", + "V_RebreatherIR" + ]; + + GMS_UMS_weapons = + [ + "arifle_SDAR_F" + ]; + GMS_UMS_submarines = + [ + + "Exile_Boat_SDV_CSAT", + "Exile_Boat_SDV_Digital", + "Exile_Boat_SDV_Grey" + ]; + + GMS_UMS_crates = ["Exile_Container_SupplyBox"]; + + GMS_UMS_unarmedSurfaceVessels = + [ + "B_Boat_Transport_01_F", + "I_Boat_Transport_01_F" + ]; + GMS_UMS_armedSurfaceVessels = + [ + "B_Boat_Armed_01_minigun_F", + "I_Boat_Armed_01_minigun_F" + ]; + GMS_UMS_surfaceVessels = GMS_UMS_unarmedSurfaceVessels + GMS_UMS_armedSurfaceVessels; + GMS_UMS_shipWrecks = + [ + "Land_Boat_06_wreck_F", + "Land_Boat_05_wreck_F", + "Land_Boat_04_wreck_F", + "Land_Boat_02_abandoned_F", + "Land_Boat_01_abandoned_red_F", + "Land_Boat_01_abandoned_blue_F" + ]; + + //CraftingFood + GMS_Meats=[ + + ]; + GMS_Drink = [ + "Exile_Item_PlasticBottleCoffee", + "Exile_Item_PowerDrink", + "Exile_Item_PlasticBottleFreshWater", + "Exile_Item_Beer", + "Exile_Item_EnergyDrink", + "Exile_Item_MountainDupe" + ]; + GMS_Food = [ + "Exile_Item_EMRE", + "Exile_Item_GloriousKnakworst", + "Exile_Item_Surstromming", + "Exile_Item_SausageGravy", + "Exile_Item_Catfood", + "Exile_Item_ChristmasTinner", + "Exile_Item_BBQSandwich", + "Exile_Item_Dogfood", + "Exile_Item_BeefParts", + "Exile_Item_Cheathas", + "Exile_Item_Noodles", + "Exile_Item_SeedAstics", + "Exile_Item_Raisins", + "Exile_Item_Moobar", + "Exile_Item_InstantCoffee" + ]; + + private _foodDrink = GMS_meats + GMS_drink + GMS_food; + private _buildingStuff = [ + ["Exile_Item_Matches",1,2],["Exile_Item_CookingPot",1,2],["Exile_Item_Rope",1,2],["Exile_Item_DuctTape",1,8],["Exile_Item_ExtensionCord",1,8],["Exile_Item_FuelCanisterEmpty",1,2], + ["Exile_Item_JunkMetal",4,10],["Exile_Item_LightBulb",1,10],["Exile_Item_MetalBoard",4,10],["Exile_Item_MetalPole",4,10],["Exile_Item_CamoTentKit",1,3],["Exile_Item_MetalScrews",3,10], + ["Exile_Item_Sand",4,10],["Exile_Item_Cement",4,10],["Exile_Item_WaterCanisterDirtyWater",1,3],["Exile_Item_FuelCanisterFull",1,3] + ]; + private _toolsItems = [ + "Exile_Item_Matches","Exile_Item_CookingPot","Exile_Item_CanOpener","Exile_Item_Handsaw","Exile_Item_Pliers","Exile_Item_Grinder","Exile_Item_Foolbox","Exile_Item_Hammer", + "Exile_Item_CordlessScrewdriver","Exile_Item_FireExtinguisher","Exile_Item_OilCanister","Exile_Item_Screwdriver","Exile_Item_Shovel","Exile_Item_Wrench","Exile_Item_CordlessScrewdriver", + "Exile_Item_FireExtinguisher","Exile_Item_OilCanister","Exile_Item_Screwdriver","Exile_Item_DuctTape","Binocular","Rangefinder","ItemGPS" + ]; + private _launchers = []; + +GMS_buildingMaterials = ["Exile_Item_ExtensionCord","Exile_Item_JunkMetal","Exile_Item_LightBulb","Exile_Item_MetalBoard", + "Exile_Item_MetalPole","Exile_Item_MetalScrews","Exile_Item_Cement","Exile_Item_Sand","Exile_Item_MetalWire","Exile_Item_ExtensionCord","Exile_Item_JunkMetal"]; +GMS_tools = ["Exile_Item_Matches","Exile_Item_CookingPot","Exile_Melee_Axe","Exile_Melee_SledgeHammmer","Exile_Item_Handsaw","Exile_Item_Pliers","Exile_Item_CanOpener","Exile_Item_Shovel"]; +GMS_loot = GMS_buildingMaterials + GMS_tools; +GMS_medicalItems = ["Exile_Item_InstaDoc","Exile_Item_Bandage","Exile_Item_Vishpirin"]; +GMS_ConsumableItems = GMS_Meats + GMS_Drink + GMS_Food; +/* + "Binocular", + "Rangefinder", + /* + "Laserdesignator", + "Laserdesignator_02", + "Laserdesignator_03" +*/ +GMS_binocs = ["Binocular","Rangefinder","Laserdesignator"]; +GMS_NVG = ["NVGoggles","NVGoggles_INDEP","NVGoggles_OPFOR"]; +GMS_throwableExplosives = ["HandGrenade","MiniGrenade"]; +GMS_otherExplosives = ["1Rnd_HE_Grenade_shell","3Rnd_HE_Grenade_shell","DemoCharge_Remote_Mag","SatchelCharge_Remote_Mag"]; +GMS_explosives = GMS_throwableExplosives + GMS_otherExplosives; +/*************************************************************************************** +DEFAULT CONTENTS OF LOOT CRATES FOR EACH MISSION +Note however that these configurations can be used in any way you like or replaced with mission-specific customized loot arrays +for examples of how you can do this see \Major\Compositions.sqf +***************************************************************************************/ + + // values are: number of things from the weapons, magazines, optics, materials(cinder etc), items (food etc) and backpacks arrays to add, respectively. + GMS_lootCountsOrange = [[6,8],[24,32],[5,10],[25,35],16,1]; // Orange + GMS_lootCountsGreen = [[4,8],[20,30],[5,9],[15,18],18,1]; // Green + GMS_lootCountsRed = [[4,6],[12,18],4,[6,12],6,1]; // Red + GMS_lootCountsBlue = [4,12,3,6,6,1]; // Blue + + GMS_BoxLoot_Orange = + // Loot is grouped as [weapons],[magazines],[items] in order to be able to use the correct function to load the item into the crate later on. + // Each item consist of the following information ["ItemName",minNum, maxNum] where min is the smallest number added and min+max is the largest number added. + + [ + GMS_WeaponList_Orange, + [] + _launchers, + GMS_Optics, + _buildingStuff + _toolsItems, + _foodDrink, + GMS_backpacks_orange + ]; + + GMS_BoxLoot_Green = + [ + GMS_WeaponList_Green, + [] + _launchers, + GMS_Optics, + _buildingStuff + _toolsItems, + _foodDrink, + GMS_backpacks_green + ]; + + GMS_BoxLoot_Blue = + [ + GMS_WeaponList_Blue, + [], + GMS_Optics, + _buildingStuff + _toolsItems, + _foodDrink, + GMS_backpacks_blue + ]; + + GMS_BoxLoot_Red = + [ + GMS_WeaponList_Red, + [], + GMS_Optics, + _buildingStuff + _toolsItems, + _foodDrink, + GMS_backpacks_red + ]; + + +GMS_contructionLootExile = [ + [// Weapons + + ], + [//Magazines + + ], + [ // Optics + + ], + [// Materials and supplies + + // + ["Exile_Item_Matches",1,2],["Exile_Item_CookingPot",1,2],["Exile_Item_Rope",1,2],["Exile_Item_DuctTape",1,8],["Exile_Item_ExtensionCord",1,8],["Exile_Item_FuelCanisterEmpty",1,2], + ["Exile_Item_JunkMetal",4,10],["Exile_Item_LightBulb",1,10],["Exile_Item_MetalBoard",4,10],["Exile_Item_MetalPole",4,10],["Exile_Item_CamoTentKit",1,3],["Exile_Item_MetalScrews",3,10], + ["Exile_Item_Sand",4,10],["Exile_Item_Cement",4,10],["Exile_Item_WaterCanisterDirtyWater",1,3],["Exile_Item_FuelCanisterFull",1,3] + ], + [//Items + "Exile_Item_Matches","Exile_Item_CookingPot","Exile_Item_CanOpener","Exile_Item_Handsaw","Exile_Item_Pliers","Exile_Item_Grinder","Exile_Item_Foolbox","Exile_Item_Hammer", + "Exile_Item_CordlessScrewdriver","Exile_Item_FireExtinguisher","Exile_Item_OilCanister","Exile_Item_Screwdriver","Exile_Item_Shovel","Exile_Item_Wrench","Exile_Item_CordlessScrewdriver", + "Exile_Item_FireExtinguisher","Exile_Item_OilCanister","Exile_Item_Screwdriver","Exile_Item_DuctTape","Binocular","Rangefinder","ItemGPS","ItemMap","ItemCompass","ItemRadio","ItemWatch", + "Exile_Item_XM8" + ], + [ // Backpacks + + ] +]; +GMS_contructionLoot = GMS_contructionLootExile; +GMS_supportLootExile = [ + [// Weapons + + ], + [//Magazines + + ], + [ // Optics + + ], + [// Materials and supplies + + ], + [//Items + ["Exile_Item_Matches",2,4],["Exile_Item_CookingPot",2,4],["Exile_Item_CanOpener",2,4], + ["Exile_Item_InstaDoc",1,2],["NVGoggles",1,2],["Rangefinder",1,2],["Exile_Item_Bandage",1,3],["Exile_Item_Vishpirin",1,3], + ["Exile_Item_Catfood",1,3],["Exile_Item_Surstromming",1,3],["Exile_Item_BBQSandwich",1,3],["Exile_Item_ChristmasTinner",1,3],["Exile_Item_SausageGravy",1,3],["Exile_Item_GloriousKnakworst",1,3], + ["Exile_Item_BeefParts",1,3],["Exile_Item_Cheathas",1,3],["Exile_Item_Noodles",1,3],["Exile_Item_SeedAstics",1,3],["Exile_Item_Raisins",1,3],["Exile_Item_Moobar",1,3],["Exile_Item_InstantCoffee",1,3],["Exile_Item_EMRE",1,3], + ["Exile_Item_PlasticBottleCoffee",1,3],["Exile_Item_PowerDrink",1,3],["Exile_Item_PlasticBottleFreshWater",1,3],["Exile_Item_Beer",1,3],["Exile_Item_EnergyDrink",1,3],["Exile_Item_MountainDupe",1,3] + ], + [ // Backpacks + + ] +]; + +GMS_supportLoot = GMS_supportLootExile; + +GMS_highPoweredLoot = [ + [// Weapons + ["MMG_01_hex_F","150Rnd_93x64_Mag"], + ["MMG_01_tan_F","150Rnd_93x64_Mag"], + ["MMG_02_black_F","150Rnd_93x64_Mag"], + ["MMG_02_camo_F","150Rnd_93x64_Mag"], + ["MMG_02_sand_F","150Rnd_93x64_Mag"], + ["srifle_DMR_02_camo_F","10Rnd_338_Mag"], + ["srifle_DMR_02_F","10Rnd_338_Mag"], + ["srifle_DMR_02_sniper_F","10Rnd_338_Mag"], + ["srifle_DMR_03_F","10Rnd_338_Mag"], + ["srifle_DMR_03_tan_F","10Rnd_338_Mag"], + ["srifle_DMR_04_Tan_F","10Rnd_338_Mag"], + ["srifle_DMR_05_hex_F","10Rnd_338_Mag"], + ["srifle_DMR_05_tan_F","10Rnd_338_Mag"], + ["srifle_DMR_06_camo_F","10Rnd_338_Mag"], + ["srifle_DMR_04_F","10Rnd_127x54_Mag"], + ["srifle_DMR_05_blk_F","10Rnd_93x64_DMR_05_Mag"], + ["srifle_DMR_06_olive_F","20Rnd_762x51_Mag"] //, + /* + ["launch_NLAW_F","NLAW_F"], + ["launch_RPG32_F","RPG7_F"], + ["launch_B_Titan_F","Titan_AT"], + ["launch_I_Titan_F","Titan_AT"], + ["launch_O_Titan_F","Titan_AP"], + ["launch_B_Titan_short_F","Titan_AA"], + ["launch_I_Titan_short_F","Titan_AA"], + ["launch_O_Titan_short_F","Titan_AA"], + ["launch_RPG7_F","RPG32_F"], + ["launch_O_Vorona_brown_F","vorona_HEAT"], + ["launch_O_Vorona_green_F","Vorona_HE"] + */ + ], + [//Magazines + /* + ["NLAW_F",1,3], + ["RPG32_F",1,3], + ["RPG32_HE_F",1,3], + ["Titan_AA",1,3], + ["Titan_AT",1,3], + ["Titan_AP",1,3], + ["RPG7_F",1,3], + ["vorona_HEAT",1,3], + ["Vorona_HE",1,3], + */ + //["10Rnd_338_Mag",1,5], + ["10Rnd_338_Mag",3,5], + //["10Rnd_127x54_Mag" ,1,5], + ["10Rnd_127x54_Mag",3,5], + ["10Rnd_93x64_DMR_05_Mag" ,3,5], + //["10Rnd_93x64_DMR_05_Mag" ,1,5], + ["150Rnd_93x64_Mag",2,5], + ["130Rnd_338_Mag",3,5] + ], + [ // Optics + + ], + [// Materials and supplies + + ], + [//Items + ], + [ // Backpacks + + ] +]; +GMS_configs_loaded = true; +["Configurations for Exile Loaded"] call GMS_fnc_log; diff --git a/@GMS/addons/GMS/Configs/GMS_custom_config.sqf b/@GMS/addons/GMS/Configs/GMS_custom_config.sqf new file mode 100644 index 0000000..3d2acfd --- /dev/null +++ b/@GMS/addons/GMS/Configs/GMS_custom_config.sqf @@ -0,0 +1,212 @@ + +/* + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + Last Modified 3-14-17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +["[GMS] Loading Custom Configurations 11/14//20"] call GMS_fnc_log; + +switch (toLower (worldName)) do +{ + case "altis": + { + /* + GMS_cleanupCompositionTimer = 30; + GMS_AliveAICleanUpTimer = 30; + GMS_vehicleDeleteTimer = 30; + GMS_maxSpawnedMissions = 15; + + GMS_TMin_Blue = 7; + GMS_TMin_Red = 10; + GMS_TMin_Green = 13; + GMS_TMin_Orange = 16; + GMS_TMin_Hunter = 20; + GMS_TMin_Scouts = 20; + GMS_TMin_Crashes = 5; + GMS_TMin_UMS = 20; + //Maximum Spawn time between missions in seconds + GMS_TMax_Blue = 12; + GMS_TMax_Red = 15; + GMS_TMax_Green = 17; + GMS_TMax_Orange = 21; + GMS_TMax_Hunter = 22; + GMS_TMax_Scouts = 22; + GMS_TMax_Crashes = 15; + GMS_TMax_UMS = 25; + */ + }; + case"tanoa": + { + GMS_maxCrashSites = 2; + }; + case"namalsk": + { + private ["_arr","_sunrise","_sunset","_time"]; + _arr = date call BIS_fnc_sunriseSunsetTime; + _sunrise = _arr select 0; + _sunset = _arr select 1; + _daylight = _sunset - _sunrise; + _nightTime = abs(24 - _daylight); + _time = dayTime; + _serverUpTime = 8; + GMS_enableOrangeMissions = 1; + GMS_enableGreenMissions = 1; + GMS_enableRedMissions = 1; + GMS_enableBlueMissions = 1; + GMS_enableHunterMissions = 1; + GMS_enableScoutsMissions = 1; + GMS_maxCrashSites = -1; // recommended settings: 3 for Altis, 2 for Tanoa, 1 for smaller maps. Set to -1 to disable + + GMS_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. + GMS_timeAccelerationDay = 1.5; // Daytime time accelearation + GMS_timeAccelerationDusk = 6; // Dawn/dusk time accelearation + GMS_timeAccelerationNight = (12); // Nighttim time acceleration + + GMS_MinDistanceFromMission = 500; + GMS_minDistanceToBases = 300; + GMS_minDistanceToPlayer = 300; + GMS_minDistanceFromTowns = 100; + }; + case "esseker": + { + GMS_numberUnderwaterDynamicMissions = -1; + }; + case "panthera3": + { + GMS_maxCrashSites = 2; + + }; + case "malden": + { + + GMS_enableOrangeMissions = 1; + GMS_enableGreenMissions = 1; + GMS_enableRedMissions = 1; + GMS_enableBlueMissions = 1; + GMS_numberUnderwaterDynamicMissions = 3; + GMS_enableHunterMissions = 1; + GMS_enableScoutsMissions = 1; + GMS_maxCrashSites = 3; + }; + case "lythium": + { + GMS_enableOrangeMissions = 1; + GMS_enableGreenMissions = 1; + GMS_enableRedMissions = 1; + GMS_enableBlueMissions = 1; + GMS_enableHunterMissions = 1; + GMS_enableScoutsMissions = 1; + GMS_maxCrashSites = 3; + GMS_numberUnderwaterDynamicMissions = -1; + }; + case "enoch": + { + GMS_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. + GMS_timeAccelerationDay = 5.7; // Daytime time accelearation + GMS_timeAccelerationDusk = 7; // Dawn/dusk time accelearation + GMS_timeAccelerationNight = 8; // Nighttim time acceleration + GMS_enableOrangeMissions = 1; + GMS_enableGreenMissions = 1; + GMS_enableRedMissions = 1; + GMS_enableBlueMissions = 1; + GMS_enableHunterMissions = 1; + GMS_enableScoutsMissions = 1; + GMS_maxCrashSites = 3; + GMS_numberUnderwaterDynamicMissions = 1; + }; +}; + +["[GMS] End of map-specific block of Custom Configurations 11/14/20"] call GMS_fnc_log; + +GMS_customConfigsLoaded = 1; + +uiSleep 5; + +if (GMS_debugLevel > 0) then { + + //GMS_MinDistanceFromMission = 1000; + //GMS_minDistanceToBases = 100; + //GMS_minDistanceToPlayer = 1000; + //GMS_minDistanceFromTowns = 100; + //GMS_preciseMapMarkers = true; + //GMS_MissionTimeout = 300; + //GMS_cleanupCompositionTimer = 30; + //GMS_AliveAICleanUpTimer = 30; + //GMS_bodyCleanUpTimer = 30; + //GMS_vehicleDeleteTimer = 30; + //GMS_maxSpawnedMissions = 15; + //GMS_mainThreadUpdateInterval = 10; + GMS_launchersPerGroup = 1; + + GMS_enableOrangeMissions = 0; + GMS_enableGreenMissions = 0; + GMS_enableRedMissions = 0; + GMS_enableBlueMissions = 1; + GMS_numberUnderwaterDynamicMissions = 0; + GMS_enableHunterMissions = 0; + GMS_enableScoutsMissions = 1; + GMS_maxCrashSites = 0; + + GMS_noPatrolHelisBlue = 1; + GMS_noPatrolHelisRed = 1; + GMS_noPatrolHelisGreen = 1; + GMS_noPatrolHelisOrange = 1; + + GMS_chanceParaBlue = 1; // [0 - 1] set to 0 to deactivate and 1 to always have paratroops spawn over the center of the mission. This value can be a range as well [0.1,0.3] + GMS_noParaBlue = 3; // [1-N] + + GMS_SpawnVeh_Orange = 2; // Number of static weapons at Orange Missions + GMS_SpawnVeh_Green = 2; // Number of static weapons at Green Missions + GMS_SpawnVeh_Blue = 1; // Number of static weapons at Blue Missions + GMS_SpawnVeh_Red = 1; // Number of static weapons at Red Missions + + GMS_SpawnEmplaced_Orange = 2; // Number of static weapons at Orange Missions + GMS_SpawnEmplaced_Green = 2; // Number of static weapons at Green Missions + GMS_SpawnEmplaced_Blue = 2; // Number of static weapons at Blue Missions + GMS_SpawnEmplaced_Red = 2; // Number of static weapons at Red Missions + + GMS_MinAI_Orange = 20; + GMS_MaxAI_Orange = 25; + GMS_AIGrps_Orange = 0; + + GMS_MinAI_Green = 16; + GMS_MaxAI_Green = 21; + GMS_AIGrps_Green = 3; + + GMS_MinAI_Red = 12; + GMS_MaxAI_Red = 15; + GMS_AIGrps_Red = 3; + + GMS_MinAI_Blue = 3; + GMS_MaxAI_Blue = 6; + GMS_AIGrps_Blue = 2; + + GMS_TMin_Blue = 7; + GMS_TMin_Red = 10; + GMS_TMin_Green = 13; + GMS_TMin_Orange = 16; + GMS_TMin_Hunter = 60; + GMS_TMin_Scouts = 45; + GMS_TMin_Crashes = 5; + GMS_TMin_UMS = 20; + //Maximum Spawn time between missions in seconds + GMS_TMax_Blue = 12; + GMS_TMax_Red = 15; + GMS_TMax_Green = 17; + GMS_TMax_Orange = 21; + GMS_TMax_Hunter = 120; + GMS_TMax_Scouts = 20; + GMS_TMax_Crashes = 15; + GMS_TMax_UMS = 25; + + ["Custom Configs 0> Custom mission timers loaded"] call GMS_fnc_log; +}; \ No newline at end of file diff --git a/@GMS/addons/GMS/FAQ.txt b/@GMS/addons/GMS/FAQ.txt new file mode 100644 index 0000000..e69de29 diff --git a/@GMS/addons/GMS/KnownIssues.txt b/@GMS/addons/GMS/KnownIssues.txt new file mode 100644 index 0000000..e2472f3 --- /dev/null +++ b/@GMS/addons/GMS/KnownIssues.txt @@ -0,0 +1,5 @@ + + +Known issues + +1. diff --git a/@GMS/addons/GMS/Missions/Blue/ForgottenHQ.sqf b/@GMS/addons/GMS/Missions/Blue/ForgottenHQ.sqf new file mode 100644 index 0000000..9bf7e88 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/ForgottenHQ.sqf @@ -0,0 +1,190 @@ + +/* + Dynamic Mission Generated + Using 3DEN Plugin for blckeagls + dynamicMission.sqf generated:: blckeagls 3DEN Plugin Version 0 : Build 0 : Build Date + By Ghostrider-GRG- +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf" + + +_startMsg = "An abandoned enemy encampment was located"; +_endMsg = "The enemy encampnent has been cleared"; +_markerMissionName = "ForgottenHQ"; + +_defaultMissionLocations = []; +_maxMissionRespawns = -1; // Chage this to a positive number if you want to limit the number of times a mission spawns at the same location +_markerType = ["ELLIPSE",[250,250],"SOLID"]; +_markerColor = "COLORRED"; +_crateLoot = GMS_BoxLoot_; +_lootCounts = GMS_lootCounts; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V2_F",[24.8208,6.71948,4.76837e-007],0,true,true,[["O_G_HMG_02_high_F",[1.49048,1.09253,-4.34404],183.214]],[[[-1.49048,-1.09253,6.02379],183.214]]], + ["Land_Cargo_Patrol_V2_F",[7.34082,6.64941,4.76837e-007],0,true,true,[["O_G_HMG_02_high_F",[-1.07422,1.17676,-4.34404],183.214]],[[[1.07422,-1.17676,6.02379],183.214]]], + ["Land_Cargo_Tower_V2_F",[6.41382,17.1794,0],180,true,true,[["O_G_HMG_02_high_F",[4.54883,-0.758545,-17.8895],0],["O_G_HMG_02_high_F",[-3.65967,-3.33838,-17.8895],0]],[[[3.65967,3.33838,19.5692],0]]], + ["Land_Cargo_HQ_V2_F",[2.70483,34.6604,4.76837e-007],180,true,true,[["O_G_HMG_02_high_F",[4.84229,3.34351,-3.12651],0],["O_static_AA_F",[-1.62451,-3.90698,-3.12651],0]],[[[-1.4624,-0.132813,3.12796],0],[[-4.84229,-3.34351,4.80625],0]]], + ["Land_Cargo_HQ_V2_F",[30.5259,45.8406,4.76837e-007],270.279,true,true,[["O_G_HMG_02_high_F",[0.84375,-5.84326,-3.12651],0],["O_static_AT_F",[-4.07739,1.8689,-3.12649],0]],[[[-0.166016,-0.514893,3.12796],0],[[-0.84375,5.84326,4.80626],0]]] +]; + +_missionLandscape = [ + ["Land_New_WiredFence_10m_F",[0,0,0],90,true,true], + ["Land_New_WiredFence_10m_F",[4.70703,-4.94727,0],0,true,true], + ["Land_New_WiredFence_10m_F",[14.4551,-4.83984,0],0,true,true], + ["Land_Razorwire_F",[7.91016,-7.44849,0],0,false,false], + ["Land_CncWall4_F",[3.927,7.92407,0],90,true,true], + ["Land_CncWall4_F",[6.177,5.67407,0],0,true,true], + ["Land_CncWall1_F",[10.677,6.42407,0],330,true,true], + ["Land_CncWall1_F",[4.177,11.1741,0],105,true,true], + ["Land_CncWall1_F",[9.427,5.92407,0],345,true,true], + ["Land_New_WiredFence_10m_Dam_F",[-0.0449219,9.91016,0.0498819],90,true,true], + ["Land_New_WiredFence_10m_F",[-0.0449219,19.9102,0],90,true,true], + ["Land_CncWall4_F",[-9.04492,30.4102,0],90,true,true], + ["Land_CncWall4_F",[-9.04492,35.6602,0],90,true,true], + ["Land_CncWall4_F",[-9.07251,40.8501,0],90,true,true], + ["Land_CncWall4_F",[4.3291,14.4839,0],90,true,true], + ["Land_CncWall4_F",[-0.544922,25.4102,0],0,true,true], + ["Land_CncWall4_F",[-5.91992,25.4102,0],0,true,true], + ["Land_CncWall4_F",[4.83008,25.4102,0],0,true,true], + ["Land_CncWall4_F",[12.4551,30.7852,0],270,true,true], + ["Land_CncWall4_F",[12.4551,36.0352,0],270,true,true], + ["Land_CncWall4_F",[4.3291,19.7339,0],90,true,true], + ["Land_CncShelter_F",[8.5708,25.3887,0],0,true,true], + ["Land_CncWall1_F",[4.5791,22.9839,0],105,true,true], + ["Land_CncWall1_F",[5.0791,24.2339,0],120,true,true], + ["Land_CncWall1_F",[10.3301,26.0352,0],345,true,true], + ["Land_CncWall1_F",[-8.79492,25.9102,0],60,true,true], + ["Land_CncWall1_F",[-9.04492,27.1602,0],90,true,true], + ["Land_CncWall1_F",[11.3301,26.6602,0],315,true,true], + ["Land_CncWall1_F",[12.0801,27.6602,0],300,true,true], + ["Land_CncWall4_F",[-6.82251,43.1001,0],180,true,true], + ["Land_CncWall4_F",[3.67749,43.1001,0],180,true,true], + ["Land_CncWall4_F",[-1.57251,43.1001,0],180,true,true], + ["Land_Mil_WiredFence_Gate_F",[16.1936,6.77051,0],0,true,true], + ["Land_New_WiredFence_10m_F",[44.2427,-0.0644531,0],270,true,true], + ["Land_New_WiredFence_10m_F",[34.4551,-4.58984,0],0,true,true], + ["Land_Razorwire_F",[38.2532,-7.32739,0],0,false,false], + ["Land_CncWall4_F",[28.5359,8.26343,0],270,true,true], + ["Land_CncWall4_F",[26.157,5.83984,0],0,true,true], + ["Land_LampShabby_F",[11.8286,6.30664,0],96.8408,true,true], + ["Land_New_WiredFence_5m_F",[41.9932,-4.56445,0],0,true,true], + ["Land_CncWall1_F",[22.907,6.08984,0],15,true,true], + ["Land_CncWall1_F",[21.6697,6.61914,0],30,true,true], + ["Land_New_WiredFence_10m_F",[44.2051,19.6602,0],270,true,true], + ["Land_New_WiredFence_10m_F",[44.2427,9.68555,0],270,true,true], + ["Land_New_WiredFence_10m_F",[44.2051,29.6602,0],270,true,true], + ["Land_LampShabby_F",[37.8979,36.2883,0],315,true,true], + ["Land_New_WiredFence_5m_F",[42.2051,34.4102,0],180,true,true], + ["Land_CncWall4_F",[26.3333,57.6113,0],180.279,true,true], + ["Land_CncWall4_F",[31.5833,57.5857,0],180.279,true,true], + ["Land_CncWall4_F",[36.8333,57.5603,0],180.279,true,true], + ["Land_CncWall4_F",[21.292,49.1357,0],90.2789,true,true], + ["Land_CncWall4_F",[21.3181,54.5107,0],90.2789,true,true], + ["Land_CncWall4_F",[21.2659,43.761,0],90.2789,true,true], + ["Land_CncWall4_F",[30.6663,34.7571,0],0.278918,true,true], + ["Land_CncWall4_F",[35.9163,34.7314,0],0.278918,true,true], + ["Land_CncShelter_F",[20.6787,39.9507,0],90.2789,true,true], + ["Land_CncWall1_F",[38.6421,35.1738,0],300.801,true,true], + ["Land_CncWall1_F",[21.5066,37.054,0],76.1339,true,true], + ["Land_CncWall1_F",[21.8323,57.3833,0],150.279,true,true], + ["Land_CncWall1_F",[23.0835,57.6272,0],180.279,true,true], + ["Land_CncWall1_F",[38.9402,36.3113,0],270.801,true,true], + ["Land_CncWall1_F",[21.8711,36.1277,0],59.3183,true,true], + ["Land_CncWall1_F",[22.6008,35.209,0],44.3183,true,true], + ["Land_CncWall4_F",[39.0723,55.2993,0],270.279,true,true], + ["Land_CncWall4_F",[39.0212,44.7996,0],270.279,true,true], + ["Land_CncWall4_F",[39.0466,50.0493,0],270.279,true,true], + ["Land_CncWall4_F",[38.9417,39.5823,0],270.279,true,true], + ["Land_CncWall4_F",[25.4946,34.8081,0],0.278918,true,true], + ["Land_CncWall1_F",[21.3872,38.1606,0],89.3183,true,true], + ["Land_CncWall4_F",[8.90015,43.1045,0],180,true,true], + ["Land_CncShelter_F",[19.1453,39.9565,0],90.2789,true,true], + ["Land_CncShelter_F",[17.6121,39.9629,0],90.2789,true,true], + ["Land_CncShelter_F",[16.0786,39.9688,0],90.2789,true,true], + ["Land_CncShelter_F",[14.543,39.9956,0],90.2789,true,true], + ["Land_CncShelter_F",[13.0095,40.0015,0],90.2789,true,true], + ["Land_CncWall1_F",[11.8633,42.7507,0],218.676,true,true], + ["Land_CncWall1_F",[12.4424,41.8545,0],254.791,true,true], + ["Land_CncWall4_F",[28.5198,13.5347,0],270,true,true], + ["Land_CncWall4_F",[28.4919,18.7634,0],270,true,true], + ["Land_CncWall4_F",[28.4854,23.9961,0],270,true,true], + ["Land_CncWall4_F",[28.4507,29.2551,0],270,true,true], + ["Land_CncShelter_F",[28.2117,33.0996,0],90.2789,true,true], + ["Land_LampShabby_F",[20.5925,6.89502,0],267.423,true,true], + ["Land_LampShabby_F",[11.2803,27.2852,0],304.187,true,true], + ["Land_Mil_WiredFence_Gate_F",[24.4001,-5.01929,0],0,false,false], + ["RoadCone_L_F",[18.3555,32.1956,0],0,true,true], + ["Land_Wreck_Heli_Attack_02_F",[36.8113,19.3157,0],0,false,false], + ["Land_HelipadSquare_F",[37.4182,18.23,0],0,true,true] +]; + +_simpleObjects = [ + ["Land_GarbageContainer_open_F",[18.7383,37.4575,0],216.966], + ["Land_GarbageBarrel_01_english_F",[23.7751,36.8047,0],0], + ["Land_GarbageBarrel_02_F",[13.9443,37.1277,0],0] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + ["O_G_Offroad_01_armed_F",[12.4829,-23.843,-0.000406742],85.3793,,], + ["O_G_Offroad_01_armed_F",[56.377,23.8218,-0.000406742],0,,] +]; + +_submarinePatrolParameters = [ + +]; + +_airPatrols = [ + +]; + +_missionEmplacedWeapons = [ + +]; + +_missionGroups = [ + +]; + +_scubaGroupParameters = [ + +]; + +_missionLootBoxes = [ + +]; + +/* + Use the parameters below to customize your mission - see the template or blck_configs.sqf for details about each them +*/ +_chanceHeliPatrol = GMS_chanceHeliPatrol; +_noChoppers = GMS_noPatrolHelis; +_missionHelis = GMS_patrolHelis; +_chancePara = GMS_chancePara; +_noPara = GMS_noPara; +_paraTriggerDistance = 400; +_chanceLoot = 0.0; +_paraLoot = GMS_BoxLoot_; +_paraLootCounts = GMS_lootCounts; +_missionLandscapeMode = "precise"; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +_vests = GMS_vests; +_backpacks = GMS_backpacks; +_sideArms = GMS_Pistols; +_spawnCratesTiming = "atMissionStartGround"; +_loadCratesTiming = "atMissionStart"; +_endCondition = "allUnitsKilled"; +_minNoAI = GMS_MinAI_; +_maxNoAI = GMS_MaxAI_; +_noAIGroups = GMS_AIGrps_; +_noVehiclePatrols = GMS_SpawnVeh_; +_noEmplacedWeapons = GMS_SpawnEmplaced_; +_submarinePatrols = 0; // Default number of submarine patrols at pirate missions +_scubaPatrols = 0; // Default number of scuba diver patrols at pirate missions + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; \ No newline at end of file diff --git a/@GMS/addons/GMS/Missions/Blue/IDAP.sqf b/@GMS/addons/GMS/Missions/Blue/IDAP.sqf new file mode 100644 index 0000000..5cc5141 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/IDAP.sqf @@ -0,0 +1,142 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default"; +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; +_startMsg = "A IDAP HQ was sighted in a nearby sector! Check the Blue marker on your map for the location!"; +_endMsg = "The IDAP HQ at the Blue Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[200,200],"GRID"]; +_markerColor = "ColorBlue"; +_markerMissionName = "IDAP"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V3_F",[-24.0081,2.26978,-0.00143814],126.833,true,true,[["B_G_HMG_02_high_F",[-0.0534668,1.83252,4.38749],311.417]],[]], + ["Land_Cargo_Patrol_V3_F",[-5.29565,-28.9109,-0.00143814],1.92,true,true,[["B_G_HMG_02_high_F",[1.3645,-1.13159,4.38749],184.956]],[]], + ["Land_Cargo_HQ_V3_F",[-0.00732422,-3.21069,-0.00143814],270.541,true,true,[["B_G_HMG_02_high_F",[1.68311,6.03589,3.16996],360]],[]] +]; + + +_missionLandscape = [ + ["Land_Sign_WarningMilitaryArea_F",[-7.08057,-34.5996,-0.00143862],2.31973,true,true], + ["Land_CncShelter_F",[-11.4443,-31.9636,-0.00143862],0,true,true], + ["Land_CncShelter_F",[-11.4595,-33.4424,-0.00143862],0,true,true], + ["Land_HBarrier_Big_F",[-13.7441,-29.9917,-0.00143862],270.667,true,true], + ["Land_HBarrier_Big_F",[-28.533,-12.366,-0.00143862],92.486,true,true], + ["Land_HBarrier_Big_F",[-25.606,-19.6677,-0.00143862],223.764,true,true], + ["Land_HBarrier_Big_F",[-18.7449,-24.3645,-0.00143862],29.6621,true,true], + ["Land_HBarrier_Big_F",[-9.21753,-20.6865,-0.00143862],92.486,true,true], + ["Land_HBarrier_Big_F",[-9.28906,-28.9602,-0.00143862],92.486,true,true], + ["CamoNet_OPFOR_big_F",[-21.7307,-10.7373,1.64043],272.913,true,true], + ["Land_Cargo_House_V3_F",[-13.5071,0.647949,-0.00143862],0.832826,true,true], + ["Land_HBarrier_Big_F",[-8.40747,-6.52612,-0.00143862],269.796,true,true], + ["Land_HBarrier_Big_F",[-20.4199,6.59521,-0.00143862],180.674,true,true], + ["Land_HBarrier_Big_F",[-11.9136,6.71753,-0.00143862],180.674,true,true], + ["Land_HBarrier_Big_F",[-28.7576,-3.9104,-0.00143862],269.796,true,true], + ["Land_HBarrier_Big_F",[-8.60986,1.66675,-0.00143862],269.796,true,true], + ["Land_HBarrier_Big_F",[-26.3406,3.49731,-0.00143862],305.711,true,true], + ["CamoNet_OPFOR_F",[5.36572,-16.136,0.610557],90.0482,true,true], + ["Land_HBarrier_Big_F",[0.511719,-24.9692,-0.00143862],2.055,true,true], + ["Land_HBarrier_Big_F",[6.54102,-21.916,-0.00143862],307.294,true,true], + ["Land_HBarrier_Big_F",[-1.5127,-29.9829,-0.00143862],270.667,true,true], + ["Land_HBarrier_Big_F",[8.75342,-14.7712,-0.00143862],269.796,true,true], + ["Land_HBarrier_Big_F",[-6.03955,-33.3083,-0.00143862],2.055,true,true], + ["Land_HBarrier_5_F",[-5.41772,-20.895,-0.00143862],2.05508,true,true], + ["Land_HBarrier_Big_F",[8.23633,2.08301,-0.00143862],269.796,true,true], + ["Land_HBarrier_Big_F",[-3.49609,6.90259,-0.00143862],180.674,true,true], + ["Land_HBarrier_Big_F",[8.43506,-6.2915,-0.00143862],269.796,true,true], + ["Land_HBarrier_Big_F",[4.94263,6.96313,-0.00143862],180.674,true,true], + ["CargoNet_01_barrels_F",[-22.2239,-18.2131,-0.00143814],0.000125958,true,true], + ["CargoNet_01_barrels_F",[6.12988,-10.5715,-0.00143862],0.000316873,true,true], + ["CargoNet_01_barrels_F",[4.43457,-19.3284,-0.00143862],3.40987e-006,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehicles,[3.04663,-40.3821,0.00804186],262.322] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + +]; + +_missionGroups = [ + //[[-19.4963,-14.0864,4.76837e-007],3,6,"Red",30,45], + //[[-14.4426,-4.01489,4.76837e-007],3,6,"Red",30,45], + //[[-1.97192,-13.9941,4.76837e-007],3,6,"Red",30,45] +]; + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +//_chancePara = GMS_chanceParaBlue; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Blue"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +_spawnCratesTiming = GMS_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir". + // Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute. + // This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission. +_loadCratesTiming = GMS_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn"; + // Pertains only to crates spawned at mission spawn. + // This sets the default but can be overridden for specific missions by defining _loadCratesTiming + + // Examples: + // To spawn crates at mission start loaded with gear set GMS_spawnCratesTiming = "atMissionSpawnGround" && GMS_loadCratesTiming = "atMissionSpawn" + // To spawn crates at mission start but load gear only after the mission is completed set GMS_spawnCratesTiming = "atMissionSpawnGround" && GMS_loadCratesTiming = "atMissionCompletion" + // To spawn crates on the ground at mission completion set GMS_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned. + // To spawn crates in the air and drop them by chutes set GMS_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned. +//_endCondition = allKilledOrPlayerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear + // Setting this in the mission file overrides the defaults + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Blue/Service_point.sqf b/@GMS/addons/GMS/Missions/Blue/Service_point.sqf new file mode 100644 index 0000000..4c62262 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/Service_point.sqf @@ -0,0 +1,162 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default"; +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; +_startMsg = "A Service Point was sighted in a nearby sector! Check the Blue marker on your map for the location!"; +_endMsg = "The Service Point at the Blue Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[200,200],"GRID"]; +_markerColor = "ColorBlue"; +_markerMissionName = "Service Point"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + //["Land_Cargo_Patrol_V1_F",[-19.2107,-30.5151,-0.00143814],0,true,true,[["B_G_HMG_02_high_F",[1.16187,-1.16968,4.38749],177.998],["B_G_HMG_02_high_F",[-2.16211,13.6677,0.0444469],95.0891]],[]], + //["Land_Cargo_Patrol_V1_F",[-0.0581055,-30.4399,-0.00143814],0,true,true,[["B_G_HMG_02_high_F",[-1.44629,-1.22632,4.38749],184.401]],[]] +]; + +_missionLandscape = [ + ["Land_RoadBarrier_01_F",[-9.31006,-35.3601,-0.00143862],0,true,true], + ["Land_Sign_WarningMilitaryArea_F",[-2.61255,-36.5635,-0.00143862],359.892,true,true], + ["Land_HBarrierBig_F",[-24.6367,-14.2813,-0.00143862],271.204,true,true], + ["Land_HBarrierBig_F",[-18.7668,-25.9514,-0.00143862],0.792412,true,true], + ["Land_HBarrierBig_F",[-24.3547,-22.8525,-0.00143862],269.27,true,true], + ["Land_HBarrierBig_F",[-24.0122,-31.4038,-0.00143862],269.27,true,true], + ["Land_HBarrierBig_F",[-18.7783,-34.6914,-0.00143862],0.792412,true,true], + ["Land_PaperBox_closed_F",[-21.1392,-13.5237,-0.00143862],0,true,true], + ["CamoNet_INDP_open_F",[-20.3684,-17.9075,-0.00143862],93.326,true,true], + ["Land_Device_assembled_F",[-4.73267,4.11304,-0.00143862],0,true,true], + ["Land_Cargo_House_V1_F",[-12.1433,1.5144,-0.00143862],359.944,true,true], + ["Land_Cargo_House_V1_F",[-18.6406,-5.72363,-0.00143862],270.169,true,true], + ["Land_HBarrierBig_F",[-13.1831,7.9502,-0.00143862],181.375,true,true], + ["Land_HBarrierBig_F",[-24.7129,-5.87695,-0.00143862],271.204,true,true], + ["Land_HBarrierBig_F",[-4.71753,8.1543,-0.00143862],181.375,true,true], + ["Land_HBarrierBig_F",[-24.738,2.64307,-0.00143862],271.568,true,true], + ["Land_HBarrierBig_F",[-21.6355,7.85986,-0.00143862],181.375,true,true], + ["CargoPlaftorm_01_green_F",[-19.5588,2.55005,-0.00143862],0,true,true], + ["Land_HBarrierBig_F",[-0.253174,-26.094,-0.00143862],0.792412,true,true], + ["Land_HBarrierBig_F",[13.2122,-14.0542,-0.00143862],270.301,true,true], + ["Land_HBarrierBig_F",[8.23169,-25.9136,-0.00143862],359.697,true,true], + ["Land_HBarrierBig_F",[-0.206543,-34.8694,-0.00143862],359.697,true,true], + ["Land_HBarrierBig_F",[13.2056,-22.5811,-0.00143862],271.956,true,true], + ["Land_HBarrierBig_F",[4.76733,-31.5369,-0.00143862],271.956,true,true], + ["Land_BagFence_Long_F",[15.9219,-12.9792,-0.00143862],359.93,true,true], + + ["Land_PaperBox_closed_F",[9.46167,-21.7529,-0.00143862],88.9779,true,true], + ["Land_BagFence_Corner_F",[17.7617,-12.5837,-0.00143862],89.1122,true,true], + ["Land_MedicalTent_01_wdl_generic_outer_F",[6.18726,-18.9663,-0.00143862],90.6678,true,true], + ["Land_BagFence_Short_F",[18.0669,-11.1177,-0.00143862],270.301,true,true], + ["Land_Cargo_House_V1_F",[18.2529,0.919678,-0.00143862],359.944,true,true], + ["Land_RoadBarrier_01_F",[13.8696,-5.63843,-0.00143862],89.9252,true,true], + ["Land_HBarrierBig_F",[13.0317,2.95288,-0.00143862],271.956,true,true], + ["Land_HBarrierBig_F",[3.65161,8.21143,-0.00143862],181.375,true,true], + ["Land_HBarrierBig_F",[9.88525,8.16089,-0.00143862],181.89,true,true], + // + ["B_Slingload_01_Repair_F",[-34.0637,-5.31909,-0.00143814],286.86,true,true], + ["B_Slingload_01_Ammo_F",[-33.7891,1.13989,-0.00143719],1.26154,true,true], + ["CargoNet_01_barrels_F",[-20.8491,-21.4822,-0.00143909],326.531,true,true], + //["Land_Pod_Heli_Transport_04_fuel_F",[-19.8706,2.42847,7.17512],360,true,true], + ["CargoNet_01_barrels_F",[-7.34326,5.33838,-0.00143862],36,true,true], + ["B_Slingload_01_Cargo_F",[-28.2134,-3.27197,-0.00143862],347.458,true,true], + ["B_Slingload_01_Ammo_F",[-1.96753,20.9294,-0.00143814],13.8038,true,true], + ["B_Slingload_01_Fuel_F",[-4.57788,15.0125,-0.00143862],307.628,true,true], + ["CargoNet_01_barrels_F",[5.34155,-21.6731,0.269362],13.203,true,true], + ["B_Slingload_01_Repair_F",[2.70557,16.3206,-0.00143814],299.402,true,true], + ["CargoNet_01_barrels_F",[2.15674,5.51074,-0.00143957],326.531,true,true], + ["B_Slingload_01_Cargo_F",[8.86084,17.0483,-0.00143862],360,true,true], + ["Land_RepairDepot_01_green_F",[5.00415,1.97778,-0.000936985],180.302,true,true], + ["Land_PaperBox_closed_F",[2.95581,-21.4031,-0.00143862],327.535,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + //["B_G_Offroad_01_armed_F",[-8.93213,-44.4866,0.00822115],273.053], + //["B_G_Offroad_01_armed_F",[16.876,-5.17969,0.00825357],294.284] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + //["B_G_HMG_02_high_F",[-21.3728,-16.8474,0.0430088],95.0891], + //["B_G_HMG_02_high_F",[16.0146,-12.0088,0.043014],89.3354] +]; + +_missionGroups = [ + //[[-18.5681,-19.4417,4.76837e-007],3,6,"Red",30,45], + //[[-9.15723,-30.8086,4.76837e-007],3,6,"Red",30,45], + //[[7.19946,-18.9819,4.76837e-007],3,6,"Red",30,45], + //[[3.74561,-8.16309,4.76837e-007],3,6,"Red",30,45] +]; + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +//_chancePara = GMS_chanceParaBlue; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Blue"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +_spawnCratesTiming = GMS_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir". + // Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute. + // This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission. +_loadCratesTiming = GMS_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn"; + // Pertains only to crates spawned at mission spawn. + // This sets the default but can be overridden for specific missions by defining _loadCratesTiming + + // Examples: + // To spawn crates at mission start loaded with gear set GMS_spawnCratesTiming = "atMissionSpawnGround" && GMS_loadCratesTiming = "atMissionSpawn" + // To spawn crates at mission start but load gear only after the mission is completed set GMS_spawnCratesTiming = "atMissionSpawnGround" && GMS_loadCratesTiming = "atMissionCompletion" + // To spawn crates on the ground at mission completion set GMS_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned. + // To spawn crates in the air and drop them by chutes set GMS_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned. +//_endCondition = allKilledOrPlayerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear + // Setting this in the mission file overrides the defaults + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Blue/Toxin.sqf b/@GMS/addons/GMS/Missions/Blue/Toxin.sqf new file mode 100644 index 0000000..780d0bf --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/Toxin.sqf @@ -0,0 +1,165 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default"; +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; +_startMsg = "A Toxin Center was sighted in a nearby sector! Check the Blue marker on your map for the location!"; +_endMsg = "The Toxin Center at the Blue Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[200,200],"GRID"]; +_markerColor = "ColorBlue"; +_markerMissionName = "Toxin Center"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Research_HQ_F",[-6.71143,10.6191,-0.00143909],179.046,true,true,[["B_GMG_01_high_F",[2.39746,3.8103,3.11371],360]],[]], + ["Land_Research_HQ_F",[11.5024,-2.94189,-0.00143909],89.179,true,true,[["B_Mortar_01_F",[0.713867,-5.21362,3.1624],360],["B_HMG_01_high_F",[-7.5625,-20.228,-0.0121174],180.433]],[]] +]; + +_missionLandscape = [ + ["Land_Mil_WiredFence_F",[-9.75415,-20.865,-0.00143909],359.2,true,true], + ["Land_Mil_WiredFence_F",[-21.4592,-9.60181,-0.00143909],89.3037,true,true], + ["Land_Mil_WiredFence_F",[-17.6565,-20.9314,-0.00143909],359.2,true,true], + ["Land_Mil_WiredFence_F",[-21.3225,-17.4338,-0.00143909],89.3037,true,true], + ["Land_Mil_WiredFence_F",[-21.4573,-1.78149,-0.00143909],89.3037,true,true], + ["Land_Device_assembled_F",[-12.4314,0.409668,-0.00143909],0,true,true], + ["Land_Sign_WarningMilitaryArea_F",[-7.7229,-21.8035,-0.00143909],359.892,true,true], + ["Land_Sign_WarningMilitaryArea_F",[4.04224,-21.6248,-0.00143909],359.892,true,true], + ["Land_HBarrierBig_F",[-17.3535,-2.16992,-0.00143909],271.204,true,true], + ["Land_HBarrierBig_F",[-17.0715,-10.7412,-0.00143909],269.27,true,true], + ["Land_HBarrierBig_F",[-11.4836,-13.8401,-0.00143909],0.792412,true,true], + ["Land_BagFence_Long_F",[-7.15112,-24.29,-0.00143909],0.556939,true,true], + ["Land_BagFence_Long_F",[3.73877,-24.3738,-0.00143909],180.252,true,true], + ["Land_PaperBox_closed_F",[-14.3025,-3.37964,-0.00143909],327.535,true,true], + ["Land_BagFence_Corner_F",[-9.23682,-24.0522,-0.00143909],177.869,true,true], + ["Land_BagFence_Corner_F",[5.64087,-23.9683,-0.00143909],90.5438,true,true], + ["Land_BagFence_Short_F",[-9.64136,-22.7109,-0.00143909],268.498,true,true], + ["Land_Mil_WiredFenceD_F",[-21.8179,13.9368,-0.00143909],89.5986,true,true], + ["Land_Mil_WiredFence_F",[5.21021,25.5369,-0.00143909],179.508,true,true], + ["Land_Mil_WiredFence_F",[-21.8245,21.7146,-0.00143909],89.3037,true,true], + ["Land_Mil_WiredFence_F",[-18.2957,25.3298,-0.00143909],179.508,true,true], + ["Land_Mil_WiredFence_F",[-2.63354,25.4646,-0.00143909],179.508,true,true], + ["Land_Mil_WiredFence_F",[-10.4656,25.3845,-0.00143909],179.508,true,true], + ["Land_Mil_WiredFence_F",[-21.5764,6.02905,-0.00143909],89.3037,true,true], + ["Land_HBarrierBig_F",[-14.3523,19.9712,-0.00143909],181.375,true,true], + ["Land_HBarrierBig_F",[-1.87573,20.2095,-0.00143909],181.375,true,true], + ["Land_HBarrierBig_F",[-17.4297,6.23438,-0.00143909],271.204,true,true], + ["Land_HBarrierBig_F",[2.31177,20.2192,-0.00143909],181.375,true,true], + ["Land_HBarrierBig_F",[-17.4548,14.7544,-0.00143909],271.568,true,true], + ["Land_Mil_WiredFence_F",[5.88647,-20.7947,-0.00143909],359.2,true,true], + ["Land_Mil_WiredFence_F",[25.0657,-17.1169,-0.00143909],269.14,true,true], + ["Land_Mil_WiredFence_F",[21.5857,-20.6306,-0.00143909],0.102386,true,true], + ["Land_Mil_WiredFence_F",[24.927,-9.29077,-0.00143909],269.14,true,true], + ["Land_Mil_WiredFence_F",[13.738,-20.6443,-0.00143909],0.102386,true,true], + ["Land_Mil_WiredFence_F",[24.8528,-1.49976,-0.00143909],269.14,true,true], + ["Land_HBarrierBig_F",[20.4888,-10.4697,-0.00143909],271.956,true,true], + ["Land_HBarrierBig_F",[20.4954,-1.94287,-0.00143909],270.301,true,true], + ["Land_HBarrierBig_F",[7.03003,-13.9827,-0.00143909],0.792412,true,true], + ["Land_HBarrierBig_F",[15.5149,-13.8022,-0.00143909],359.697,true,true], + ["Land_BagFence_Short_F",[5.89844,-22.4365,-0.00143909],268.498,true,true], + ["Land_Mil_WiredFence_F",[13.0396,25.6086,-0.00143909],179.508,true,true], + ["Land_Mil_WiredFence_F",[20.884,25.658,-0.00143909],179.508,true,true], + ["Land_Mil_WiredFence_F",[24.5051,22.0549,-0.00143909],269.14,true,true], + ["Land_Mil_WiredFence_F",[24.6458,14.1819,-0.00143909],269.14,true,true], + ["Land_Mil_WiredFence_F",[24.7532,6.3479,-0.00143909],269.14,true,true], + ["Land_HBarrierBig_F",[20.4177,4.55054,-0.00143909],271.054,true,true], + ["Land_HBarrierBig_F",[10.9348,20.3228,-0.00143909],181.375,true,true], + ["Land_HBarrierBig_F",[17.1685,20.2722,-0.00143909],181.89,true,true], + ["Land_HBarrierBig_F",[20.3484,15.8003,-0.00143909],271.956,true,true], + ["Land_Research_house_V1_F",[14.592,14.5435,-0.00143909],0,true,true], + // + ["CargoNet_01_barrels_F",[-13.5122,-10.8784,-0.00144005],0.00034241,true,true], + ["CargoNet_01_barrels_F",[-13.6389,-8.33862,-0.00143957],326.531,true,true], + ["CargoNet_01_barrels_F",[9.43994,17.6221,-0.00143957],326.531,true,true], + ["B_Slingload_01_Fuel_F",[29.73,4.14917,-0.00143909],156.234,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + ["B_T_LSV_01_armed_F",[-2.67554,-31.7471,-0.0237646],87.6435], + ["B_T_LSV_01_armed_F",[-5.24243,34.4316,-0.023603],270.757] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + ["B_HMG_01_high_F",[3.93994,-23.1699,-0.0135565],180.433], + ["B_HMG_01_high_F",[-7.9519,-23.1421,-0.0135584],180.433] +]; + +_missionGroups = [ + [[-1.2981,-19.1914,0],3,6,"Red",30,45], + [[6.48682,10.343,0],3,6,"Red",30,45] +]; + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +//_chancePara = GMS_chanceParaBlue; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Blue"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +_spawnCratesTiming = GMS_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir". + // Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute. + // This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission. +_loadCratesTiming = GMS_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn"; + // Pertains only to crates spawned at mission spawn. + // This sets the default but can be overridden for specific missions by defining _loadCratesTiming + + // Examples: + // To spawn crates at mission start loaded with gear set GMS_spawnCratesTiming = "atMissionSpawnGround" && GMS_loadCratesTiming = "atMissionSpawn" + // To spawn crates at mission start but load gear only after the mission is completed set GMS_spawnCratesTiming = "atMissionSpawnGround" && GMS_loadCratesTiming = "atMissionCompletion" + // To spawn crates on the ground at mission completion set GMS_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned. + // To spawn crates in the air and drop them by chutes set GMS_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned. +//_endCondition = allKilledOrPlayerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear + // Setting this in the mission file overrides the defaults + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Blue/captive1.sqf b/@GMS/addons/GMS/Missions/Blue/captive1.sqf new file mode 100644 index 0000000..86f5fb9 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/captive1.sqf @@ -0,0 +1,144 @@ +/* + Mission Template by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default2"; + +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; +_startMsg = "A local Mafia Don has been spotted! Capture him and earn a reward!"; +_endMsg = "The Maria Don was captured and the area is under survivor control!"; +_assetKilledMsg = "Enemy Leader Killed and Bandits Fled with All Loot: Mission Aborted"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[175,175],"GRID"]; +_markerColor = "ColorBlue"; +_markerMissionName = "Capture Don"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AAF_F",[-1.44531,-21.2148,0],0,[true,false]], + ["Land_BagBunker_Small_F",[33.8457,18.2461,0],51.9209,[true,false]], + ["Land_BagBunker_Small_F",[-30.4336,22.9043,0],321.242,[true,false]], + ["Land_BagBunker_Small_F",[-35.3164,-29.9648,0],237.265,[true,false]], + ["Land_BagBunker_Small_F",[37.4551,-29.8672,0],128.253,[true,false]], + ["Land_BagBunker_Large_F",[-30.4082,-6.65039,0],180,[true,false]], + ["Land_BagBunker_Large_F",[-2.81836,19.4668,0],0,[true,false]], + ["Land_BagBunker_Large_F",[-2.14063,-18.4355,0],0,[true,false]], + ["Land_BagBunker_Large_F",[26.1328,-10.252,0],0,[true,false]], + ["Land_HBarrier_Big_F",[-19.707,30.0078,0],0,[true,false]], + ["Land_HBarrier_Big_F",[-11.0742,30.209,0],0,[true,false]], + ["Land_HBarrier_Big_F",[18.541,31.125,0],0,[true,false]], + ["Land_HBarrier_Big_F",[0.0703125,30.6699,0],0,[true,false]], + ["Land_HBarrier_Big_F",[8.79102,31.0273,0],0,[true,false]], + ["Land_HBarrier_Big_F",[-19.0938,-36.0176,0],0,[true,false]], + ["Land_HBarrier_Big_F",[-10.4609,-35.8164,0],0,[true,false]], + ["Land_HBarrier_Big_F",[19.1543,-34.9004,0],0,[true,false]], + ["Land_HBarrier_Big_F",[0.683594,-35.3555,0],0,[true,false]], + ["Land_HBarrier_Big_F",[9.4043,-34.998,0],0,[true,false]], + ["Land_HBarrier_Big_F",[-47.6211,19.666,0],91.713,[true,false]], + ["Land_HBarrier_Big_F",[-47.6777,11.0313,0],91.713,[true,false]], + ["Land_HBarrier_Big_F",[-47.6465,-18.5977,0],91.713,[true,false]], + ["Land_HBarrier_Big_F",[-47.5508,-0.123047,0],91.713,[true,false]], + ["Land_HBarrier_Big_F",[-47.4531,-8.84961,0],91.713,[true,false]], + ["Land_HBarrier_Big_F",[47.5098,-22.1211,0],270.496,[true,false]], + ["Land_HBarrier_Big_F",[47.3848,-13.4863,0],270.496,[true,false]], + ["Land_HBarrier_Big_F",[46.7246,16.1348,0],270.496,[true,false]], + ["Land_HBarrier_Big_F",[47.0195,-2.33789,0],270.496,[true,false]], + ["Land_HBarrier_Big_F",[46.7363,6.38477,0],270.496,[true,false]], + ["Land_ChairPlastic_F",[-6.06445,10.7129,0],185.284,[true,false]], + ["Land_CampingChair_V2_F",[0.222656,8.24219,0],0,[true,false]], + ["Campfire_burning_F",[0.591797,9.47266,0],0,[true,false]], + ["Land_HBarrier_3_F",[-10.3887,10.209,0],88.6077,[true,false]], + ["Land_HBarrier_3_F",[8.12109,10.4063,0],88.6077,[true,false]], + ["Land_HBarrier_3_F",[8.17383,13.5781,0],88.6077,[true,false]], + ["Land_HBarrier_3_F",[8.11914,16.957,0.0400085],88.6077,[true,false]] + ]; // list of objects to spawn as landscape; // list of objects to spawn as landscape + +_buildings = [ + "Land_Cargo_HQ_V4_F", + "Land_Cargo_HQ_V1_F", + "Land_Cargo_HQ_V2_F", + "Land_Cargo_HQ_V3_F", + "Land_Cargo_Tower_V1_F", + "Land_Cargo_Tower_V2_F", + "Land_Cargo_Tower_V3_F", + "Land_Cargo_Tower_V4_Fv", + "Land_BagBunker_01_large_green_F" +]; +_enemyLeaderConfig = + ["I_G_resistanceLeader_F", // select 0 + [-7.83789,13.1465,-0.00143886], // select 1 + 126.345, // select 2 + [true,false], // select 3 + ["Acts_B_briefings"], // Use the animation viewer to see other choices: http://killzonekid.com/arma-3-animation-viewer-jumping-animation/ + ["H_Beret_Colonel"], // array of headgear choices + ["U_OrestesBody"], // array of uniform choices + [selectRandom _buildings,[-3.79102,2.56055,0],0,[true,false]] + ]; +_enemyLeaderConfig set[ + 1, selectRandom [[-7.83789,13.1465,-0.00143886]] + ]; + // This allows us to place the antagonist to be arrested in one of several random locations. +_missionLootBoxes = [ + //["Box_NATO_Wps_F",[3,-3,0],_crateLoot,[4,10,2,5,5,1]], // Standard loot crate with standard loadout + //["Land_PaperBox_C_EPOCH",[-4,-3,0],_crateLoot,[0,0,0,10,10,3]], // No Weapons, Magazines, or optics; 10 each construction supplies and food/drink items, 3 backpacks + //["Land_CargoBox_V1_F",[3,4,0],_crateLoot,[0,10,2,5,5,1]] + ]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. + + // GMS_lootCountsBlue= [4,12,3,6,6,1]; +_missionLootVehicles = [ + //["I_G_Offroad_01_armed_F",[-8,8,0],_crateLoot,[0,10,2,5,5,1]], + //["I_G_Offroad_01_armed_F",[8,17,0],_crateLoot,[0,10,2,5,5,1]] + ]; // Parameters are "vehiclel type", offset relative to mission center, loot array, items to load from each category of the loot array. + // ["B_HMG_01_high_F"/*,"B_GMG_01_high_F","O_static_AT_F"*/]; + + /* + ["B_G_Soldier_AR_F",[-19.5156,25.2598,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[-27.7676,-24.5508,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[32.4883,-23.4609,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[36.6914,12.1836,-0.00143886],0,[true,false]] + */ +_missionGroups = + [ + //_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"]; + [[-19.5156,25.2598,-0.00143886],3,3,"Blue",10,20], + [[-27.7676,-24.5508,-0.00143886],3,3,"Blue",10,20], + [[32.4883,-23.4609,-0.00143886],3,3,"Blue",10,20], + [[36.6914,12.1836,-0.00143886],3,3,"Blue",10,20] + ]; // Can be used to define spawn positions of AI patrols + +_missionEmplacedWeapons = [ + //["B_HMG_01_high_F",[-10,-15,0]], + //["B_GMG_01_high_F",[10,12,0]], + //["O_static_AT_F",[-10,10,0]] + ]; // can be used to define the type and precise placement of static weapons [["wep",[1,2,3]] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used + +_missionPatrolVehicles = [ + //["B_MRAP_01_hmg_F",[27.8945,100.275,0],0,[true,false]], + //["B_MRAP_01_hmg_F",[-84.7793,72.2617,9.53674e-007],0,[true,false]], + //["B_MRAP_01_gmg_F",[-87.8457,-109.947,7.15256e-007],0,[true,false]] +]; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; +//_chancePara = GMS_chanceParaBlue; +//_noPara = GMS_noParaBlue; +_chanceHeliPatrol = 0; +_spawnCratesTiming = "atMissionEndAir"; +_endCondition = assetSecured; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear, assetSecured + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Blue/default.sqf b/@GMS/addons/GMS/Missions/Blue/default.sqf new file mode 100644 index 0000000..18172ab --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/default.sqf @@ -0,0 +1,152 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default"; + +private["_missionEnabled"]; + +_crateLoot = GMS_BoxLoot_Blue; + /* + You can use a customized loot array if you like. The format is as follows. note that for each category you can give a number or a range. + _crateLoot = [ + [// Weapons + ["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"] + ], + [//Magazines + ["10Rnd_93x64_DMR_05_Mag" ,1,4] + ], + [ // Optics + ["optic_KHS_tan",1,3] + ], + [// Materials and supplies + ["Exile_Item_CamoTentKit",1,6] + ], + [//Items + ["Exile_Item_MountainDupe",1,3] + ], + [ // Backpacks + ["B_OutdoorPack_tan",1,2] + ] + ]; + */ + +_lootCounts = GMS_lootCountsBlue; + /* + You can use a customized array here if you like; note that you can give a value or a range. + // values are: number of things from the weapons, magazines, optics, materials(cinder etc), items (food etc) and backpacks arrays to add, respectively. + GMS_lootCountsOrange = [ + [6,8], // Weapons + [24,32], // Magazines + [5,10], // Optics + [25,35], // materials(cinder etc) + 16, // items (food etc) + 1 // backpacks + ]; // Orange + */ +_startMsg = "A group of Bandits was sighted in a nearby sector! Check the Blue marker on your map for the location!"; +_endMsg = "The Sector at the Blue Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[175,175],"GRID"]; +//_markerType = ["RECTANGLE", [350,350],"GRID"Full"]; + // The mission system supports circular or square mission markers as well as typical Arma icon-style (triangle, dot, flag etc) markers. + // to have an icon define the map marker as follows: + // ["mil_triangle",[0,0]]; + // Just replace the icon name with the one you want to spawn. +_markerColor = "ColorBlue"; +_markerMissionName = "Bandit Patrol"; +_missionLandscapeMode = "random"; // acceptable values are "none","random","precise" + // _missionLandscape + // Note that the format for the _missionLandscape is different for the two modes. + // In random, the objects are randomly arrayed around the mission center. + // In precise, the objects are spawned as closely as possible to the x,y,z offset from mission center specified. + // See default2.sqf for an example of the use of precise base objects. +/* +private _addedLandscape = ["Land_FoodSacks_01_cargo_brown_F","Land_FoodSacks_01_large_brown_F","Land_FoodSack_01_full_brown_F","Land_PaperBox_01_open_boxes_F", + "Land_CampingTable_white_F","Land_WoodenPlanks_01_messy_pine_F","Land_CinderBlocks_01_F","Land_WoodenCrate_01_F","Land_WoodenCrate_01_stack_x5_F", + "Land_BarrelTrash_grey_F","Land_WoodenTable_large_F","Land_BagFence_Short_F","Land_WoodPile_F"] +*/ + +_missionLandscape = [/*"Flag_AAF_F",*/"Land_TentDome_F","Land_TentDome_F","Land_TentDome_F","Land_TentDome_F","Land_FieldToilet_F","Campfire_burning_F"]; // list of objects to spawn as landscape +for "_i" from 1 to 8 do +{ + _missionLandscape pushBack selectRandom [ + "Land_FoodSacks_01_cargo_brown_F","Land_FoodSacks_01_large_brown_F","Land_FoodSack_01_full_brown_F","Land_PaperBox_01_open_boxes_F", + "Land_CampingTable_white_F","Land_WoodenPlanks_01_messy_pine_F","Land_CinderBlocks_01_F","Land_WoodenCrate_01_F","Land_WoodenCrate_01_stack_x5_F", + "Land_BarrelTrash_grey_F","Land_WoodenTable_large_F","Land_BagFence_Short_F","Land_WoodPile_F" + ]; +}; +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. + // when empty, a single loot container will be spawned at the center of the mission. + // Use this to specify exact spots to spawn crates; see default2.seq for an example. +//_missionGroups = []; // Not required. + // When present and empty the mission spawner evaluates the minAI, maxAI, noAIGroups settings + // When present with values these override the defaults. + // See default2.sqf for an example of the use of this variable. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. + + // when the array is empty this parameter is ignored. + // You can have vehicles serve as loot containiners by defining them here. + // see default2.sqf for an example +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used + // When the array is empty emplaced (static) weapons will be spawned randomly based on the setings in the configs that specify the number, AI difficulty and type of static weapons. + // you can specify the location relative to mission center, type of weapon etc. + // this information overides the defaults that that mission difficulty. + // See default2.sqf for an example of how one uses this. +_minNoAI = GMS_MinAI_Blue; // Setting this in the mission file overrides the defaults such as GMS_MinAI_Blue +_maxNoAI = GMS_MaxAI_Blue; // Setting this in the mission file overrides the defaults +_noAIGroups = GMS_AIGrps_Blue; // Setting this in the mission file overrides the defaults +_noVehiclePatrols = GMS_SpawnVeh_Blue; // Setting this in the mission file overrides the defaults +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; // Setting this in the mission file overrides the defaults +// Change _useMines to true/false below to enable mission-specific settings. + +/* +_useMines = GMS_useMines; // Setting this in the mission file overrides the defaults +_uniforms = GMS_SkinList; // Setting this in the mission file overrides the defaults +_headgear = GMS_headgear; // Setting this in the mission file overrides the defaults +_vests = GMS_vests; +_backpacks = GMS_backpacks; + +_sideArms = GMS_Pistols; +_chanceHeliPatrol = GMS_chanceHeliPatrolBlue; // Setting this in the mission file overrides the defaults +_noChoppers = GMS_noPatrolHelisBlue; +_missionHelis = GMS_patrolHelisBlue; + +_chancePara = GMS_chanceParaBlue; // Setting this in the mission file overrides the defaults +_noPara = GMS_noParaBlue; // Setting this in the mission file overrides the defaults +_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +_chanceLoot = 0.0; +_paraLoot = GMS_BoxLoot_Blue; +_paraLootCounts = GMS_lootCountsRed; // Throw in something more exotic than found at a normal blue mission. + +_spawnCratesTiming = GMS_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir". + // Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute. + // This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission. +_loadCratesTiming = GMS_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn"; + // Pertains only to crates spawned at mission spawn. + // This sets the default but can be overridden for specific missions by defining _loadCratesTiming + + // Examples: + // To spawn crates at mission start loaded with gear set GMS_spawnCratesTiming = "atMissionSpawnGround" && GMS_loadCratesTiming = "atMissionSpawn" + // To spawn crates at mission start but load gear only after the mission is completed set GMS_spawnCratesTiming = "atMissionSpawnGround" && GMS_loadCratesTiming = "atMissionCompletion" + // To spawn crates on the ground at mission completion set GMS_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned. + // To spawn crates in the air and drop them by chutes set GMS_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned. +_endCondition = GMS_missionEndCondition; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear + // Setting this in the mission file overrides the defaults +////_timeOut = -1; +*/ +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Blue/default2.sqf b/@GMS/addons/GMS/Missions/Blue/default2.sqf new file mode 100644 index 0000000..1d099fc --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/default2.sqf @@ -0,0 +1,154 @@ +/* + Mission Template by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default2"; + +_crateLoot = GMS_BoxLoot_Blue; + /* + You can use a customized loot array if you like. The format is as follows. note that for each category you can give a number or a range. + _crateLoot = [ + [// Weapons + ["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"] + ], + [//Magazines + ["10Rnd_93x64_DMR_05_Mag" ,1,4] + ], + [ // Optics + ["optic_KHS_tan",1,3] + ], + [// Materials and supplies + ["Exile_Item_CamoTentKit",1,6] + ], + [//Items + ["Exile_Item_MountainDupe",1,3] + ], + [ // Backpacks + ["B_OutdoorPack_tan",1,2] + ] + ]; + */ +_lootCounts = GMS_lootCountsBlue; + /* + You can use a customized array here if you like; note that you can give a value or a range. + // values are: number of things from the weapons, magazines, optics, materials(cinder etc), items (food etc) and backpacks arrays to add, respectively. + GMS_lootCountsOrange = [ + [6,8], // Weapons + [24,32], // Magazines + [5,10], // Optics + [25,35], // materials(cinder etc) + 16, // items (food etc) + 1 // backpacks + ]; // Orange + */ +_startMsg = "A group of Bandits was sighted in a nearby sector! Check the Blue marker on your map for the location!"; +_endMsg = "The Sector at the Blue Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[175,175],"GRID"]; +_markerColor = "ColorBlue"; +_markerMissionName = "Bandit Patrol"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AAF_F",[3,3,0],0,[false,false]], + ["Land_dp_transformer_F",[1.698242,-10.4668,-0.00763702],271.32,[true,false]], + ["Land_Wreck_BRDM2_F",[1.37012,13.498,0.00109863],184.487,[true,false]], + ["Land_BagBunker_Small_F",[18.4512,-3.66406,0.00780487],305.003,[true,false]], + ["Land_Cargo_HQ_V1_F",[-20.1367,11.7539,0],90.8565,1,0,[],"","",true,false]], + ["Land_BagBunker_Small_F",[-22.707,-3.75586,-0.0130234],44.9901,[true,false]], + ["Land_Cargo_House_V1_F",[24.3584,7.45313,0.00111389],91.6329,[true,false]], + ["StorageBladder_01_fuel_forest_F",[1.29492,29.3184,0.000999451],179.65,[true,false]], + ["Land_GarbageBags_F",[-9.45996,31.252,0.02005],184.595,[true,false]], + ["Land_GarbageBags_F",[-13.0459,32.668,-0.0283051],184.595,[true,false]], + ["Land_GarbageBags_F",[-11.5957,33.125,-0.598007],184.595,[true,false]], + ["Land_GarbageBags_F",[-8.98145,34.5801,-0.00514221],184.592,[true,false]], + ["Land_Addon_02_V1_ruins_F",[24.8369,24.6582,-0.00820923],90.9637,[true,false]], + ["Land_GarbageBags_F",[-10.9443,35.0449,0.577057],184.592,[true,false]], + ["Land_Cargo20_military_green_F",[14.6533,32.9004,0.000480652],90.0989,[true,false]], + ["Land_BagBunker_Small_F",[-23.0186,28.6738,-0.0271301],120.012,[true,false]], + ["Land_BagBunker_Small_F",[37.1504,34.5742,0.0146866],255,[true,false]] + ]; // list of objects to spawn as landscape; // list of objects to spawn as landscape + +_missionLootBoxes = [ + ["Box_NATO_Wps_F",[3,-3,0],_crateLoot,[4,10,2,5,5,1]], // Standard loot crate with standard loadout + ["Land_PaperBox_C_EPOCH",[-4,-3,0],_crateLoot,[0,0,0,10,10,3]], // No Weapons, Magazines, or optics; 10 each construction supplies and food/drink items, 3 backpacks + ["Land_CargoBox_V1_F",[3,4,0],_crateLoot,[0,10,2,5,5,1]] + ]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. + + // GMS_lootCountsBlue= [4,12,3,6,6,1]; +_missionLootVehicles = [ + ["I_G_Offroad_01_armed_F",[-8,8,0],_crateLoot,[0,10,2,5,5,1]], + ["I_G_Offroad_01_armed_F",[8,17,0],_crateLoot,[0,10,2,5,5,1]] + ]; // Parameters are "vehiclel type", offset relative to mission center, loot array, items to load from each category of the loot array. + // ["B_HMG_01_high_F"/*,"B_GMG_01_high_F","O_static_AT_F"*/]; + +_missionGroups = + [ + //_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"]; + [[-10.9121,-10.9824,-1.20243],5,7,"Green",5,12], + [[-10.2305,10.0215,-0.941586],5,7,"Green",5,12], + [[10.5605,-10.4043,-0.00143886],5,7,"Green",5,12], + [[10.61133,10.5918,-0.001438863],5,7,"Green",5,12] + ]; // Can be used to define spawn positions of AI patrols + +_missionEmplacedWeapons = [ + ["B_HMG_01_high_F",[-10,-15,0]], + ["B_GMG_01_high_F",[10,12,0]], + ["O_static_AT_F",[-10,10,0]] + ]; // can be used to define the type and precise placement of static weapons [["wep",[1,2,3]] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used + +_missionPatrolVehicles = [ + ["B_MRAP_01_hmg_F",[27.8945,100.275,0],0,[true,false]], + ["B_MRAP_01_hmg_F",[-84.7793,72.2617,9.53674e-007],0,[true,false]], + ["B_MRAP_01_gmg_F",[-87.8457,-109.947,7.15256e-007],0,[true,false]] +]; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; +//_uniforms = GMS_SkinList; + +_uniforms = ["U_OrestesBody","U_NikosAgedBody","U_NikosBody"]; + +_headgear = ["H_StrawHat_dark","H_StrawHat","H_Hat_brown","H_Hat_grey"]; + +/* +_weaponList = [ + "arifle_Katiba_F","arifle_Katiba_C_F","arifle_Katiba_GL_F","arifle_MXC_F","arifle_MX_F","arifle_MX_GL_F","arifle_MXM_F", + "LMG_Mk200_F","LMG_Zafir_F" + ]; +*/ +_sideArms = GMS_Pistols; +_vests = GMS_vests; +/* +_vests = [ + "V_PlateCarrierSpec_blk","V_PlateCarrierSpec_mtp","V_PlateCarrierGL_blk","V_PlateCarrierGL_mtp","V_PlateCarrierIAGL_oli" + }; +*/ +_backpacks = GMS_backpacks; +/* +_backpacks = +{ + +}; +*/ +//_chancePara = GMS_chanceParaBlue; // Setting this in the mission file overrides the defaults +_noPara = GMS_noParaBlue; // Setting this in the mission file overrides the defaults +//_chanceHeliPatrol = GMS_chanceHeliPatrolBlue; // Setting this in the mission file overrides the defaults +_noChoppers = GMS_noPatrolHelisBlue; +_missionHelis = GMS_patrolHelisBlue; +_endCondition = allKilledOrPlayerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear +//_timeOut = -1; +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Blue/derbunker.sqf b/@GMS/addons/GMS/Missions/Blue/derbunker.sqf new file mode 100644 index 0000000..e9384db --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/derbunker.sqf @@ -0,0 +1,110 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default"; +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; +_startMsg = "An enemy Bunker was sighted in a nearby sector! Check the Blue marker on your map for the location!"; +_endMsg = "The Bunker at the Blue Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[200,200],"Grid"]; +_markerColor = "ColorBlue"; +_markerMissionName = "Bunker"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Bunker_01_big_F",[-15.925,9.02295,0.760561],90.071,true,true,[["O_HMG_01_high_F",[-5.45947,-3.38574,0.109706],359.994]],[]], + ["Land_Bunker_01_tall_F",[-15.377,-8.8042,-0.00143909],90.071,true,true,[["O_HMG_01_high_F",[5.50562,-2.54395,-0.0121193],0.00145215],["O_HMG_01_high_F",[-1.72095,-0.109375,4.96893],0.00948966]],[]], + ["Land_Bunker_01_tall_F",[-15.76,28.606,-0.00143909],90.071,true,true,[["O_HMG_01_high_F",[5.47437,2.47559,-0.0121179],0.000581241],["O_HMG_01_high_F",[-1.38867,-0.0722656,4.967],359.999],["O_HMG_01_high_F",[11.8271,5.87988,-0.0121188],0.00143633]],[]], + ["Land_Bunker_01_big_F",[20.199,10.729,0.760561],270.416,true,true,[["O_HMG_01_high_F",[5.86328,3.25586,0.109697],0.0117801]],[]], + ["Land_Bunker_01_tall_F",[19.8899,-8.86914,-0.00143909],270.416,true,true,[["O_HMG_01_high_F",[-5.13818,-2.33496,-0.0121174],0.0002874],["O_HMG_01_high_F",[1.45801,0.0512695,4.96698],360]],[]], + ["Land_Bunker_01_tall_F",[19.731,28.542,-0.00143909],270.416,true,true,[["O_HMG_01_high_F",[-5.00977,2.1792,-0.0121188],0.00143735],["O_HMG_01_high_F",[1.80957,0.26709,4.96756],360],["O_HMG_01_high_F",[-12.0127,6.1333,-0.0121193],0.00145178]],[]] +]; + +_missionLandscape = [ + //["Sign_Arrow_F",[-3163.22,-5166.85,-0.00143909],0,true,true], + //["Sign_Arrow_Green_F",[-3163.22,-5166.85,-0.00143909],0,true,true], + //["Sign_Arrow_Yellow_F",[-3163.22,-5166.85,-0.00143909],0,true,true], + //["babe_helper",[-3165.72,-5166.35,-0.00143909],90.8645,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.762,17.5518,-0.00143909],270.35,true,true], + ["Land_Bunker_01_blocks_3_F",[-0.0979004,-12.9033,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[-5.18799,-12.9092,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[-10.175,-12.9253,-0.502439],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.814,-4.44141,-0.00143909],270.35,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.7959,0.544922,-0.00143909],270.35,true,true], + ["CamoNet_INDP_big_F",[2.23804,-2.70508,-0.00143909],182.545,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.7451,22.5391,-0.00143909],270.35,true,true], + ["Land_Bunker_01_blocks_3_F",[-2.51611,30.105,-0.00143909],90.192,true,true], + ["Land_Bunker_01_blocks_3_F",[-10.6179,32.6689,-0.432439],0.106,true,true], + ["Land_Bunker_01_blocks_3_F",[-5.63013,32.6719,-0.00143909],0.106,true,true], + ["Land_Bunker_01_blocks_3_F",[17.958,2.1958,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[14.9771,-12.854,-0.529439],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[4.88892,-12.8853,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[17.9109,-2.78906,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[9.98999,-12.8711,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[6.58691,30.1689,-0.00143909],269.774,true,true], + ["Land_Bunker_01_blocks_3_F",[18.095,19.2026,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[18.1409,24.189,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[9.54907,32.6689,-0.00143909],0.106,true,true], + ["Land_Bunker_01_blocks_3_F",[14.5359,32.6729,-0.363439],0.106,true,true] +]; + +_missionLootBoxes = [ + //["Exile_Container_SupplyBox",[0.0446777,-1.31494,-0.001441],_crateLoot,_lootCounts,0.00167282] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + //["O_LSV_02_armed_F",[-37.46,8.55273,-0.0378561],359.999], + //["O_LSV_02_unarmed_F",[38.3699,8.21484,-0.0378113],359.999] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Blue/forgotten_HQ.sqf b/@GMS/addons/GMS/Missions/Blue/forgotten_HQ.sqf new file mode 100644 index 0000000..3d6252d --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/forgotten_HQ.sqf @@ -0,0 +1,200 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default"; +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; +_startMsg = "A Forgotten HQ was sighted in a nearby sector! Check the Blue marker on your map for the location!"; +_endMsg = "The Forgotten HQ at the Blue Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[200,200],"GRID"]; +_markerColor = "ColorBlue"; +_markerMissionName = "Forgotten"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V2_F",[-16.0361,-36.5635,-0.00143862],0,true,true,[["O_G_HMG_02_high_F",[1.07422,-1.17676,4.38749],183.214]],[]], + ["Land_Cargo_Patrol_V2_F",[1.44385,-36.4934,-0.00143862],0,true,true,[["O_G_HMG_02_high_F",[-1.49438,-1.08521,4.38749],183.771]],[]], + ["Land_Cargo_HQ_V2_F",[-20.6721,-8.55249,-0.00143862],180,true,true,[["O_G_HMG_02_high_F",[-4.84253,-3.34399,3.16997],0.00630354]],[]], + ["Land_Cargo_Tower_V2_F",[-16.9631,-26.0334,-0.00143909],180,true,true,[["O_G_HMG_02_high_F",[-4.54858,0.758057,17.9329],0.00661736],["O_G_HMG_02_high_F",[3.65967,3.33838,17.9329],0.000690221]],[]], + ["Land_Cargo_HQ_V2_F",[7.14893,2.62769,-0.00143862],270.279,true,true,[["O_G_HMG_02_high_F",[-0.843506,5.84277,3.16996],0.00567617]],[]] +]; + + +_missionLandscape = [ + ["Land_CncWall4_F",[-32.4219,-12.8027,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-32.4495,-2.36279,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-32.4219,-7.55273,-0.00143909],90,true,true], + ["Land_CncWall1_F",[-32.4219,-16.0527,-0.00143909],90,true,true], + ["Land_CncWall1_F",[-32.1719,-17.3027,-0.00143909],60,true,true], + ["Land_CncWall4_F",[-17.2,-37.5388,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-19.45,-35.2888,-0.00143909],90,true,true], + ["Land_CncWall1_F",[-13.95,-37.2888,-0.00143909],345,true,true], + ["Land_CncWall1_F",[-0.469971,-37.123,-0.00143909],15,true,true], + ["Land_CncWall1_F",[-1.70728,-36.5938,-0.00143909],30,true,true], + ["Land_CncWall1_F",[-12.7,-36.7888,-0.00143909],330,true,true], + ["Land_Mil_WiredFence_Gate_F",[-7.18335,-36.4424,-0.00143909],0,true,true], + ["Land_LampShabby_F",[-2.78442,-36.3179,-0.00143909],267.423,true,true], + ["Land_LampShabby_F",[-11.5483,-36.9063,-0.00143909],96.8408,true,true], + ["Land_Razorwire_F",[-15.4663,-50.6616,-0.00143909],0,true,true], + ["Land_Garbage_square5_F",[-5.48242,-33.7585,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_Dam_F",[-23.4219,-33.3027,0.0484428],90,true,true], + ["Oil_Spill_F",[-0.250732,-46.9929,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[-18.6699,-48.1602,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[-8.92188,-48.0527,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[-23.377,-43.2129,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-10.9219,-12.4277,-0.00143909],270,true,true], + ["Land_CncWall4_F",[-10.9219,-7.17773,-0.00143909],270,true,true], + ["Land_CncWall4_F",[-23.9219,-17.8027,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-19.0479,-28.729,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-18.5469,-17.8027,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-29.2969,-17.8027,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-19.0479,-23.479,-0.00143909],90,true,true], + ["Land_CncWall1_F",[-12.0469,-16.5527,-0.00143909],315,true,true], + ["Land_CncWall1_F",[-13.0469,-17.1777,-0.00143909],345,true,true], + ["Land_CncWall1_F",[-11.2969,-15.5527,-0.00143909],300,true,true], + ["Land_CncWall1_F",[-18.7979,-20.229,-0.00143909],105,true,true], + ["Land_CncWall1_F",[-19.2,-32.0388,-0.00143909],105,true,true], + ["Land_CncWall1_F",[-1.87036,-6.15894,-0.00143909],76.1339,true,true], + ["Land_CncWall1_F",[-18.2979,-18.979,-0.00143909],120,true,true], + ["Land_CncWall1_F",[-0.776123,-8.00391,-0.00143909],44.3183,true,true], + ["Land_CncWall1_F",[-1.98975,-5.05225,-0.00143909],89.3183,true,true], + ["Land_CncWall1_F",[-10.9346,-1.3584,-0.00143909],254.791,true,true], + ["Land_CncWall1_F",[-1.50586,-7.08521,-0.00143909],59.3183,true,true], + ["Land_LampShabby_F",[-12.0967,-15.9277,-0.00143909],304.187,true,true], + ["Land_CncShelter_F",[-5.76489,-3.25,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-2.69824,-3.26221,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-10.3674,-3.21143,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-7.29834,-3.24414,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-8.83398,-3.21729,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-4.23169,-3.25635,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-14.8062,-17.8242,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[-23.4219,-23.3027,-0.00143909],90,true,true], + ["Land_Garbage_line_F",[-6.69629,-14.0273,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-2.08496,5.92285,-0.00143909],90.2789,true,true], + ["Land_CncWall4_F",[-24.9495,-0.112793,-0.00143909],180,true,true], + ["Land_CncWall4_F",[-2.11108,0.548096,-0.00143909],90.2789,true,true], + ["Land_CncWall4_F",[-19.6995,-0.112793,-0.00143909],180,true,true], + ["Land_CncWall4_F",[-2.05884,11.2979,-0.00143909],90.2789,true,true], + ["Land_CncWall4_F",[-30.1995,-0.112793,-0.00143909],180,true,true], + ["Land_CncWall4_F",[-14.4768,-0.108398,-0.00143909],180,true,true], + ["Land_CncWall1_F",[-0.293457,14.4143,-0.00143909],180.279,true,true], + ["Land_CncWall1_F",[-11.5137,-0.462158,-0.00143909],218.676,true,true], + ["Land_CncWall1_F",[-1.54468,14.1704,-0.00143909],150.279,true,true], + ["Land_CncWall4_F",[2.78003,-37.373,-0.00143909],0,true,true], + ["Land_CncWall4_F",[5.15894,-34.9495,-0.00143909],270,true,true], + ["Land_New_WiredFence_5m_F",[18.6162,-49.2598,-0.00143909],180,true,true], + ["Land_Mil_WiredFence_Gate_F",[1.02295,-48.2319,-0.00143909],0,true,true], + ["Land_Razorwire_F",[14.8767,-50.5405,-0.0014348],0,true,true], + ["Land_Garbage_square5_F",[3.02661,-41.5759,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[22.4329,-43.2773,-0.00143766],90,true,true], + ["Land_New_WiredFence_10m_F",[20.8657,-33.5273,-0.00143909],270,true,true], + ["Land_New_WiredFence_10m_F",[11.0781,-47.8027,-0.00143909],0,true,true], + ["Land_CncWall4_F",[15.5647,-3.63062,-0.00143909],270.279,true,true], + ["Land_CncWall4_F",[12.5393,-8.48145,-0.00143909],0.278918,true,true], + ["Land_CncWall4_F",[2.11768,-8.40479,-0.00143909],0.278918,true,true], + ["Land_CncWall4_F",[7.28931,-8.45581,-0.00143909],0.278918,true,true], + ["Land_CncWall4_F",[5.1084,-19.2168,-0.00143909],270,true,true], + ["Land_CncWall4_F",[5.07373,-13.9578,-0.00143909],270,true,true], + ["Land_CncWall4_F",[5.14282,-29.6782,-0.00143909],270,true,true], + ["Land_CncWall4_F",[5.11499,-24.4495,-0.00143909],270,true,true], + ["Land_CncWall1_F",[15.2651,-8.03906,-0.00143909],300.801,true,true], + ["Land_CncWall1_F",[15.5632,-6.90161,-0.00143909],270.801,true,true], + ["Land_HelipadSquare_F",[14.0413,-24.9829,-0.00143909],0,true,true], + ["Land_New_WiredFence_5m_F",[18.8281,-8.80273,-0.00143909],180,true,true], + ["Land_LampShabby_F",[14.521,-6.92456,-0.00143909],315,true,true], + ["Land_CncShelter_F",[4.83472,-10.1133,-0.00143909],90.2789,true,true], + ["Land_GarbageBags_F",[2.49902,-16.0364,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[20.8281,-23.5527,-0.00143909],270,true,true], + ["Land_New_WiredFence_10m_F",[20.8281,-13.5527,-0.00143909],270,true,true], + ["Land_Wreck_Heli_Attack_02_F",[13.4341,-23.897,-0.00143909],0,true,true], + ["Land_CncWall4_F",[15.6953,12.0864,-0.00143909],270.279,true,true], + ["Land_CncWall4_F",[13.4563,14.3474,-0.00143909],180.279,true,true], + ["Land_CncWall4_F",[15.6443,1.58667,-0.00143909],270.279,true,true], + ["Land_CncWall4_F",[8.2063,14.3728,-0.00143909],180.279,true,true], + ["Land_CncWall4_F",[15.6697,6.83643,-0.00143909],270.279,true,true], + ["Land_CncWall4_F",[2.9563,14.3984,-0.00143909],180.279,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + //["O_G_Offroad_01_armed_F",[-10.8826,-67.0554,0.00841188],85.3805], + //["O_G_Offroad_01_armed_F",[-7.25098,-35.3657,0.00811148],357.094] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + +]; + +_missionGroups = [ + //[[-10.0691,-41.8555,0],3,6,"Red",30,45], + //[[-1.13232,-24.1541,0],3,6,"Red",30,45], + //[[-9.49146,-26.8044,0],3,6,"Red",30,45], + //[[12.8374,-37.3408,0],3,6,"Red",30,45] +]; + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +_spawnCratesTiming = "atMissionSpawnAir"; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir". + // Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute. + // This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission. +_loadCratesTiming = GMS_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn"; + // Pertains only to crates spawned at mission spawn. + // This sets the default but can be overridden for specific missions by defining _loadCratesTiming + + // Examples: + // To spawn crates at mission start loaded with gear set GMS_spawnCratesTiming = "atMissionSpawnGround" && GMS_loadCratesTiming = "atMissionSpawn" + // To spawn crates at mission start but load gear only after the mission is completed set GMS_spawnCratesTiming = "atMissionSpawnGround" && GMS_loadCratesTiming = "atMissionCompletion" + // To spawn crates on the ground at mission completion set GMS_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned. + // To spawn crates in the air and drop them by chutes set GMS_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned. +_endCondition = allKilledOrPlayerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear + // Setting this in the mission file overrides the defaults + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Blue/garrison.sqf b/@GMS/addons/GMS/Missions/Blue/garrison.sqf new file mode 100644 index 0000000..849cc80 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/garrison.sqf @@ -0,0 +1,107 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An enemy garrison!"; +_endMsg = "The garrison is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[200,200],"GRID"]; +_markerColor = "ColorBlue"; +_markerMissionName = "Garrison"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + + + + +_garrisonedBuildings_BuildingPosnSystem = [ + ["Land_Unfinished_Building_02_F",[-28.137,-48.6494,-0.00268841],0,true,true,0.67,3,[],4], + ["Land_i_Shop_02_V2_F",[22.688,35.2515,-0.00268841],0,true,true,0.67,3,[],4] +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Unfinished_Building_02_F",[-28.3966,34.8145,-0.00268841],0,true,true,[["B_HMG_01_high_F",[-5.76953,1.16504,7.21168],360]],[]], + ["Land_Unfinished_Building_02_F",[20.1816,-44.2554,-0.00268841],0,true,true,[],[[[4.68567,3.59082,0.257384],0],[[-5.20032,5.66797,3.96986],0]]] +]; + +_missionLandscape = [ + ["Land_i_House_Big_02_V3_F",[-64.5577,-100.259,-0.00268841],0,true,true], + ["Land_u_House_Big_01_V1_F",[-65.2944,63.9878,-0.00268841],0,true,true], + //["Sign_Sphere100cm_F",[-25.4528,-44.6294,0.614402],0,true,true], + //["Sign_Arrow_Direction_Green_F",[24.8673,-40.6646,0.254696],0,true,true], + //["Sign_Arrow_Direction_Green_F",[14.9813,-38.5874,3.96717],0,true,true], + //["Sign_Arrow_F",[10.937,-14.8413,1.03384],0,true,true], + //["Sign_Sphere100cm_F",[18.4126,35.3154,0.499284],0,true,true], + ["Land_i_House_Big_02_V1_F",[53.7161,-101.875,-0.00268841],0,true,true], + ["Land_i_House_Big_02_V2_F",[52.6943,66.0278,-0.00268841],0,true,true], + //["Box_IND_AmmoOrd_F",[-25.7473,-46.3496,3.72631],359.995,true,true], + ["CargoNet_01_barrels_F",[-31.2815,14.4961,-0.00268984],359.995,true,true], + ["CargoNet_01_barrels_F",[-2.56213,-16.4194,-0.00268888],359.999,true,true], + ["CargoNet_01_barrels_F",[3.29309,-24.7749,-0.00268984],359.995,true,true], + ["CargoNet_01_barrels_F",[18.3497,-0.543945,-0.00268888],360,true,true] +]; + +_missionLootBoxes = [ + +]; + +_missionLootVehicles = [ + //["B_G_Van_01_transport_F",[10.937,-14.8413,1.03384],_crateLoot,_lootCounts,0] +]; + +_missionPatrolVehicles = [ + //["B_LSV_01_armed_F",[-1.72729,-70.439,-0.0251398],0.00168032], + //["B_LSV_01_armed_F",[-3.96387,50.4224,-0.0167227],0.000187991] + //["B_G_Van_01_transport_F",[11.2661,-13.9561,0.0110526],359.998] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ + ["B_Heli_Light_01_dynamicLoadout_F",[-52.1934,-2.21631,0.00351906],0.0012961] +]; + +_missionEmplacedWeapons = [ + ["B_HMG_01_high_F",[-34.1661,35.9795,7.20899],360], + ["B_GMG_01_high_F",[43.4441,-24.4961,-0.0144982],360] +]; + +_missionGroups = [ + //[[-31.2625,5.21875,-0.00124931],3,6,"Red",30,45], + //[[-46.3765,18.731,-0.00124931],3,6,"Red",30,45], + //[[-21.8778,18.8506,-0.00124931],3,6,"Red",30,45], + //[[-3.32458,-42.5176,-0.00124931],3,6,"Red",30,45], + //[[-2.06714,36.3027,-0.00124931],3,6,"Red",30,45], + //[[29.3705,-18.0239,-0.00124931],3,6,"Red",30,45] +]; + +_scubaGroupParameters = [ +]; +// Change _useMines to true/false below to enable mission-specific settings. +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_minNoAI = GMS_MinAI_Blue; // Setting this in the mission file overrides the defaults such as GMS_MinAI_Blue +_maxNoAI = GMS_MaxAI_Blue; // Setting this in the mission file overrides the defaults +_noAIGroups = GMS_AIGrps_Blue; // Setting this in the mission file overrides the defaults +_noVehiclePatrols = GMS_SpawnVeh_Blue; // Setting this in the mission file overrides the defaults +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; // Setting this in the mission file overrides the defaults + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Blue/hostage1.sqf b/@GMS/addons/GMS/Missions/Blue/hostage1.sqf new file mode 100644 index 0000000..6552f43 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/hostage1.sqf @@ -0,0 +1,162 @@ +/* + Mission Template by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default2"; + +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; +_startMsg = "A local town mayor is being held hostage! Free him and earn a reward!"; +_endMsg = "The Mayor Was Rescued!"; +_assetKilledMsg = "The Hostage Was Killed and Bandits Fled with All Loot: Mission Aborted"; +_markerLabel = ""; +_markerType = ["ellipse",[175,175],"GRID"]; +_markerColor = "ColorBlue"; +_markerMissionName = "Rescue Hostage"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + //["Flag_AAF_F",[0.269531,-29.8301,0],0,[true,false]], + ["Campfire_burning_F",[-2.75391,-13.043,0],0,[true,false]], + ["Land_Stone_8m_F",[-17.252,-5.42969,0],268.936,[true,false]], + ["Land_Stone_8m_F",[-17.4609,2.93945,0],268.936,[true,false]], + ["Land_Stone_8m_F",[-17.6191,11.1426,0],268.936,[true,false]], + ["Land_Stone_8m_F",[16.082,-3.7168,0],270,[true,false]], + ["Land_Stone_8m_F",[16.0742,4.58789,0],270,[true,false]], + ["Land_Stone_8m_F",[16.1035,12.8438,0],270,[true,false]], + ["Land_Stone_8m_F",[7.83203,17.8164,0],0,[true,false]], + ["Land_Stone_8m_F",[-0.505859,18.0039,0],0,[true,false]], + ["Land_Stone_8m_F",[-8.85742,18.0273,0],0,[true,false]], + ["Land_Stone_8m_F",[7.94727,-32.7383,0],0,[true,false]], + ["Land_Stone_8m_F",[-0.318359,-32.7246,0],0,[true,false]], + ["Land_Stone_8m_F",[-8.54492,-32.6836,0],0,[true,false]], + ["Land_HBarrierWall6_F",[-54.6641,42.75,0],91.2122,[true,false]], + ["Land_HBarrierWall6_F",[-54.7383,25.9102,0],91.2122,[true,false]], + ["Land_HBarrierWall6_F",[-54.6934,34.375,0],91.2122,[true,false]], + ["Land_HBarrierWall6_F",[-54.5156,5.78711,0],91.2122,[true,false]], + ["Land_HBarrierWall6_F",[-54.6035,17.4902,0],91.2122,[true,false]], + ["Land_HBarrierWall6_F",[-54.2441,-11.2656,0],91.2122,[true,false]], + ["Land_HBarrierWall6_F",[-54.4961,-2.67383,0],91.2122,[true,false]], + ["Land_HBarrierWall6_F",[-53.9336,-23.9395,0],91.2122,[true,false]], + ["Land_HBarrierWall6_F",[-53.6113,-32.1563,0],91.2122,[true,false]], + ["Land_HBarrierWall6_F",[52.082,29.7891,0],90.6291,[true,false]], + ["Land_HBarrierWall6_F",[52.043,38.252,0],90.6291,[true,false]], + ["Land_HBarrierWall6_F",[52.5098,9.66602,0],90.6291,[true,false]], + ["Land_HBarrierWall6_F",[52.3008,21.3691,0],90.6291,[true,false]], + ["Land_HBarrierWall6_F",[52.9551,-7.38086,0],90.6291,[true,false]], + ["Land_HBarrierWall6_F",[52.6152,1.20703,0],90.6291,[true,false]], + ["Land_HBarrierWall6_F",[53.3945,-20.0508,0],90.6291,[true,false]], + ["Land_HBarrierWall6_F",[53.8008,-28.2637,0],90.6291,[true,false]], + ["Land_HBarrierWall6_F",[51.9824,46.627,0],90.6291,[true,false]], + ["Land_HBarrierWall6_F",[42.873,59.8809,0],180.956,[true,false]], + ["Land_HBarrierWall6_F",[26.0313,59.8809,0],180.956,[true,false]], + ["Land_HBarrierWall6_F",[34.4961,59.873,0],180.956,[true,false]], + ["Land_HBarrierWall6_F",[5.9082,59.5664,0],180.956,[true,false]], + ["Land_HBarrierWall6_F",[17.6133,59.707,0],180.956,[true,false]], + ["Land_HBarrierWall6_F",[-11.1406,59.2188,0],180.956,[true,false]], + ["Land_HBarrierWall6_F",[-2.55078,59.5098,0],180.956,[true,false]], + ["Land_HBarrierWall6_F",[-23.8125,58.8516,0],180.956,[true,false]], + ["Land_HBarrierWall6_F",[-32.0293,58.4922,0],180.956,[true,false]], + ["Land_HBarrierWall6_F",[-40.3965,58.4121,0],180.956,[true,false]], + ["Land_HBarrierWall6_F",[-48.8535,58.2324,0],180.956,[true,false]], + ["Land_HBarrierWall6_F",[-44.877,-44.8379,0],1.36283,[true,false]], + ["Land_HBarrierWall6_F",[-28.0371,-44.957,0],1.36283,[true,false]], + ["Land_HBarrierWall6_F",[-36.502,-44.8906,0],1.36283,[true,false]], + ["Land_HBarrierWall6_F",[-7.91016,-44.7871,0],1.36283,[true,false]], + ["Land_HBarrierWall6_F",[-19.6152,-44.8438,0],1.36283,[true,false]], + ["Land_HBarrierWall6_F",[9.13867,-44.5605,0],1.36283,[true,false]], + ["Land_HBarrierWall6_F",[0.548828,-44.791,0],1.36283,[true,false]], + ["Land_HBarrierWall6_F",[21.8145,-44.2832,0],1.36283,[true,false]], + ["Land_HBarrierWall6_F",[30.0332,-43.9824,0],1.36283,[true,false]], + ["Land_HBarrierWall6_F",[38.3047,-43.8945,0],1.36283,[true,false]], + ["Land_HBarrierWall6_F",[46.7598,-43.6582,0],1.36283,[true,false]], + ["Land_Stone_8m_F",[15.791,-29.4043,0],270,[true,false]], + ["Land_Stone_8m_F",[15.7383,-21.0332,0],270,[true,false]], + ["Land_Stone_8m_F",[15.7324,-12.8281,0],270,[true,false]], + ["Land_Stone_8m_F",[-17.2559,-28.6465,0],270,[true,false]], + ["Land_Stone_8m_F",[-17.3086,-20.2754,0],270,[true,false]], + ["Land_Stone_8m_F",[-17.3145,-12.0703,0],270,[true,false]] + ]; // list of objects to spawn as landscape; // list of objects to spawn as landscape + +_buildings = [ + "Land_i_House_Big_01_V1_F", + "Land_i_House_Big_01_V3_F", + "Land_i_House_Big_02_V1_F", + "Land_i_House_Big_02_V3_F", + "Land_i_Shop_02_V1_F", + "Land_i_Shop_02_V3_F" +]; +_hostageConfig = ["C_man_polo_6_F", + [-7.08594,9.5957, + -0.299652], + 126.345, + [true,false], + ["AmovPercMstpSnonWnonDnon_Scared"], + ["H_Cap_red"], // array of headgear choices + ["U_NikosBody"], // array of uniform choices + [selectRandom _buildings,[-0.279297,-15.9199,0],0,[true,false]] + ]; // Sitting Animation + // Use the animation view to see other choices: http://killzonekid.com/arma-3-animation-viewer-jumping-animation/ +_missionLootBoxes = [ + //["Box_NATO_Wps_F",[3,-3,0],_crateLoot,[4,10,2,5,5,1]], // Standard loot crate with standard loadout + //["Land_PaperBox_C_EPOCH",[-4,-3,0],_crateLoot,[0,0,0,10,10,3]], // No Weapons, Magazines, or optics; 10 each construction supplies and food/drink items, 3 backpacks + //["Land_CargoBox_V1_F",[3,4,0],_crateLoot,[0,10,2,5,5,1]] + ]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. + + // GMS_lootCountsBlue= [4,12,3,6,6,1]; +_missionLootVehicles = [ + //["I_G_Offroad_01_armed_F",[-8,8,0],_crateLoot,[0,10,2,5,5,1]], + //["I_G_Offroad_01_armed_F",[8,17,0],_crateLoot,[0,10,2,5,5,1]] + ]; // Parameters are "vehiclel type", offset relative to mission center, loot array, items to load from each category of the loot array. + // ["B_HMG_01_high_F"/*,"B_GMG_01_high_F","O_static_AT_F"*/]; + + /* + ["B_G_Soldier_AR_F",[26.9961,-29.9551,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[32.2461,33.0605,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[-35.6035,32.1855,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[-47.4219,-19.8906,-0.00143886],0,[true,false]] + */ +_missionGroups = + [ + //_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"]; + //[[26.9961,-29.9551,-0.00143886],3,3,"Blue",10,20], + //[[32.2461,33.0605,-0.00143886],3,3,"Blue",10,20], + //[[-35.6035,32.1855,-0.00143886],3,3,"Blue",10,20], + //[[-47.4219,-19.8906,-0.00143886],1,1,"Blue",10,20] + ]; // Can be used to define spawn positions of AI patrols + +_missionEmplacedWeapons = [ + //["B_HMG_01_high_F",[-10,-15,0]], + //["B_GMG_01_high_F",[10,12,0]], + //["O_static_AT_F",[-10,10,0]] + ]; // can be used to define the type and precise placement of static weapons [["wep",[1,2,3]] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used + +_missionPatrolVehicles = [ + //["B_MRAP_01_hmg_F",[27.8945,100.275,0],0,[true,false]], + //["B_MRAP_01_hmg_F",[-84.7793,72.2617,9.53674e-007],0,[true,false]], + //["B_MRAP_01_gmg_F",[-87.8457,-109.947,7.15256e-007],0,[true,false]] +]; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +//_noPara = GMS_noParaBlue; +_chanceHeliPatrol = 0; +_spawnCratesTiming = "atMissionEndAir"; +_endCondition = assetSecured; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear, assetSecured +//_timeOut = -1; +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Blue/inhaftierung.sqf b/@GMS/addons/GMS/Missions/Blue/inhaftierung.sqf new file mode 100644 index 0000000..ab94b44 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/inhaftierung.sqf @@ -0,0 +1,180 @@ +/* + Mission Template by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default2"; + +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; +_startMsg = "A local Mafia Don has been spotted! Capture him and earn a reward!"; +_endMsg = "The Maria Don was captured and the area is under survivor control!"; +_assetKilledMsg = "Enemy Leader Killed and Bandits Fled with All Loot: Mission Aborted"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorBlue"; +_markerMissionName = "inhaftierung"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + //["babe_helper",[-3327.46,-2809.42,-0.00143909],0,true,true], + //["Sign_Arrow_Green_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + //["Sign_Arrow_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + //["Sign_Arrow_Yellow_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[-2.76221,-30.3596,-0.00143909],0,true,true], + ["Land_HBarrier_1_F",[-9.74463,-27.0081,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[-9.74268,-29.0042,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-8.36182,-30.3743,-0.00143909],180,true,true], + ["CamoNet_OPFOR_open_F",[-0.361816,-1.01782,-0.00143909],180,true,true], + ["Land_HBarrier_3_F",[-15.3853,-13.9866,-0.00143909],315,true,true], + ["Land_HBarrier_Big_F",[-3.61768,-5.26782,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[-5.46533,3.40405,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[-18.5767,-14.5354,-0.00143909],45,true,true], + ["Land_HBarrier_Big_F",[-12.4985,-20.3987,-0.00143909],45,true,true], + ["Land_HBarrier_1_F",[-22.9692,-2.77563,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[-23.3423,0.478271,-0.00143909],15,true,true], + ["Land_BagFence_Long_F",[-24.5767,-9.90649,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-22.8071,-8.13794,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-18.7427,-12.3811,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-23.2368,2.26245,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-21.8657,6.25952,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-22.3657,-13.8772,-0.00143909],135,true,true], + ["Land_BagFence_Long_F",[-9.74268,-25.1174,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-18.5649,-8.3147,-0.00143909],45,true,true], + ["Land_BagFence_Long_F",[-23.2368,4.88843,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-25.2192,0.111084,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-25.2192,-2.76587,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-26.5884,-1.39282,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-24.3989,-13.9709,-0.00143909],225,true,true], + ["Land_BagFence_Round_F",[-17.5747,-10.4006,-0.00143909],270,true,true], + ["Land_BagFence_Round_F",[-25.5493,-11.9026,-0.00143909],90,true,true], + ["Land_BagFence_Round_F",[-20.7212,-7.07642,-0.00143909],180,true,true], + ["Land_BagFence_End_F",[-9.7583,-23.3167,-0.00143909],270,true,true], + ["Land_Cargo_Patrol_V3_F",[-10.9263,-16.053,-0.00143862],45,true,true], + ["Land_Cargo_House_V3_F",[-3.09424,-20.7424,-0.00143909],180,true,true], + ["CamoNet_OPFOR_open_F",[-0.225098,8.17163,-0.00143909],0,true,true], + ["Land_HBarrier_3_F",[-1.85596,17.1208,-0.00143909],180,true,true], + ["Land_HBarrier_3_F",[-2.70752,19.4275,-0.00143909],90,true,true], + ["Land_HBarrier_Big_F",[-19.6177,9.36694,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[-19.6646,17.5466,-0.00143909],90,true,true], + ["Land_HBarrier_1_F",[-4.93994,9.58374,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[-16.4673,27.1775,-0.00143909],285,true,true], + ["Land_HBarrier_1_F",[-2.68408,25.3513,-0.00143909],120,true,true], + ["Land_BagFence_Long_F",[-2.30908,23.7244,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-19.7173,23.0505,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-19.7153,25.9265,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-18.3462,27.4314,-0.00143909],0,true,true], + ["Land_Cargo_Patrol_V3_F",[-15.4087,10.7146,-0.00143862],90,true,true], + ["Land_HBarrier_5_F",[-15.7407,14.7517,-0.00143909],0,true,true], + ["Land_HBarrier_5_F",[-6.33838,7.41382,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[4.87646,-28.4124,-0.00143909],330,true,true], + ["Land_HBarrier_3_F",[10.5171,0.540771,-0.00143909],0,true,true], + ["Land_HBarrier_3_F",[11.3687,-7.17212,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[23.0171,-13.6155,-0.00143909],285,true,true], + ["Land_HBarrier_Big_F",[3.04834,3.62964,-0.00143909],1.36604e-005,true,true], + ["Land_HBarrier_Big_F",[11.8745,-23.9084,-0.00143909],330,true,true], + ["Land_HBarrier_Big_F",[7.90967,0.343506,-0.00143909],90,true,true], + ["Land_HBarrier_Big_F",[24.978,-5.36938,-0.00143909],285,true,true], + ["Land_HBarrier_Big_F",[11.2808,-4.62427,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[25.9077,2.68921,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[4.35498,-2.41431,-0.00143909],90,true,true], + ["Land_HBarrier_1_F",[21.0073,-21.7493,-0.00143909],30,true,true], + ["Land_BagFence_Long_F",[19.1304,-21.6174,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[16.5073,-21.6174,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[7.89795,6.07788,-0.00143909],270,true,true], + ["Land_Loudspeakers_F",[21.2026,-15.3088,-0.00143909],196,true,true], + ["Land_HBarrier_5_F",[17.7847,6.20483,-0.00143909],270,true,true], + ["Land_HBarrier_5_F",[11.3823,-11.5022,-0.00143909],270,true,true], + ["Land_HBarrier_5_F",[5.75146,-0.244385,-0.00143909],90,true,true], + ["Land_Cargo_House_V3_F",[5.49561,-9.99927,-0.00143909],90,true,true], + ["Land_Cargo_House_V3_F",[5.03076,-17.6174,-0.00143909],150,true,true], + ["CamoNet_OPFOR_open_F",[22.6538,9.88257,-0.00143909],270,true,true], + ["Land_HBarrier_3_F",[18.7593,9.75757,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[9.20264,21.2849,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[15.9546,18.7849,-0.00143909],225,true,true], + ["Land_HBarrier_Big_F",[22.4077,16.1892,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[0.70459,21.283,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[25.7827,11.0642,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[4.57764,19.0466,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[4.57764,16.1716,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[11.3843,19.2634,-0.00143909],90,true,true], + ["Land_BagFence_End_F",[4.57764,14.4216,-0.00143909],90,true,true], + ["Land_BagFence_End_F",[7.68896,7.77515,-0.00143909],240,true,true], + ["Land_BagFence_End_F",[11.3843,17.5134,-0.00143909],90,true,true] + ]; // list of objects to spawn as landscape; // list of objects to spawn as landscape + +_buildings = [ + //"Land_Cargo_HQ_V4_F", + //"Land_Cargo_HQ_V1_F", + //"Land_Cargo_HQ_V2_F", + //"Land_Cargo_HQ_V3_F", + //"Land_Cargo_Tower_V1_F", + //"Land_Cargo_Tower_V2_F", + //"Land_Cargo_Tower_V3_F", + "Land_Cargo_Patrol_V3_F", + "Land_Cargo_House_V3_F" +]; +_enemyLeaderConfig = + ["I_G_resistanceLeader_F", // select 0 + [-7.83789,13.1465,-0.00143886], // select 1 + 126.345, // select 2 + [true,false], // select 3 + ["Acts_B_briefings"], // Use the animation viewer to see other choices: http://killzonekid.com/arma-3-animation-viewer-jumping-animation/ + ["H_Beret_Colonel"], // array of headgear choices + ["U_OrestesBody"], // array of uniform choices + [selectRandom _buildings,[-3.79102,2.56055,0],0,[true,false]] + ]; +_enemyLeaderConfig set[ + 1, selectRandom [[-7.83789,13.1465,-0.00143886]] + ]; + // This allows us to place the antagonist to be arrested in one of several random locations. +_missionLootBoxes = [ + //["Box_NATO_Wps_F",[3,-3,0],_crateLoot,[4,10,2,5,5,1]], // Standard loot crate with standard loadout + //["Land_PaperBox_C_EPOCH",[-4,-3,0],_crateLoot,[0,0,0,10,10,3]], // No Weapons, Magazines, or optics; 10 each construction supplies and food/drink items, 3 backpacks + //["Land_CargoBox_V1_F",[3,4,0],_crateLoot,[0,10,2,5,5,1]] + ]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. + + // GMS_lootCountsBlue= [4,12,3,6,6,1]; +_missionPatrolVehicles = [ + //["B_LSV_01_armed_F",[-41.377,-5.40894,-0.0238895],0.00171121], + ["B_LSV_01_armed_F",[39.5627,-5.26709,-0.0237107],0.00169144] + ]; // Parameters are "vehiclel type", offset relative to mission center, loot array, items to load from each category of the loot array. + // ["B_HMG_01_high_F"/*,"B_GMG_01_high_F","O_static_AT_F"*/]; + + /* + ["B_G_Soldier_AR_F",[-19.5156,25.2598,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[-27.7676,-24.5508,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[32.4883,-23.4609,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[36.6914,12.1836,-0.00143886],0,[true,false]] + */ + + +_missionEmplacedWeapons = []; // +_missionPatrolVehicles = [ + //["B_MRAP_01_hmg_F",[27.8945,100.275,0],0,[true,false]], + //["B_MRAP_01_hmg_F",[-84.7793,72.2617,9.53674e-007],0,[true,false]], + //["B_MRAP_01_gmg_F",[-87.8457,-109.947,7.15256e-007],0,[true,false]] +]; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; +//_chancePara = GMS_chanceParaBlue; +//_noPara = GMS_noParaBlue; +//_chanceHeliPatrol = 0; +//_spawnCratesTiming = "atMissionEndAir"; +//_endCondition = assetSecured; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear, assetSecured + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Blue/medicalCamp.sqf b/@GMS/addons/GMS/Missions/Blue/medicalCamp.sqf new file mode 100644 index 0000000..eb1052b --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/medicalCamp.sqf @@ -0,0 +1,59 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = medicalCamp"; +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; +_startMsg = "A Bandit Medical camp has been spotted. Check the Blue marker on your map for its location"; +_endMsg = "The Bandit Medical camp at the Blue Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[175,175],"GRID"]; +_markerColor = "ColorBlue"; +_markerMissionName = "Medical Camp"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AAF_F",[5,5,0],0,[false,true]], + ["Land_dp_transformer_F",[1.698242,-10.4668,-0.00763702],271.32,[true,true]], + ["Land_Wreck_BRDM2_F",[1.37012,13.498,0.00109863],184.487,[true,true]], + ["Land_BagBunker_Small_F",[18.4512,-3.66406,0.00780487],305.003,[true,true]], + ["Land_Cargo_HQ_V1_F",[-20.1367,11.7539,0],90.8565,[true,false]], + ["Land_BagBunker_Small_F",[-22.707,-3.75586,-0.0130234],44.9901,[true,true]], + ["Land_Cargo_House_V1_F",[24.3584,7.45313,0.00111389],91.6329,[true,true]], + ["StorageBladder_01_fuel_forest_F",[1.29492,29.3184,0.000999451],179.65,[false,true]], + ["Land_GarbageBags_F",[-9.45996,31.252,0.02005],184.595,[false,true]], + ["Land_GarbageBags_F",[-13.0459,32.668,-0.0283051],184.595,[false,false,true]], + ["Land_GarbageBags_F",[-11.5957,33.125,-0.598007],184.595,[false,false,true]], + ["Land_GarbageBags_F",[-8.98145,34.5801,-0.00514221],184.592,[false,true]], + ["Land_Addon_02_V1_ruins_F",[24.8369,24.6582,-0.00820923],90.9637,[false,true]], + ["Land_GarbageBags_F",[-10.9443,35.0449,0.577057],184.592,[false,true]], + ["Land_Cargo20_military_green_F",[14.6533,32.9004,0.000480652],90.0989,[false,true]], + ["Land_BagBunker_Small_F",[-23.0186,28.6738,-0.0271301],120.012,[false,true]], + ["Land_BagBunker_Small_F",[37.1504,34.5742,0.0146866],255,[false,true]] + ]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; + diff --git a/@GMS/addons/GMS/Missions/Blue/redCamp.sqf b/@GMS/addons/GMS/Missions/Blue/redCamp.sqf new file mode 100644 index 0000000..d61439b --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/redCamp.sqf @@ -0,0 +1,85 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = redCamp"; +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; +_startMsg = "A temporary Bandit camp has been spotted. Check the Blue marker on your map for its location"; +_endMsg = "The temporary Bandit Blue camp at the Blue Marker is under player control"; +_markerLabel = ""; +_markerType = ["ellipse",[175,175],"GRID"]; +_markerColor = "ColorBlue"; +_markerMissionName = "Bandit Camp"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Land_CampingChair_V1_F",[1.32227,2.07813,8.2016e-005],108.293,[false,true]], + ["Land_CampingChair_V1_F",[-2.01465,2.91992,3.05176e-005],236.049,[false,true]], + ["FirePlace_burning_F",[0.0302734,4.26563,2.47955e-005],359.997,[false,true]], + ["Land_CampingChair_V1_F",[2.47168,4.21484,0.000102997],108.293,[false,true]], + ["Land_CampingChair_V1_F",[-1.86816,5.07422,3.05176e-005],319.489,[false,true]], + ["Land_CampingChair_V1_F",[0.915039,6.20898,1.71661e-005],51.7207,[false,true]], + ["Land_Sleeping_bag_brown_F",[8.27441,0.609375,0.00414658],98.0314,[false,true]], + ["Land_Sleeping_bag_brown_F",[8.27344,2.76758,0.00447083],91.7928,[false,true]], + ["Land_Sleeping_bag_brown_F",[7.9082,4.95898,-0.00173759],85.1176,[false,true]], + ["Land_Garbage_square3_F",[-4.95508,8.24023,0.00018692],60.0024,[false,true]], + ["Land_Camping_Light_F",[8.92773,3.80273,-0.000205994],344.236,[false,true]], + ["Land_Sleeping_bag_brown_F",[7.32129,7.55859,-0.0051899],60.1216,[false,true]], + ["Land_TentDome_F",[-9.75488,3.13477,0.00125313],146.574,[false,true]], + ["Land_WoodPile_F",[-0.322266,9.97266,-0.000553131],35.0017,[false,true]], + ["Land_Razorwire_F",[-0.0185547,-9.84961,0.0752335],1.7831,[false,true]], + ["Land_CampingChair_V1_folded_F",[3.8584,9.59375,0],60,[false,true]], + ["Land_TentDome_F",[-8.76855,7.85156,-0.00471497],207.522,[false,true]], + ["Land_BagFence_Round_F",[8.99707,-8.01367,-0.00951576],326.002,[false,true]], + ["Land_BagFence_Round_F",[-10.8164,-6.33594,-0.0038681],59.9991,[false,true]], + ["Land_TentDome_F",[-7.12207,11.8398,-0.00328445],231.101,[false,true]], + ["Land_CampingTable_small_F",[-4.62598,13.2754,7.62939e-005],344.243,[false,true]], + ["Land_Camping_Light_F",[-4.5957,13.332,0.687943],344.243,[false,true]], + ["Land_Razorwire_F",[15.5459,0.605469,0.145557],102.505,[false,true]], + ["Land_BagFence_Round_F",[7.16211,13.8516,0.000429153],221.639,[false,true]], + ["Land_Razorwire_F",[15.9678,8.35938,0.0635166],85.7459,[false,true]], + ["Land_Razorwire_F",[-19.1553,-1.61328,-0.0238552],70.0997,[false,true]], + ["Land_Razorwire_F",[-12.3906,-15.4492,0.0128002],19.2641,[false,true]], + ["Land_Razorwire_F",[-19.4629,5.67969,0.0492821],102.505,[false,true]], + ["Land_BagFence_Round_F",[-11.2891,17.6777,-0.00759888],128.563,[false,true]], + ["Land_Razorwire_F",[15.2949,-14.3027,0.0502853],139.224,[false,true]], + ["Land_Razorwire_F",[15.2852,16.2656,-0.0208111],85.1363,[false,true]], + ["Land_Razorwire_F",[4.80273,21.8223,-0.0563145],49.2133,[false,true]], + ["Land_Razorwire_F",[-17.7891,13.4863,-0.0646877],102.5,[false,true]], + ["Land_Razorwire_F",[-14.7109,20.2871,0.0674477],306.189,[false,true]], + ["Land_BagFence_Round_F",[25.3975,-6.08008,0.00466537],272.26,[false,true]], + ["Land_Wreck_Truck_F",[26.6289,12.2441,0.00333214],344.243,[false,true]], + ["Land_GarbageBags_F",[-24.9463,17.3066,0.000968933],60.0003,[false,true]], + ["Land_BagFence_Round_F",[11.167,28.832,-0.00405121],178.394,[false,true]], + ["Land_BagFence_Round_F",[-6.36914,30.6953,-0.000207901],178.378,[false,true]], + ["Land_Wreck_Hunter_F",[21.0391,25.9707,0.0118179],325.412,[false,true]], + ["Land_Camping_Light_F",[-33.7852,10.0371,0.000759125],344.235,[false,true]], + ["Land_BagFence_Round_F",[-34.3232,10.1035,0.00181007],60.0012,[false,true]] + ]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; + + diff --git a/@GMS/addons/GMS/Missions/Blue/resupplyCamp.sqf b/@GMS/addons/GMS/Missions/Blue/resupplyCamp.sqf new file mode 100644 index 0000000..eb27895 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/resupplyCamp.sqf @@ -0,0 +1,48 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = resupplyCamp"; +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; +_startMsg = "A Bandit resupply camp has been spotted. Check the Blue marker on your map for its location"; +_endMsg = "The Bandit resupply camp at the Blue Marker is under player control"; +_markerLabel = ""; +_markerType = ["ellipse",[175,175],"GRID"]; +_markerColor = "ColorBlue"; +_markerMissionName = "Resupply Camp"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Land_Cargo_House_V1_F",[-29.41016,0.13477,-0.0224228],359.992,[true,true]], + ["Land_Cargo_House_V1_F",[29.2988,-0.1,0.150505],54.9965,[true,true]], + ["CamoNet_INDP_big_F",[-20.4346,15.43164,-0.00395203],54.9965,[false,true]], + ["Land_BagBunker_Small_F",[-20.4346,15.43164,-0.0138168],119.996,[false,true]], + ["Land_BagBunker_Small_F",[-20.3604,-15.6035,-0.0130463],44.9901,[false,true]], + ["Land_BagBunker_Small_F",[18.4453,-15.791,0.00744629],305.003,[false,true]], + ["Land_BagBunker_Small_F",[18.3711,15.5703,0.0101624],254.999,[false,true]], + ["CamoNet_INDP_big_F",[18.3711,15.5703,-0.00395203],54.9965,[false,true]] + ]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Blue/sniperBase.sqf b/@GMS/addons/GMS/Missions/Blue/sniperBase.sqf new file mode 100644 index 0000000..df3ef5d --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/sniperBase.sqf @@ -0,0 +1,112 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning blue Mission with template = default"; +_crateLoot = GMS_BoxLoot_blue; +_lootCounts = GMS_lootCountsblue; +_startMsg = "An enemy sniper base was sighted in a nearby sector! Check the blue marker on your map for the location!"; +_endMsg = "The sniper base is under survivor control!"; + +_markerMissionName = "Snipers"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_markerType = ["ELLIPSE",[150,150],"GRID"]; +_markerColor = "ColorBlue"; +_markerLabel = ""; + + +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ +]; + +_missionLandscape = [ + ["Land_W_sharpRock_apart",[-33.6221,-30.3281,-0.00143909],0,true,true], + ["Land_PaperBox_closed_F",[-2.8418,-6.85547,-0.00143909],0,true,true], + ["Land_BagBunker_Tower_F",[-11.3848,-14.0015,-0.00143909],270.925,true,true], + ["Campfire_burning_F",[-2.02588,-2.06641,-0.00143909],0,true,true], + ["Land_MedicalTent_01_MTP_closed_F",[-0.307617,-16.1699,-0.00143909],0,true,true], + ["Land_BagBunker_Tower_F",[-10.3452,10.9658,-0.00143909],89.9776,true,true], + ["Land_Scrap_MRAP_01_F",[-21.4419,9.74609,-0.00143909],268.595,true,true], + ["Land_MedicalTent_01_MTP_closed_F",[-18.3423,-0.807617,-0.00143909],268.829,true,true], + ["Land_Limestone_01_apart_F",[-21.1758,32.8794,-0.00143909],0,true,true], + ["Land_BagBunker_Tower_F",[10.4399,-13.6836,-0.00143909],269.494,true,true], + ["Land_Cliff_boulder_F",[23.2451,-22.4072,-0.00143909],0,true,true], + ["Land_MedicalTent_01_MTP_closed_F",[13.2949,-1.83154,-0.00143909],90.3645,true,true], + ["Land_BagBunker_Tower_F",[10.3564,10.1025,-0.00143909],89.7075,true,true], + ["Land_PaperBox_open_full_F",[4.02588,7.57764,-0.00143909],0,true,true], + ["Land_MedicalTent_01_MTP_closed_F",[0.0830078,15.2441,-0.00143909],0,true,true], + ["Land_Limestone_01_spike_F",[28.3145,34.4702,-0.00143909],0,true,true] +]; + +_missionLootBoxChoices = [ + ["Box_NATO_WpsSpecial_F",[-3.34033,1.96777,-0.00144005],_crateLoot,_lootCounts,360], + ["Land_CargoBox_V1_F",[-7.19092,3.10742,0.0291028],_crateLoot,_lootCounts,1.99369e-005], + ["Land_CargoBox_V1_F",[-7.13135,5.33545,0.0291038],_crateLoot,_lootCounts,359.999], + ["Box_NATO_Wps_F",[-1.1499,2.29102,-0.00144005],_crateLoot,_lootCounts,360], + ["Land_TentDome_F",[1.91309,-2.93213,-0.00143909],_crateLoot,_lootCounts,0], + ["Land_TentDome_F",[2.39795,1.80518,-0.00143909],_crateLoot,_lootCounts,0] +]; +_missionLootBoxes = []; +for "_i" from 1 to (floor(random(0)) + 1) do // should add one loot container only +{ + _missionLootBoxes pushBack (selectRandom _missionLootBoxChoices); +}; +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + //["B_LSV_01_armed_F",[-30.9727,-11.311,-0.023613],0.00171228], + [selectRandom GMS_AIPatrolVehiclesBlue,[24.6577,5.46826,-0.012536],0.000195805] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ +]; + +_missionGroups = [ + //[[-11.4458,-1.25,0],3,6,"Red",30,45], + //[[-16.7178,8.44629,0],3,6,"Red",30,45], + //[[11.1196,-8.32813,0],3,6,"Red",30,45], + //[[6.56494,-3.40234,0],3,6,"Red",30,45], + //[[2.40869,-6.76172,0],3,6,"Red",30,45] +]; + +_scubaGroupParameters = [ +]; + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_minNoAI = GMS_MinAI_Blue; // Setting this in the mission file overrides the defaults such as GMS_MinAI_Blue +_maxNoAI = GMS_MaxAI_Blue; // Setting this in the mission file overrides the defaults +_noAIGroups = GMS_AIGrps_Blue; // Setting this in the mission file overrides the defaults +_noVehiclePatrols = GMS_SpawnVeh_Blue; // Setting this in the mission file overrides the defaults +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; // Setting this in the mission file overrides the defaults + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Blue/survivalSupplies.sqf b/@GMS/addons/GMS/Missions/Blue/survivalSupplies.sqf new file mode 100644 index 0000000..a22fcfd --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/survivalSupplies.sqf @@ -0,0 +1,111 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default"; +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; +_startMsg = "An enemy cache of supplies was sighted in a nearby sector! Check the Blue marker on your map for the location!"; +_endMsg = "The supply cache is under survivor control!"; + +_markerMissionName = "Survival Supplies"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorBlue"; +_markerLabel = ""; + + +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ +]; + +_missionLandscape = [ + ["Land_Crane_F",[2.51807,-4.66016,-0.00143909],0,true,true], + ["Land_Sink_F",[-3.77686,7.6582,-0.00135088],0,true,true], + ["Land_Wreck_Truck_dropside_F",[-2.01465,-10.9937,-0.00143909],49.8078,true,true], + ["Land_Wreck_Car2_F",[4.23486,-2.31738,-0.00143909],0,true,true], + ["Campfire_burning_F",[8.26514,-6.04102,-0.00143909],0,true,true], + ["Land_Timbers_F",[26.1719,2.8457,-0.00143909],0,true,true], + ["Land_Timbers_F",[23.7666,2.78564,-0.00143909],0,true,true], + ["Land_WoodPile_F",[10.9204,-6.24805,-0.00143909],0,true,true], + ["Land_Wreck_Offroad_F",[18.9897,-2.52344,-0.00143909],129.737,true,true], + ["Land_i_Barracks_V2_F",[6.89893,14.2139,-0.00143909],0,true,true] +]; + +_missionLootBoxes = []; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +#ifdef GMS_milServer + _missionEmplacedWeapons = [ + + ["I_Mortar_01_F",[4.10889,-12.8853,0.0354419],360], + ["I_HMG_01_F",[15.5317,-3.51758,0.0759335],202.402], + ["I_HMG_01_high_F",[9.75928,6.43506,-0.0135579],178.241] + ]; +#else + _missionEmplacedWeapons = []; + private _locs = [ + [selectRandom GMS_staticWeapons,[4.10889,-12.8853,0.0354419],360], + [selectRandom GMS_staticWeapons,[15.5317,-3.51758,0.0759335],202.402], + [selectRandom GMS_staticWeapons,[9.75928,6.43506,-0.0135579],178.241] + ]; + for "_i" from 1 to GMS_SpawnEmplaced_Blue do + { + private _thisLoc = _locs deleteAt 0; + _missionEmplacedWeapons pushBack _thisLoc; + }; +#endif + +_missionGroups = [ + // [[-3.30518,3.38721,0],3,6,"blue",30,45], + // [[2.85107,0.941895,0],3,6,"blue",30,45], + // [[13.2217,6.82227,0],3,6,"blue",30,45], + // [[8.5625,-3.65332,0],3,6,"blue",30,45] +]; + +_scubaGroupParameters = [ +]; + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. + +_minNoAI = GMS_MinAI_Blue; // Setting this in the mission file overrides the defaults such as GMS_MinAI_Blue +_maxNoAI = GMS_MaxAI_Blue; // Setting this in the mission file overrides the defaults +_noAIGroups = GMS_AIGrps_Blue; // Setting this in the mission file overrides the defaults +_noVehiclePatrols = GMS_SpawnVeh_Blue; // Setting this in the mission file overrides the defaults +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; // Setting this in the mission file overrides the defaults + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Blue/template.sqf b/@GMS/addons/GMS/Missions/Blue/template.sqf new file mode 100644 index 0000000..ab117dc --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/template.sqf @@ -0,0 +1,108 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +_crateLoot = GMS_BoxLoot_Green; // Set to a loot table appropriate to mission difficulty. A custom loot table can also be used. +_lootCounts = GMS_lootCountsGreen; // Set to a loot counts list appropriate to mission difficulty or a custom array. +_startMsg = "An enemy research center was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Sector at the Green Marker is under survivor control!"; +_markerMissionName = "Development"; + + +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Paste the output of the script here +_markerType = ["mil_box",[0,0]]; // Modify as needed +_markerColor = "Default"; // Modify as needed +_markerLabel = ""; + +_garrisonedBuildings_BuildingPosnSystem = [ // Units / statics positioned using the built in Arma building position system + + ["Land_i_House_Big_02_V2_F",[-76.2197,64.5181,0],0,true,false,0.67,3,[],4], + ["Land_Unfinished_Building_01_F",[-65.1536,-71.8145,0],0,true,false,0.67,3,[],4] +]; + +_garrisonedBuilding_ATLsystem = [ // Units / statics positioned using relative position with respect to the spawn position of the building as the reference point. + ["Land_i_Shop_01_V2_F",[87.1704,-65.3169,0],0,true,false,[["B_HMG_01_high_F",[-2.15186,2.76953,0.303085],0]],[]], + ["Land_i_House_Big_01_V3_F",[101.868,63.7637,0],0,true,false,[["B_HMG_01_high_F",[-3.44702,-2.7793,0.41],0],["B_HMG_01_high_F",[2.81006,-5.2124,3.92],0]],[]] + +]; + +_missionLandscape = [ // Self explanatory; all positions are relative to mission center. + ["Sign_Sphere100cm_F",[-77.7651,66.4019,0.259255],0,true,true], + ["Sign_Sphere100cm_F",[-62.7002,-68.5952,0.185],0,true,true], + ["Land_Chapel_V2_F",[-19.5349,-23.1558,0],0,true,true], + ["Land_CarService_F",[-19.4431,7.30078,0],0,true,true], + ["Land_Church_01_V1_F",[13.1187,-24.9375,0],0,true,true], + ["Land_GH_House_2_F",[17.7576,14.8853,0],0,true,true] +]; + +_missionLootBoxes = [ // Self explanatory; all positions are relative to mission center. + // Note that you can specifiy any loot table or list of loot counts here. + ["Box_NATO_Wps_F",[-12.8772,-14.7461,0],_crateLoot,_lootCounts,0], + ["Box_FIA_Ammo_F",[-11.5447,4.01025,0],_crateLoot,_lootCounts,0], + ["IG_supplyCrate_F",[7.43652,-15.4175,0],_crateLoot,_lootCounts,0], + ["Box_FIA_Support_F",[9.36304,4.36914,0],_crateLoot,_lootCounts,0] +]; + +_missionPatrolVehicles = [ // Self explanatory; all positions are relative to mission center. + // Note that defining anything here overrides the defaults for number and type of vehicles. + // You can select a random vehicle from the defaults with selectRandom GMS_AIPatrolVehicles or the difficulty specific variants such as GMS_AIPatrolVehiclesBlue + ["B_LSV_01_armed_F",[-50.4993,-5.56201,0],0], + ["B_MRAP_01_hmg_F",[-4.58496,-51.4932,-4.76837e-007],0], + ["B_MRAP_01_hmg_F",[-1.01758,31.3022,-4.76837e-007],0], + ["B_LSV_01_armed_F",[38.8872,-7.23975,0],0] +]; + +_submarinePatrolParameters = [ // Self explanatory; all positions are relative to mission center. +]; + +_airPatrols = [ // Self explanatory; all positions are relative to mission center. + // Note that defining anything here overrides the defaults for both number of aircraft and types of aircraft. + // you can specify a randomly selected aircraft from the defaults the a mission difficulty with selectRandom GMS_patrolHelisBlue/Red/Green/Orange +]; + +_missionEmplacedWeapons = [ // Self explanatory; all positions are relative to mission center and are set and mission spawn using setPosATL + // Listing static weapons here overides the default settings for numbers of statics and weapon types. + // Note that you can select from the defaults using selectRandom GMS_staticWeapons; + ["B_T_HMG_01_F",[-24.9949,-6.60889,0],0], + ["B_T_HMG_01_F",[-2.10034,17.6167,0],0], + ["B_T_HMG_01_F",[-1.02319,-24.769,0],0], + ["B_T_HMG_01_F",[19.394,-7.26514,0],0] +]; + +_missionGroups = [ // The coordinates are the center position for each groups patrol area relative to mission center. + // parameters are [_coords,minAI,maxAI,difficulty,min range from center for patrol, max range from center for patrol] + // Listing groups here overrides the setting for minAI, maxAI and noGroups + [[-6.98657,-17.4019,0.00143862],3,6,"Red",30,45], + [[-12.3303,1.17432,0.00143909],3,6,"Red",30,45], + [[16.0247,0.0390625,0.00143909],3,6,"Red",30,45], + [[8.53687,13.0479,0.00143909],3,6,"Red",30,45], + [[79.074,6.02344,0.00143909],3,6,"Red",30,45] +]; + +_scubaGroupParameters = [ // These groups remain under water in scuba gear. Settings are otherwise as listed in _missionGroups +]; + +_crateLoot = GMS_BoxLoot_Red; // can be individualized for a particular mission by defining a loot array. +_lootCounts = GMS_lootCountsRed; // can be individualized for a particular mission by defining an array with the counts of each loot type. +_minNoAI = GMS_MinAI_Red; // can be any value 0..N +_maxNoAI = GMS_MaxAI_Red; // can be any value 1..N +_noAIGroups = GMS_AIGrps_Red; // can be any value 0..N (note that 0 here prevents any groups from being spawned) +_noVehiclePatrols = GMS_SpawnVeh_Red; // can be any value 0..N +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; // can be any value + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/GMS_missionLists.sqf b/@GMS/addons/GMS/Missions/GMS_missionLists.sqf new file mode 100644 index 0000000..1555bd8 --- /dev/null +++ b/@GMS/addons/GMS/Missions/GMS_missionLists.sqf @@ -0,0 +1,107 @@ +/* + + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +private["_pathBlue","_missionListBlue","_pathRed","_missionListRed","_pathGreen","_missionListGreen","_pathOrange","_missionListOrange"]; +private _pathScouts = "Scouts"; +private _missionListScouts = ["Scouts"]; // OK Build 224 + +private _pathHunters = "Hunters"; +private _missionListHunters = ["Hunters"]; // OK Build 224 + +private _pathBlue = "Blue"; +private _missionListBlue = [ + //"hostage1", // OK + //"captive1", // OK + "sniperBase", // Spawns OK does not clear 249 + "survivalSupplies", // Spawns OK Debug = 4 Build 246 + //"derbunker", // OK, an interesting mission, better as a red / green though + //"forgotten_HQ", // ok BUT TOO TOUGH FOR BLUE OR RED + //"garrison", // OK but do not use. + //"IDAP", // OK but too difficult for a blue mission + "Service_point", // OK build 224 + //"Toxin", // OK but too difficult for a blue mission + "default" // Spawns OK Debug = 4 Build 246 + //"ForgottenHQ" + ]; + +private _pathRed = "Red"; +private _missionListRed = [ + //"default", // OK Build 224 + //"medicalCamp", + //"hostage1", + //"captive1", + "fuelDepot", // Spawns OK Debug = 4 Build 246 + "junkyardWilly", // Spawns OK Debug = 4 Build 246 + "TraderBoss", // OK build 224 + "carThieves", // Spawns OK Debug = 4 Build 246 + "Ammunition_depot", // Spawns OK Debug = 4 Build 246 + //"Camp_Moreell", + //"charlston", + //"dashq", + //"derbunker", // OK, better suited for green or orange mission + //"factory", // Does not clear + //"forgotten_HQ", + //"garrison", + "IDAP", // Spawns OK But not sure where the crate spawns. + //"lager", + //"Operations_Command", + "Outpost", // Spawns OK Debug = 4 Build 246 + "Service_Point" //Spawns OK Debug = 4 Build 246 + //"tko_camp", + //"Toxin" // Spawns OK Debug = 4 Build 246 + ]; + +private _pathGreen = "Green"; +private _missionListGreen = [/*"default","default2",/*"medicalCamp","redCamp","resupplyCamp","banditVillage",*/ + "FieldCamp", // Spawns OK Build 246 Debug == 4 + "FieldHQ", // Spawns OK Build 246 Debug == 4 + //"weaponsResearch", // OK build 224 + //"munitionsResearch" // Spawns OK Build 246 Debug == 4 + //"colonelsBase", // OK Build 224 + "factory", // Spawns with some walls above ground level for unclear reasons. + "fortification", // Spawns OK Debug = 4 Build 246 + //"banditVillage", // OK but do not use. + "Camp_Moreell", // Spawns OK Build 246 Debug == 4 + //"charlston", // Spawns OK but crate glitched under a building + //"derbunker", // OK + //"forgotten_HQ", // OK, but can't complete + "lager" // Spawns OK but crate glitched under a building + //"Operations_Command", // OK bEST SUITED FOR GREEN/ORANGE // Nees R3F or crate spawned by parachute at mission start + //"Outpost", // OK + //"tko_camp" // OK + //"factory" + ]; + +private _pathOrange = "Orange"; +private _missionListOrange = [/*"default","default2","medicalCamp","redCamp","resupplyCamp","officeComplex",*/ + "CommandersComplex", // Spawns OK Debug = 4 Build 246 + "generalsCamp", // Spawns OK Debug = 4 Build 246 + //"colonel2", // Spawns OK Debug = 4 Build 246 + //"stronghold", // Spawns OK Debug = 4 Build 246 but too big for the Exile.Altis server as of Build 253 + "operationShutdown", // Spawns OK Debug = 4 Build 246 + "operationTakeover", // Spawns OK Debug = 4 Build 246 + "dashq", // OK Build 252 + "derbunker", // Spawns OK Build 252 + //"Ammunition_depot" // OK Build 252; need to update vics, only 12 AI for some reason + //"Camp_Moreell" // OK Build 252 with crate drop from 50 meters + //"Operations_Command" // OK Build 252 + "tko_camp" // // OK Build 252 + ///// UNUSED FOR ONE REASON OR ANOTHER + //"Outpost" // dOES NOT COMPLETE, ODD LOOT CHEST PLACEMENT + /*,"temple"*/ + ]; + +private _pathUMS = "UMS\dynamicMissions"; +private _missionListUMS = ["default"]; + +private _pathHeliCrashes = "HeliCrashes"; diff --git a/@GMS/addons/GMS/Missions/GMS_privateVars.sqf b/@GMS/addons/GMS/Missions/GMS_privateVars.sqf new file mode 100644 index 0000000..13c9e03 --- /dev/null +++ b/@GMS/addons/GMS/Missions/GMS_privateVars.sqf @@ -0,0 +1,7 @@ + +private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", + "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", + "_uniforms","_headgear","_weaponList","_sideArms","_vests","_backpacks","_chancePara","_noPara","_chanceHeliPatrol","_noChoppers","_missionHelis", + "__noChoppers","_endCondition","_chanceHeliLootDropped","_chanceLoot","_paraTriggerDistance","_paraLootCounts","_paraLoot","_markerColor","_loadCratesTiming", + "_markerType","_useMines","_assetKilledMsg","_enemyLeaderConfig","_hostageConfig","_garrisonedBuildings_BuildingPosnSystem","_garrisonedBuilding_ATLsystem", + "_submarinePatrolParameters","_scubaGroupParameters","_vehicleCrewCount"]; \ No newline at end of file diff --git a/@GMS/addons/GMS/Missions/Green/Camp_Moreell.sqf b/@GMS/addons/GMS/Missions/Green/Camp_Moreell.sqf new file mode 100644 index 0000000..4929f73 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/Camp_Moreell.sqf @@ -0,0 +1,154 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "Enemy Camp Moreell was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Camp Moreell at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[200,200],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Camp Moreell"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V3_F",[-3.45557,32.6038,-0.00143814],163.034,true,true,[["O_HMG_01_high_F",[-1.75244,0.382568,4.33092],0.00157772]],[]], + ["Land_Cargo_HQ_V3_F",[1.5835,1.53711,-0.00143814],90.021,true,true,[["O_HMG_01_high_F",[-4.53003,1.89331,3.1134],270.551],["O_Mortar_01_F",[0.884277,-5.92041,3.1624],178.341],["O_GMG_01_high_F",[-11.2842,-8.48218,-0.0118098],221.694],["O_HMG_01_high_F",[-12.6897,-6.82007,-0.0121179],236.126],["O_GMG_01_high_F",[10.885,-11.4487,-0.0118084],147.658],["O_GMG_01_high_F",[19.3098,-6.53003,-0.0118093],147.655]],[]], + ["Land_Cargo_Patrol_V3_F",[10.9478,34.4741,-0.00143814],195.395,true,true,[["O_HMG_01_high_F",[1.41943,0.690674,4.33092],359.999]],[]] +]; + + + +_missionLandscape = [ + ["Land_HBarrier_Big_F",[-14.1831,0.348877,-0.00143862],54.7855,true,true], + ["Land_HBarrier_1_F",[-7.70728,-8.24048,-0.00143862],295.873,true,true], + ["Land_BagFence_Long_F",[-11.6091,-6.83057,-0.00143862],45.3947,true,true], + ["Land_BagFence_Round_F",[-12.8318,-4.68042,-0.00143862],90.3947,true,true], + ["Land_BagFence_Round_F",[-9.44946,-8.13599,-0.00143862],0.394724,true,true], + ["Land_Cargo_House_V3_F",[-11.8579,27.8225,-0.00143862],341.505,true,true], + ["CamoNet_OPFOR_open_F",[-14.8772,18.198,-0.00143862],90.3947,true,true], + ["Land_HBarrier_Big_F",[-24.5461,25.9207,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[-7.8335,30.6655,-0.00143862],255.395,true,true], + ["Land_HBarrier_Big_F",[-24.0242,10.8638,-0.00143862],165.395,true,true], + ["Land_HBarrier_Big_F",[-18.0986,7.95679,-0.00143862],255.395,true,true], + ["Land_HBarrier_Big_F",[-19.7212,22.9065,-0.00143862],90.3947,true,true], + ["Land_HBarrier_Big_F",[-31.6633,25.0271,-0.00143862],150.395,true,true], + ["Land_HBarrier_Big_F",[-12.3518,34.6216,-0.00143862],345.395,true,true], + ["Land_HBarrier_Big_F",[-17.9399,30.3276,-0.00143862],300.395,true,true], + ["Land_HBarrier_Big_F",[-19.3733,16.4546,-0.00143862],90.3947,true,true], + ["Land_HBarrier_1_F",[-32.8965,12.5454,-0.00143862],42.5069,true,true], + ["Land_HBarrier_1_F",[-30.3511,10.0146,-0.00143862],42.5069,true,true], + ["CamoNet_OPFOR_big_F",[-27.2468,18.4834,-0.00143862],75.3947,true,true], + ["Land_BagFence_Round_F",[-33.3694,10.7087,-0.00143862],87.5069,true,true], + ["Land_BagFence_Round_F",[-31.8938,9.28491,-0.00143862],357.507,true,true], + ["Land_HBarrier_5_F",[9.15552,-4.91626,-0.00143862],269.593,true,true], + ["Land_HBarrier_5_F",[9.13477,0.585938,-0.00143862],269.593,true,true], + ["Land_Cargo_House_V3_F",[25.2329,2.59155,-0.00143862],105.395,true,true], + ["Land_HBarrier_Big_F",[-2.57373,-8.99463,-0.00143862],180.395,true,true], + ["Land_HBarrier_Big_F",[26.4961,-2.62256,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[5.79712,-8.80371,-0.00143862],180.395,true,true], + ["Land_HBarrier_1_F",[14.0208,-8.50757,-0.00143862],334.157,true,true], + ["Land_HBarrier_1_F",[22.1511,-3.42603,-0.00143862],324.626,true,true], + ["Land_HBarrier_1_F",[19.1423,-5.3833,-0.00143862],324.626,true,true], + ["Land_HBarrier_1_F",[10.7295,-9.9397,-0.00143862],334.157,true,true], + ["Land_BagFence_Round_F",[22.5408,-5.08765,-0.00143862],279.626,true,true], + ["Land_BagFence_Round_F",[20.8389,-6.23145,-0.00143862],9.62595,true,true], + ["Land_BagFence_Round_F",[14.1299,-10.2107,-0.00143862],289.157,true,true], + ["Land_BagFence_Round_F",[12.262,-11.0569,-0.00143862],19.157,true,true], + ["Land_HBarrier_5_F",[7.05835,9.52783,-0.00143862],181.048,true,true], + ["Land_HBarrier_5_F",[26.3564,29.2161,-0.00143862],195.395,true,true], + ["Land_HBarrier_5_F",[9.08203,5.92139,-0.00143862],269.593,true,true], + ["Land_HBarrier_Big_F",[18.55,34.8018,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[1.32568,35.1333,-0.00143862],255.395,true,true], + ["Land_HBarrier_Big_F",[7.22388,36.5254,-0.00143862],285.395,true,true], + ["Land_HBarrier_Big_F",[-4.35571,36.8228,-0.00143862],345.395,true,true], + ["Land_HBarrier_Big_F",[7.04761,30.9424,-0.00143862],195.395,true,true], + ["Land_BagFence_Long_F",[24.1768,15.7207,-0.00143862],105.395,true,true], + ["Land_BagFence_Long_F",[22.7461,10.5283,-0.00143862],285.395,true,true], + ["Land_HBarrier_3_F",[25.4558,17.1135,-0.00143862],195.395,true,true], + ["Land_HBarrier_3_F",[22.7898,29.1609,-0.00143862],285.395,true,true], + ["Land_HBarrier_3_F",[23.3201,8.88696,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[12.9075,38.3318,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[30.9158,1.41919,-0.00143862],105.395,true,true], + ["Land_HBarrier_5_F",[29.5054,24.8923,-0.00143862],269.593,true,true], + ["Land_HBarrier_5_F",[29.5303,19.5947,-0.00143862],269.593,true,true], + ["CamoNet_OPFOR_open_F",[28.1597,12.0786,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[31.4031,16.592,-0.00143862],0.394724,true,true], + ["Land_HBarrier_Big_F",[28.876,7.35913,-0.00143862],195.395,true,true], + ["Land_HBarrier_1_F",[33.3733,10.5449,-0.00143862],15.3947,true,true], + ["Land_HBarrier_1_F",[27.9988,12.1958,-0.00143862],195.395,true,true], + ["Land_BagFence_Long_F",[32.6428,9.11694,-0.00143862],285.395,true,true], + ["Land_BagFence_Long_F",[28.4683,13.8879,-0.00143862],105.395,true,true], + ["Land_HBarrier_3_F",[29.9619,29.1274,-0.00143862],105.395,true,true], + ["Land_HBarrier_3_F",[34.8462,14.4836,-0.00143862],90.3947,true,true], + ["Land_BagBunker_Large_F",[27.696,35.6018,-0.00143862],195.395,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + // ["O_LSV_02_armed_F",[34.9805,-28.0225,-0.0376697],359.999] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + +]; + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +//_chancePara = 0.75; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Green"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. + +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/FieldCamp.sqf b/@GMS/addons/GMS/Missions/Green/FieldCamp.sqf new file mode 100644 index 0000000..bf132ed --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/FieldCamp.sqf @@ -0,0 +1,69 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = medicalCamp"; + +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "A Bandit Forward Command Post has been spotted. Check the Green marker on your map for its location"; +_endMsg = "The Bandit Command Post camp at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Command Post"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AAF_F",[4,-4,0],0,[false,false]], + ["Land_dp_transformer_F",[1.698242,-10.4668,-0.00763702],271.32,[true,true]], + ["Land_Wreck_BRDM2_F",[1.37012,13.498,0.00109863],184.487,[true,true]], + ["Land_BagBunker_Small_F",[18.4512,-3.66406,0.00780487],305.003,[true,true]], + ["Land_Cargo_HQ_V1_F",[-20.1367,11.7539,0],90.8565,[true,false]], + ["Land_BagBunker_Small_F",[-22.707,-3.75586,-0.0130234],44.9901,[true,true]], + ["Land_Cargo_House_V1_F",[24.3584,7.45313,0.00111389],91.6329,[true,true]], + ["StorageBladder_01_fuel_forest_F",[1.29492,29.3184,0.000999451],179.65,[false,false]], + ["Land_GarbageBags_F",[-9.45996,31.252,0.02005],184.595,[false,false]], + ["Land_GarbageBags_F",[-13.0459,32.668,-0.0283051],184.595,[false,false]], + ["Land_GarbageBags_F",[-11.5957,33.125,-0.598007],184.595,[false,false]], + ["Land_GarbageBags_F",[-8.98145,34.5801,-0.00514221],184.592,[false,false]], + ["Land_Addon_02_V1_ruins_F",[24.8369,24.6582,-0.00820923],90.9637,[false,false]], + ["Land_GarbageBags_F",[-10.9443,35.0449,0.577057],184.592,[false,false]], + ["Land_Cargo20_military_green_F",[14.6533,32.9004,0.000480652],90.0989,[false,false]], + ["Land_BagBunker_Small_F",[-23.0186,28.6738,-0.0271301],120.012,[false,false]], + ["Land_BagBunker_Small_F",[37.1504,34.5742,0.0146866],255,[false,false]] + ]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines;_minNoAI = GMS_MinAI_Green; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +//_chancePara = GMS_chanceParaGreen; +//_chanceLoot = 1; //0.6; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; + diff --git a/@GMS/addons/GMS/Missions/Green/FieldHQ.sqf b/@GMS/addons/GMS/Missions/Green/FieldHQ.sqf new file mode 100644 index 0000000..edd0596 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/FieldHQ.sqf @@ -0,0 +1,74 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An enemy Forward Headquarters l was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Sector at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Headquarters"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Land_Medevac_HQ_V1_F",[-28.7168,-6.5918,2.38419e-007],0,[true,true]], + ["Land_Medevac_HQ_V1_F",[0.283203,19.4082,2.38419e-007],0,[true,true]], + ["Flag_AAF_F",[4,4,0],0,[false,false]], + ["Land_Cargo10_yellow_F",[3.2832,-16.5918,0],0,[false,false]], + ["Land_Cliff_stoneCluster_F",[-28.7168,6.4082,0],0,[false,false]], + ["Land_SharpStones_erosion",[-19.7168,-19.5918,0],0,[false,false]], + ["Land_W_sharpStones_erosion",[-13.7168,6.4082,0],0,[false,false]], + ["Land_BluntStones_erosion",[-5.7168,-12.5918,0],0,[false,false]], + ["Land_SharpRock_apart",[16.2832,24.4082,0],0,[false,false]], + ["Land_W_sharpRock_apart",[-21.7168,29.4082,0],0,[false,false]], + ["Land_BluntRock_apart",[-11.7168,-26.5918,-2.38419e-007],0,[false,false]], + ["Land_SharpRock_apart",[48.2832,-10.5918,0],0,[false,false]], + ["Land_SharpRock_apart",[-43.7168,6.4082,0],0,[false,false]], + ["Land_W_sharpRock_apart",[-38.7168,-20.5918,0],0,[false,false]], + ["Land_BluntRock_apart",[52.2832,16.4082,-2.38419e-007],0,[false,false]], + ["Land_SharpRock_apart",[27.2832,-34.5918,0],0,[false,false]], + ["Land_W_sharpRock_apart",[-45.7168,28.4082,0],0,[false,false]], + ["Land_StoneSharp_small",[-1.7168,44.4082,0],0,[false,false]], + ["Land_FieldToilet_F",[-13.7168,21.4082,0],0,[false,false]], + ["Land_Pallets_F",[10.2832,-4.5918,0],0,[false,false]], + ["Land_Pallets_F",[19.2832,6.4082,0],0,[false,false]], + ["Land_Pallets_stack_F",[10.2832,-13.5918,0],0,[false,false]], + ["Land_Cargo_House_V3_F",[24.2832,-1.5918,0],0,[true,true]], + ["Land_Cargo_House_V3_F",[24.2832,-17.5918,0],0,[true,true]], + ["Land_StoneSharp_small",[10.2988,-30.9434,0],0,[false,false]], + ["Land_Medevac_HQ_V1_F",[37.2832,6.4082,2.38419e-007],0,[true,true]] +]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +//_chanceLoot = 1; //0.6; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/Operations.sqf b/@GMS/addons/GMS/Missions/Green/Operations.sqf new file mode 100644 index 0000000..396fe34 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/Operations.sqf @@ -0,0 +1,181 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An Operations Command was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Operations Command at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Operations Command"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V3_F",[-26.1375,13.395,-0.00143862],104.247,true,true,[["O_HMG_01_high_F",[-1.16919,-1.02051,4.33092],359.999]],[]], + ["Land_Cargo_Tower_V3_F",[0.0512695,-43.2329,-0.00143909],1.37485,true,true,[["O_HMG_01_high_F",[-11.6333,3.14819,-0.0121188],360],["O_Mortar_01_F",[-3.08325,4.21802,17.9254],0.000187431],["O_GMG_01_high_F",[-3.21069,-3.16113,17.8767],360],["O_GMG_01_high_F",[4.70557,-0.741943,17.8767],360]],[]], + ["Land_Cargo_Patrol_V3_F",[-22.3018,-36.6943,-0.00143862],16.3749,true,true,[["O_HMG_01_high_F",[-1.44019,-0.544922,4.33092],0.000570454],["O_HMG_01_high_F",[-6.95337,5.57886,-0.0121193],359.998]],[]], + ["Land_Cargo_HQ_V3_F",[0.157227,3.02832,-0.00143862],91.3748,true,true,[["O_Mortar_01_F",[1.9917,1.24707,3.16241],359.999],["O_HMG_01_high_F",[-4.22266,1.80176,3.1134],359.999],["O_HMG_01_high_F",[3.10205,-5.8584,3.1134],359.999],["O_HMG_01_high_F",[-6.48584,7.63452,-0.0121193],359.998],["O_HMG_01_high_F",[9.13306,15.3284,-0.0121193],359.998]],[]], + ["Land_Cargo_Tower_V3_F",[-16.1003,25.6072,-0.00143909],181.375,true,true,[["O_HMG_01_high_F",[3.25903,3.35229,17.8764],359.997],["O_GMG_01_high_F",[-4.9707,0.915771,17.8767],359.995]],[]], + ["Land_Cargo_Patrol_V3_F",[21.9438,-2.25854,-0.00143862],269.918,true,true,[["O_GMG_01_high_F",[1.11499,0.921387,4.33123],360]],[]], + ["Land_Cargo_House_V3_F",[7.7749,-26.0698,-0.00143909],1.37485,true,true,[["O_HMG_01_high_F",[2.2688,8.65552,-0.0121188],360]],[]] +]; + + + +_missionLandscape = [ + ["CamoNet_OPFOR_open_F",[-31.8352,-29.0081,-0.00143909],235.13,true,true], + ["CamoNet_OPFOR_open_F",[-43.8352,-16.6941,-0.00143909],181.375,true,true], + ["Land_HBarrier_Big_F",[-37.4087,-8.59814,-0.00143909],286.375,true,true], + ["Land_HBarrier_Big_F",[-29.3643,-37.0271,-0.00143909],37.1575,true,true], + ["Land_HBarrier_Big_F",[-35.4788,-31.5889,-0.00143909],50.6964,true,true], + ["Land_HBarrier_Big_F",[-38.9624,-25.2727,-0.00143909],255.154,true,true], + ["Land_BagBunker_Large_F",[-43.364,-16.4709,-0.00143909],91.3748,true,true], + ["Land_HBarrier_Big_F",[-34.405,-1.28906,-0.00143909],301.375,true,true], + ["Land_HBarrier_Big_F",[-29.0862,14.3416,-0.00143909],286.375,true,true], + ["Land_HBarrier_Big_F",[-31.1816,6.38184,-0.00143909],286.375,true,true], + ["Land_LampHalogen_F",[-29.8584,2.74854,-0.00143862],256.375,true,true], + ["Land_HBarrierWall_corridor_F",[-16.1533,-40.845,-0.00143909],106.375,true,true], + ["Land_HBarrier_Big_F",[-10.9395,-43.5535,-0.00143909],13.6286,true,true], + ["Land_HBarrier_Big_F",[-3.8855,-44.2878,-0.00143909],0.866833,true,true], + ["Land_HBarrier_Big_F",[-22.3318,-40.6543,-0.00143909],200.888,true,true], + ["Land_HBarrier_Big_F",[4.41016,-44.2852,-0.00143909],0.866833,true,true], + ["Land_HBarrier_5_F",[2.9043,-17.4326,-0.00143909],271.375,true,true], + ["Land_HBarrier_5_F",[-5.53174,-9.47681,-0.00143909],181.375,true,true], + ["Land_Cargo_House_V3_F",[-1.97241,-25.8367,-0.00143909],1.37485,true,true], + ["Land_HBarrier_Big_F",[-9.21558,-15.051,-0.00143909],271.375,true,true], + ["Land_HBarrier_Big_F",[-5.97168,-20.2385,-0.00143909],181.375,true,true], + ["Land_HBarrier_Big_F",[2.51318,-20.2158,-0.00143909],181.375,true,true], + ["Land_HBarrier_3_F",[2.83398,-22.9663,-0.00143909],91.3748,true,true], + ["Land_HBarrier_3_F",[2.75586,-26.2246,-0.00143909],91.3748,true,true], + ["Land_HBarrier_3_F",[2.94287,-10.5574,-0.00143909],271.375,true,true], + ["Land_HBarrier_3_F",[0.964355,-9.63477,-0.00143909],1.37485,true,true], + ["Land_HBarrier_3_F",[-6.09448,-25.2507,-0.00143909],271.375,true,true], + ["Land_HBarrier_3_F",[1.72021,-27.6951,-0.00143909],1.37485,true,true], + ["Land_HBarrier_3_F",[-6.02515,-22.2542,-0.00143909],271.375,true,true], + ["Land_HBarrier_3_F",[4.84912,-27.7708,-0.00143909],1.37485,true,true], + ["Land_HBarrier_3_F",[-5.15039,-27.5239,-0.00143909],1.37485,true,true], + ["Land_HelipadCircle_F",[-22.2104,-10.7046,-0.00143909],90.8075,true,true], + ["Land_TTowerBig_2_F",[-3.03882,-15.5251,-0.00143909],1.37485,true,true], + ["Land_HBarrier_5_F",[-24.4253,17.3018,-0.00143909],194.949,true,true], + ["Land_HBarrier_5_F",[-12.988,7.96045,-0.00143909],181.375,true,true], + ["Land_HBarrier_5_F",[-26.457,9.23633,-0.00143909],16.5662,true,true], + ["Land_Cargo_House_V3_F",[-15.2529,3.47607,-0.00143909],91.3748,true,true], + ["Land_HBarrier_Big_F",[-5.96069,14.4766,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[2.22437,14.509,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[-9.21826,9.43896,-0.00143909],271.375,true,true], + ["Land_HBarrier_Big_F",[-9.23389,1.12988,-0.00143909],271.375,true,true], + ["Land_HBarrier_Big_F",[-9.2439,-6.94019,-0.00143909],271.375,true,true], + ["Land_HBarrier_Big_F",[-26.9719,22.2693,-0.00143909],286.375,true,true], + ["Land_HBarrier_3_F",[-10.071,23.9849,-0.00143909],91.3748,true,true], + ["Land_HBarrier_Big_F",[-14.6584,26.7698,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[-22.5229,26.7314,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[-6.28784,26.8616,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[1.70752,25.8137,-0.00143909],16.375,true,true], + ["CamoNet_OPFOR_open_F",[13.4675,-46.5574,-0.00143909],256.375,true,true], + ["Land_BagBunker_Large_F",[13.6731,-46.6125,-0.00143909],346.375,true,true], + ["Land_HBarrier_Big_F",[25.0122,-8.42798,-0.00143909],89.245,true,true], + ["Land_HBarrier_Big_F",[20.2207,-26.6072,-0.00143909],346.375,true,true], + ["Land_HBarrier_Big_F",[10.3425,-20.1804,-0.00143909],181.375,true,true], + ["Land_HBarrier_Big_F",[13.3196,-15.1829,-0.00143909],91.375,true,true], + ["Land_HBarrier_Big_F",[25.2847,-22.1433,-0.00143909],89.8961,true,true], + ["Land_HBarrier_Big_F",[15.2939,-23.981,-0.00143909],61.375,true,true], + ["Land_HBarrier_Big_F",[17.6921,-30.4187,-0.00143909],261.124,true,true], + ["Land_HBarrier_Big_F",[18.2314,-37.9956,-0.00143909],275.055,true,true], + ["Land_HBarrier_1_F",[26.3027,-13.0132,-0.00143909],224.245,true,true], + ["Land_HBarrier_1_F",[26.3459,-17.553,-0.00143909],134.896,true,true], + ["Land_HBarrier_3_F",[24.4424,-13.2629,-0.00143909],179.245,true,true], + ["Land_HBarrier_3_F",[23.5449,-11.0381,-0.00143909],89.245,true,true], + ["Land_HBarrier_3_F",[23.5166,-19.6731,-0.00143909],269.896,true,true], + ["Land_HBarrier_3_F",[24.4841,-17.4751,-0.00143909],359.896,true,true], + ["Land_HBarrier_3_F",[26.4421,-11.2278,-0.00143909],89.245,true,true], + ["Land_HBarrier_3_F",[26.521,-19.3137,-0.00143909],269.896,true,true], + ["Land_Tank_rust_F",[17.9231,-22.1641,-0.00143909],238.726,true,true], + ["Land_LampHalogen_F",[25.1262,-18.7678,-0.00143862],151.326,true,true], + ["Land_LampHalogen_F",[25.188,-11.5505,-0.00143862],241.375,true,true], + ["Land_HBarrierWall_corridor_F",[8.88965,13.3088,-0.00143909],76.3748,true,true], + ["Land_HBarrierWall_corridor_F",[11.9426,4.98389,-0.00143909],1.37485,true,true], + ["Land_HBarrierWall_corridor_F",[14.0635,10.1843,-0.00143909],331.375,true,true], + ["CamoNet_OPFOR_open_F",[16.8806,13.8459,-0.00143909],46.3748,true,true], + ["Land_HBarrierWall4_F",[12.9727,17.2073,-0.00143909],301.375,true,true], + ["Land_HBarrierWall4_F",[13.927,14.678,-0.00143909],241.375,true,true], + ["Land_HBarrier_Big_F",[24.7051,-0.242188,-0.00143909],89.245,true,true], + ["Land_HBarrier_Big_F",[8.90503,22.6189,-0.00143909],33.6192,true,true], + ["Land_HBarrier_Big_F",[13.2727,-6.86401,-0.00143909],91.375,true,true], + ["Land_HBarrier_Big_F",[24.3503,8.13452,-0.00143909],89.245,true,true], + ["Land_HBarrier_Big_F",[13.3027,-0.90332,-0.00143909],91.375,true,true], + ["Land_BagBunker_Small_F",[20.2654,17.5417,-0.00143909],226.375,true,true], + ["Land_LampHalogen_F",[10.6421,2.27686,-0.00143862],241.375,true,true], + ["Land_LampHalogen_F",[11.4541,10.5645,-0.00143862],136.375,true,true], + ["Land_HBarrierWall_corner_F",[21.3845,12.748,-0.00143909],46.3748,true,true], + ["Land_HBarrierWall_corner_F",[15.5208,19.1467,-0.00143909],346.375,true,true], + ["Land_HBarrierWall_corner_F",[18.5425,9.32104,-0.00143909],136.375,true,true] +]; + +_missionLootBoxes = []; + +_missionLootVehicles = []; + +_missionPatrolVehicles = [ + // I leave this blank unless you want something very specific + // Sometiems you need the spawn points further away from mission center than what is used normally. + // Then, it is good to place vehicles in the editor and use those spawn points. + //["O_LSV_02_unarmed_F",[-53.4402,-44.895,-0.037971],359.999], + //["O_LSV_02_armed_F",[7.56689,40.9209,-0.0379591],359.999], + //["O_LSV_02_armed_F",[38.9788,-44.417,-0.0373936],359.999] +]; + +_submarinePatrolParameters = []; + +_airPatrols = []; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +//_spawnCratesTiming = "atMissionEndAir"; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir". + +//_chancePara = GMS_chanceParaGreen; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Green"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/Operations_Command.sqf b/@GMS/addons/GMS/Missions/Green/Operations_Command.sqf new file mode 100644 index 0000000..c81df34 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/Operations_Command.sqf @@ -0,0 +1,180 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An Operations Command was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Operations Command at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Operations Command"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V3_F",[-26.1375,13.395,-0.00143862],104.247,true,true,[["O_HMG_01_high_F",[-1.16919,-1.02051,4.33092],359.999]],[]], + ["Land_Cargo_Tower_V3_F",[0.0512695,-43.2329,-0.00143909],1.37485,true,true,[["O_HMG_01_high_F",[-11.6333,3.14819,-0.0121188],360],["O_Mortar_01_F",[-3.08325,4.21802,17.9254],0.000187431],["O_GMG_01_high_F",[-3.21069,-3.16113,17.8767],360],["O_GMG_01_high_F",[4.70557,-0.741943,17.8767],360]],[]], + ["Land_Cargo_Patrol_V3_F",[-22.3018,-36.6943,-0.00143862],16.3749,true,true,[["O_HMG_01_high_F",[-1.44019,-0.544922,4.33092],0.000570454],["O_HMG_01_high_F",[-6.95337,5.57886,-0.0121193],359.998]],[]], + ["Land_Cargo_HQ_V3_F",[0.157227,3.02832,-0.00143862],91.3748,true,true,[["O_Mortar_01_F",[1.9917,1.24707,3.16241],359.999],["O_HMG_01_high_F",[-4.22266,1.80176,3.1134],359.999],["O_HMG_01_high_F",[3.10205,-5.8584,3.1134],359.999],["O_HMG_01_high_F",[-6.48584,7.63452,-0.0121193],359.998],["O_HMG_01_high_F",[9.13306,15.3284,-0.0121193],359.998]],[]], + ["Land_Cargo_Tower_V3_F",[-16.1003,25.6072,-0.00143909],181.375,true,true,[["O_HMG_01_high_F",[3.25903,3.35229,17.8764],359.997],["O_GMG_01_high_F",[-4.9707,0.915771,17.8767],359.995]],[]], + ["Land_Cargo_Patrol_V3_F",[21.9438,-2.25854,-0.00143862],269.918,true,true,[["O_GMG_01_high_F",[1.11499,0.921387,4.33123],360]],[]], + ["Land_Cargo_House_V3_F",[7.7749,-26.0698,-0.00143909],1.37485,true,true,[["O_HMG_01_high_F",[2.2688,8.65552,-0.0121188],360]],[]] +]; + + + +_missionLandscape = [ + ["CamoNet_OPFOR_open_F",[-31.8352,-29.0081,-0.00143909],235.13,true,true], + ["CamoNet_OPFOR_open_F",[-43.8352,-16.6941,-0.00143909],181.375,true,true], + ["Land_HBarrier_Big_F",[-37.4087,-8.59814,-0.00143909],286.375,true,true], + ["Land_HBarrier_Big_F",[-29.3643,-37.0271,-0.00143909],37.1575,true,true], + ["Land_HBarrier_Big_F",[-35.4788,-31.5889,-0.00143909],50.6964,true,true], + ["Land_HBarrier_Big_F",[-38.9624,-25.2727,-0.00143909],255.154,true,true], + ["Land_BagBunker_Large_F",[-43.364,-16.4709,-0.00143909],91.3748,true,true], + ["Land_HBarrier_Big_F",[-34.405,-1.28906,-0.00143909],301.375,true,true], + ["Land_HBarrier_Big_F",[-29.0862,14.3416,-0.00143909],286.375,true,true], + ["Land_HBarrier_Big_F",[-31.1816,6.38184,-0.00143909],286.375,true,true], + ["Land_LampHalogen_F",[-29.8584,2.74854,-0.00143862],256.375,true,true], + ["Land_HBarrierWall_corridor_F",[-16.1533,-40.845,-0.00143909],106.375,true,true], + ["Land_HBarrier_Big_F",[-10.9395,-43.5535,-0.00143909],13.6286,true,true], + ["Land_HBarrier_Big_F",[-3.8855,-44.2878,-0.00143909],0.866833,true,true], + ["Land_HBarrier_Big_F",[-22.3318,-40.6543,-0.00143909],200.888,true,true], + ["Land_HBarrier_Big_F",[4.41016,-44.2852,-0.00143909],0.866833,true,true], + ["Land_HBarrier_5_F",[2.9043,-17.4326,-0.00143909],271.375,true,true], + ["Land_HBarrier_5_F",[-5.53174,-9.47681,-0.00143909],181.375,true,true], + ["Land_Cargo_House_V3_F",[-1.97241,-25.8367,-0.00143909],1.37485,true,true], + ["Land_HBarrier_Big_F",[-9.21558,-15.051,-0.00143909],271.375,true,true], + ["Land_HBarrier_Big_F",[-5.97168,-20.2385,-0.00143909],181.375,true,true], + ["Land_HBarrier_Big_F",[2.51318,-20.2158,-0.00143909],181.375,true,true], + ["Land_HBarrier_3_F",[2.83398,-22.9663,-0.00143909],91.3748,true,true], + ["Land_HBarrier_3_F",[2.75586,-26.2246,-0.00143909],91.3748,true,true], + ["Land_HBarrier_3_F",[2.94287,-10.5574,-0.00143909],271.375,true,true], + ["Land_HBarrier_3_F",[0.964355,-9.63477,-0.00143909],1.37485,true,true], + ["Land_HBarrier_3_F",[-6.09448,-25.2507,-0.00143909],271.375,true,true], + ["Land_HBarrier_3_F",[1.72021,-27.6951,-0.00143909],1.37485,true,true], + ["Land_HBarrier_3_F",[-6.02515,-22.2542,-0.00143909],271.375,true,true], + ["Land_HBarrier_3_F",[4.84912,-27.7708,-0.00143909],1.37485,true,true], + ["Land_HBarrier_3_F",[-5.15039,-27.5239,-0.00143909],1.37485,true,true], + ["Land_HelipadCircle_F",[-22.2104,-10.7046,-0.00143909],90.8075,true,true], + ["Land_TTowerBig_2_F",[-3.03882,-15.5251,-0.00143909],1.37485,true,true], + ["Land_HBarrier_5_F",[-24.4253,17.3018,-0.00143909],194.949,true,true], + ["Land_HBarrier_5_F",[-12.988,7.96045,-0.00143909],181.375,true,true], + ["Land_HBarrier_5_F",[-26.457,9.23633,-0.00143909],16.5662,true,true], + ["Land_Cargo_House_V3_F",[-15.2529,3.47607,-0.00143909],91.3748,true,true], + ["Land_HBarrier_Big_F",[-5.96069,14.4766,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[2.22437,14.509,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[-9.21826,9.43896,-0.00143909],271.375,true,true], + ["Land_HBarrier_Big_F",[-9.23389,1.12988,-0.00143909],271.375,true,true], + ["Land_HBarrier_Big_F",[-9.2439,-6.94019,-0.00143909],271.375,true,true], + ["Land_HBarrier_Big_F",[-26.9719,22.2693,-0.00143909],286.375,true,true], + ["Land_HBarrier_3_F",[-10.071,23.9849,-0.00143909],91.3748,true,true], + ["Land_HBarrier_Big_F",[-14.6584,26.7698,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[-22.5229,26.7314,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[-6.28784,26.8616,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[1.70752,25.8137,-0.00143909],16.375,true,true], + ["CamoNet_OPFOR_open_F",[13.4675,-46.5574,-0.00143909],256.375,true,true], + ["Land_BagBunker_Large_F",[13.6731,-46.6125,-0.00143909],346.375,true,true], + ["Land_HBarrier_Big_F",[25.0122,-8.42798,-0.00143909],89.245,true,true], + ["Land_HBarrier_Big_F",[20.2207,-26.6072,-0.00143909],346.375,true,true], + ["Land_HBarrier_Big_F",[10.3425,-20.1804,-0.00143909],181.375,true,true], + ["Land_HBarrier_Big_F",[13.3196,-15.1829,-0.00143909],91.375,true,true], + ["Land_HBarrier_Big_F",[25.2847,-22.1433,-0.00143909],89.8961,true,true], + ["Land_HBarrier_Big_F",[15.2939,-23.981,-0.00143909],61.375,true,true], + ["Land_HBarrier_Big_F",[17.6921,-30.4187,-0.00143909],261.124,true,true], + ["Land_HBarrier_Big_F",[18.2314,-37.9956,-0.00143909],275.055,true,true], + ["Land_HBarrier_1_F",[26.3027,-13.0132,-0.00143909],224.245,true,true], + ["Land_HBarrier_1_F",[26.3459,-17.553,-0.00143909],134.896,true,true], + ["Land_HBarrier_3_F",[24.4424,-13.2629,-0.00143909],179.245,true,true], + ["Land_HBarrier_3_F",[23.5449,-11.0381,-0.00143909],89.245,true,true], + ["Land_HBarrier_3_F",[23.5166,-19.6731,-0.00143909],269.896,true,true], + ["Land_HBarrier_3_F",[24.4841,-17.4751,-0.00143909],359.896,true,true], + ["Land_HBarrier_3_F",[26.4421,-11.2278,-0.00143909],89.245,true,true], + ["Land_HBarrier_3_F",[26.521,-19.3137,-0.00143909],269.896,true,true], + ["Land_Tank_rust_F",[17.9231,-22.1641,-0.00143909],238.726,true,true], + ["Land_LampHalogen_F",[25.1262,-18.7678,-0.00143862],151.326,true,true], + ["Land_LampHalogen_F",[25.188,-11.5505,-0.00143862],241.375,true,true], + ["Land_HBarrierWall_corridor_F",[8.88965,13.3088,-0.00143909],76.3748,true,true], + ["Land_HBarrierWall_corridor_F",[11.9426,4.98389,-0.00143909],1.37485,true,true], + ["Land_HBarrierWall_corridor_F",[14.0635,10.1843,-0.00143909],331.375,true,true], + ["CamoNet_OPFOR_open_F",[16.8806,13.8459,-0.00143909],46.3748,true,true], + ["Land_HBarrierWall4_F",[12.9727,17.2073,-0.00143909],301.375,true,true], + ["Land_HBarrierWall4_F",[13.927,14.678,-0.00143909],241.375,true,true], + ["Land_HBarrier_Big_F",[24.7051,-0.242188,-0.00143909],89.245,true,true], + ["Land_HBarrier_Big_F",[8.90503,22.6189,-0.00143909],33.6192,true,true], + ["Land_HBarrier_Big_F",[13.2727,-6.86401,-0.00143909],91.375,true,true], + ["Land_HBarrier_Big_F",[24.3503,8.13452,-0.00143909],89.245,true,true], + ["Land_HBarrier_Big_F",[13.3027,-0.90332,-0.00143909],91.375,true,true], + ["Land_BagBunker_Small_F",[20.2654,17.5417,-0.00143909],226.375,true,true], + ["Land_LampHalogen_F",[10.6421,2.27686,-0.00143862],241.375,true,true], + ["Land_LampHalogen_F",[11.4541,10.5645,-0.00143862],136.375,true,true], + ["Land_HBarrierWall_corner_F",[21.3845,12.748,-0.00143909],46.3748,true,true], + ["Land_HBarrierWall_corner_F",[15.5208,19.1467,-0.00143909],346.375,true,true], + ["Land_HBarrierWall_corner_F",[18.5425,9.32104,-0.00143909],136.375,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + // ["O_LSV_02_unarmed_F",[-53.4402,-44.895,-0.037971],359.999], + // ["O_LSV_02_armed_F",[7.56689,40.9209,-0.0379591],359.999], + // ["O_LSV_02_armed_F",[38.9788,-44.417,-0.0373936],359.999] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; + +//_chancePara = GMS_chanceParaGreen; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. +_spawnCratesTiming = "atMissionSpawnAir"; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/Outpost.sqf b/@GMS/addons/GMS/Missions/Green/Outpost.sqf new file mode 100644 index 0000000..ff46467 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/Outpost.sqf @@ -0,0 +1,151 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An Anemy Outpost was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Outpost at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[275,275],"Grid"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Outpost"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V3_F",[-25.0786,-7.48535,-0.00143814],91.041,true,true,[["B_HMG_01_high_F",[-1.1084,-1.16431,4.33092],0.000110027]],[]], + ["Land_Cargo_Patrol_V3_F",[-12.2451,10.7849,-0.00143814],181.041,true,true,[["B_HMG_01_high_F",[-1.25928,1.22339,4.33092],0.00719478],["B_HMG_01_high_F",[3.44727,7.05835,-0.0121179],0.0015095],["B_HMG_01_high_F",[12.4185,7.21094,-0.0121183],0.00126386]],[]], + ["Land_Cargo_Patrol_V3_F",[24.0273,-12.3459,-0.00143814],269.838,true,true,[["B_HMG_01_high_F",[1.03076,-1.20874,4.33092],359.999],["B_HMG_01_high_F",[-11.6992,1.96533,-0.0121193],0.00189448]],[]], + ["Land_Cargo_HQ_V3_F",[6.30029,-0.909424,-0.00143814],270.038,true,true,[["B_HMG_01_high_F",[4.31299,-1.39307,3.70484],47.4694],["B_HMG_01_high_F",[-9.66064,-15.759,-0.0121193],0.00274103]],[]] +]; + + + +_missionLandscape = [ + //["Sign_Arrow_F",[-5049.41,-2726.72,-0.00143862],0,true,true], + //["Sign_Arrow_Green_F",[-5049.41,-2726.72,-0.00143862],0,true,true], + //["Sign_Arrow_Yellow_F",[-5049.41,-2726.72,-0.00143862],0,true,true], + //["babe_helper",[-5051.91,-2726.22,-0.00143862],78.6345,true,true], + ["Land_HBarrier_Big_F",[-28.8394,-8.42627,-0.00143862],91.041,true,true], + ["Land_CncShelter_F",[-10.0513,-26.2283,-0.00143862],0.0913576,true,true], + ["Land_HBarrierWall6_F",[0.581543,-12.7048,-0.00143862],91.041,true,true], + ["Land_HBarrierWall6_F",[-19.6943,-14.0881,-0.00143862],271.041,true,true], + ["Land_HBarrierWall6_F",[-5.04932,-19.8594,-0.00143862],181.041,true,true], + ["Land_HBarrier_Big_F",[-25.6514,-11.7356,-0.00143862],181.041,true,true], + ["Land_BagFence_Round_F",[-3.4668,-15.3809,-0.00143862],166.041,true,true], + ["Land_BagFence_Round_F",[-14.3892,-29.0183,-0.00143862],31.041,true,true], + ["Land_BagFence_Round_F",[-7.70801,-28.5588,-0.00143862],46.041,true,true], + ["Land_BagFence_Round_F",[-14.9326,-26.8369,-0.00143862],121.041,true,true], + ["Land_BagFence_Round_F",[-12.2075,-28.4763,-0.00143862],301.041,true,true], + ["Land_BagFence_Round_F",[-4.56348,-17.2019,-0.00143862],76.041,true,true], + ["Land_BagFence_Round_F",[-5.41797,-26.3496,-0.00143862],226.041,true,true], + ["Land_BagFence_Round_F",[-5.45801,-28.5986,-0.00143862],316.041,true,true], + ["Land_HBarrierWall_corridor_F",[-10.1372,-24.7649,-0.00143862],271.041,true,true], + ["Land_HBarrierWall4_F",[-13.7993,-19.9495,-0.00143862],181.041,true,true], + ["Land_HBarrierWall_corner_F",[-19.2007,-20,-0.00143862],181.041,true,true], + ["Land_HBarrierWall_corner_F",[0.711426,-19.4619,-0.00143862],91.041,true,true], + ["Land_LampShabby_F",[-19.8394,5.67236,-0.00143862],136.041,true,true], + ["Land_CncShelter_F",[-5.49072,10.4077,-0.00143862],181.041,true,true], + ["Land_HBarrierWall6_F",[-19.7158,-1.58594,-0.00143862],271.041,true,true], + ["Land_HBarrier_Big_F",[-25.4941,-3.23608,-0.00143862],1.04101,true,true], + ["Land_HBarrier_Big_F",[-12.9121,14.7922,-0.00143862],181.041,true,true], + ["Land_HBarrier_Big_F",[-16.2207,11.6028,-0.00143862],271.041,true,true], + ["Land_HBarrier_Big_F",[-7.72217,11.448,-0.00143862],91.041,true,true], + ["Land_HelipadSquare_F",[-9.93359,-5.85596,-0.00143862],0.362537,true,true], + ["Land_BagFence_Round_F",[-9.72363,18.6138,-0.00143862],136.041,true,true], + ["Land_BagFence_Round_F",[0.90918,18.9221,-0.00143862],226.041,true,true], + ["Land_BagFence_Round_F",[-7.59863,18.5762,-0.00143862],226.041,true,true], + ["Land_BagFence_Round_F",[-1.21631,18.9595,-0.00143862],136.041,true,true], + ["Land_BagFence_Long_F",[-7.02197,15.9382,-0.00143862],91.041,true,true], + ["Land_BagFence_Long_F",[1.48633,16.2864,-0.00143862],91.041,true,true], + ["Land_BagFence_Long_F",[-1.88379,16.5967,-0.00143862],91.041,true,true], + ["Land_BagFence_Long_F",[-10.3921,16.2498,-0.00143862],91.041,true,true], + ["Land_HBarrierWall_corridor_F",[-1.52295,8.83716,-0.00143862],181.041,true,true], + ["Land_HBarrierWall4_F",[3.81348,13.4924,-0.00143862],1.04101,true,true], + ["Land_HBarrierWall4_F",[-6.83154,5.68286,-0.00143862],1.04101,true,true], + ["Land_HBarrierWall4_F",[-16.5835,5.60962,-0.00143862],1.04101,true,true], + ["Land_HBarrierWall_corner_F",[-19.8418,5.16846,-0.00143862],271.041,true,true], + ["Land_HBarrierWall_corner_F",[-0.694824,13.0745,-0.00143862],271.041,true,true], + ["Land_LampShabby_F",[9.37598,-10.3596,-0.00143862],1.04101,true,true], + ["Land_HBarrierWall6_F",[7.20605,-19.8293,-0.00143862],181.041,true,true], + ["Land_HBarrierWall6_F",[6.87402,-10.5664,-0.00143862],181.041,true,true], + ["Land_HBarrier_Big_F",[24.5322,-16.5854,-0.00143862],179.838,true,true], + ["Land_HBarrier_Big_F",[24.5107,-8.08472,-0.00143862],359.838,true,true], + ["Land_HBarrier_Big_F",[27.7676,-11.3262,-0.00143862],269.838,true,true], + ["Land_BagFence_Round_F",[13.2651,-9.68359,-0.00143862],226.041,true,true], + ["Land_BagFence_Round_F",[11.1396,-9.64404,-0.00143862],136.041,true,true], + ["Land_HBarrierWall4_F",[13.9541,-19.9521,-0.00143862],181.041,true,true], + ["Land_Cargo_House_V3_F",[7.46289,-15.906,-0.00143862],271.041,true,true], + ["Land_HBarrierWall_corner_F",[18.2109,-19.53,-0.00143862],91.041,true,true], + ["Land_LampShabby_F",[18.0684,13.9841,-0.00143862],226.041,true,true], + ["Land_HBarrierWall6_F",[17.8833,3.73438,-0.00143862],91.041,true,true], + ["Land_HBarrierWall6_F",[17.9854,-4.51611,-0.00143862],91.041,true,true], + ["Land_HBarrierWall6_F",[10.5679,13.6208,-0.00143862],1.04101,true,true], + ["Land_HBarrierWall4_F",[17.7358,9.23999,-0.00143862],91.041,true,true], + ["Land_HBarrierWall_corner_F",[17.3179,13.7493,-0.00143862],1.04101,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + // ["B_G_Offroad_01_armed_F",[35.8379,4.96387,0.00813246],0.00104452] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +//_chancePara = GMS_chanceParaGreen; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Green"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/banditVillage.sqf b/@GMS/addons/GMS/Missions/Green/banditVillage.sqf new file mode 100644 index 0000000..123c848 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/banditVillage.sqf @@ -0,0 +1,112 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An enemy village was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Sector at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Village"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + + +_garrisonedBuildings_BuildingPosnSystem = [ + ["Land_Unfinished_Building_02_F",[-28.137,-48.6494,0],0,true,true,0.67,3,[],4], + ["Land_i_Shop_02_V2_F",[22.688,35.2515,0],0,true,true,0.67,3,[],4] +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Unfinished_Building_02_F",[-28.3966,34.8145,0],0,true,true,[["B_HMG_01_high_F",[-5.76953,1.16504,7.2248],0]],[]], + ["Land_Unfinished_Building_02_F",[20.1816,-44.2554,0],0,true,true,[],[[[4.68567,3.59082,0.257384],0],[[-5.20032,5.66797,3.96986],0]]] +]; + +_missionLandscape = [ + ["Land_i_House_Big_02_V3_F",[-64.5577,-100.259,0],0,true,true], + ["Land_u_House_Big_01_V1_F",[-65.2944,63.9878,0],0,true,true], + // ["Sign_Sphere100cm_F",[-25.4528,-44.6294,0.617091],0,true,true], + // ["Sign_Arrow_Direction_Green_F",[24.8673,-40.6646,0.257384],0,true,true], + // ["Sign_Arrow_Direction_Green_F",[14.9813,-38.5874,3.96986],0,true,true], + //["Sign_Arrow_F",[10.937,-14.8413,1.03653],0,true,true], + // ["Sign_Sphere100cm_F",[18.4126,35.3154,0.501973],0,true,true], + ["Land_i_House_Big_02_V1_F",[53.7161,-101.875,0],0,true,true], + ["Land_i_House_Big_02_V2_F",[52.6943,66.0278,0],0,true,true] +]; + +_missionLootBoxes = [ + selectRandom[ + ["Box_IND_AmmoOrd_F",[-25.7473,-46.3496,3.73],_crateLoot,_lootCounts,0], + ["Box_NATO_Ammo_F",[-31.2815,14.4961,0],_crateLoot,_lootCounts,0], + ["Box_AAF_Equip_F",[-2.56213,-16.4194,0],_crateLoot,_lootCounts,0], + ["Box_IND_AmmoOrd_F",[3.29309,-24.7749,0],_crateLoot,_lootCounts,0], + ["Box_NATO_Wps_F",[18.3497,-0.543945,0],_crateLoot,_lootCounts,0] + ] +]; + +_missionLootVehicles = [ + // ["",[10.937,-14.8413,1.03653],_crateLoot,_lootCounts,0] +]; + +_missionPatrolVehicles = [ + //["B_LSV_01_armed_F",[-1.72583,-70.4502,0],0], + //["B_MRAP_01_gmg_F",[-3.95642,50.4224,-9.53674e-007],0], + // ["B_G_Van_01_transport_F",[11.2654,-13.9736,-0.000131607],0] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ + ["B_Heli_Light_01_dynamicLoadout_F",[-52.1934,-2.21387,0],0] +]; + +_missionEmplacedWeapons = [ + ["B_HMG_01_high_F",[-34.1661,35.9795,7.2248],0], + ["B_GMG_01_high_F",[43.4441,-24.4961,0],0] +]; + +_missionGroups = [ + [[-31.2625,5.21875,0.00143909],3,6,"Green",30,45], + [[-3.32458,-42.5176,0.00143909],3,6,"Green",30,45], + [[-7.85986,-2.72217,0.00143909],3,6,"Green",30,45], + [[-2.06714,36.3027,0.00143909],3,6,"Green",30,45], + [[29.3705,-18.0239,0.00143909],3,6,"Green",30,45] +]; + +_scubaGroupParameters = [ +]; + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. +//_endCondition = allKilledOrPlayerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/charlston.sqf b/@GMS/addons/GMS/Missions/Green/charlston.sqf new file mode 100644 index 0000000..6b62ff7 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/charlston.sqf @@ -0,0 +1,187 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "Camp Charlston is being built by the enemy in a nearby sector."; +_endMsg = "Camp Charleston is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[250,250],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Camp Charleston"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = []; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V1_F",[4.47693,-36.1753,-0.00143862],0,true,true,[["B_HMG_01_high_F",[1.09753,-0.78125,4.33092],182.337],["B_HMG_01_high_F",[-8.18188,3.96289,-0.0121179],270.389],["B_HMG_01_high_F",[11.7308,-7.875,-0.0121193],181.165]],[]], + ["Land_Cargo_Tower_V1_F",[6.56189,-19.98,-0.00143909],180,true,true,[["B_HMG_01_high_F",[12.7545,4.6084,-0.0121183],225.183],["B_HMG_01_high_F",[-4.78821,0.935547,17.8764],270.571],["B_HMG_01_high_F",[3.17285,4.91357,17.7788],0.00164279]],[]], + ["Land_Cargo_HQ_V1_F",[2.97693,0.074707,-0.00143862],180,true,true,[["B_HMG_01_high_F",[-5.3407,0.772461,3.1134],181.165]],[]], + ["Land_Cargo_Patrol_V1_F",[41.4769,-36.1753,-0.00143862],0,true,true,[["B_HMG_01_high_F",[1.27466,-0.849121,4.33092],181.165],["B_HMG_01_high_F",[-7.82532,-8.49463,-0.0121193],181.165]],[]] +]; + +_missionLandscape = [ + ["Land_CncWall4_F",[-8.77258,1.07471,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-8.77258,-4.17529,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-8.77258,6.32471,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-6.52258,8.57471,-0.00143909],180,true,true], + ["Land_CncWall1_F",[-8.77258,-7.42529,-0.00143909],90,true,true], + ["Land_CncWall1_F",[-8.52258,-8.67529,-0.00143909],60,true,true], + ["Land_New_WiredFence_10m_F",[-9.77258,-4.92529,-0.00143909],90,true,true], + ["Land_New_WiredFence_10m_F",[-9.77258,5.07471,-0.00143909],90,true,true], + ["Land_LampShabby_F",[19.8737,-40.29,-0.00143909],149.832,true,true], + ["Land_BagFence_Round_F",[-4.80505,-33.3926,-0.00143909],45.9826,true,true], + ["Land_BagFence_Round_F",[14.8495,-44.9292,-0.00143909],45,true,true], + ["Land_BagFence_Round_F",[-4.76855,-31.2666,-0.00143909],135.983,true,true], + ["Land_BagFence_Round_F",[14.599,-41.1792,-0.00143909],120,true,true], + ["Land_BagFence_Long_F",[11.2294,-22.6245,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[12.6,-24.3042,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[11.224,-25.6792,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[-2.69324,-34.1782,-0.00143909],180.983,true,true], + ["Land_BagFence_Long_F",[17.1,-45.6792,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[18.4745,-44.1792,-0.00143909],90,true,true], + ["Land_CncBarrier_F",[19.975,-35.6792,-0.00143909],270,true,true], + ["Land_PortableLight_double_F",[7.0155,-26.8413,-0.00143909],270,true,true], + ["Land_CncWall4_F",[4.47742,-22.6753,-0.00143909],90,true,true], + ["Land_CncWall4_F",[1.22742,-35.1753,-0.00143909],90,true,true], + ["Land_CncWall4_F",[3.47742,-37.4253,-0.00143909],0,true,true], + ["Land_CncWall1_F",[1.47742,-31.9253,-0.00143909],105,true,true], + ["Land_CncWall1_F",[7.97742,-36.6753,-0.00143909],330,true,true], + ["Land_CncWall1_F",[6.72742,-37.1753,-0.00143909],345,true,true], + ["Land_CncWall1_F",[5.31714,-26.9092,-0.00143909],75,true,true], + ["Land_CncWall1_F",[4.80066,-25.6685,-0.00143909],60,true,true], + ["Land_BagFence_End_F",[15.9755,-40.3042,-0.00143909],0,true,true], + ["Land_BagFence_End_F",[-1.75403,-30.4434,-0.00143909],330.983,true,true], + ["Land_BagFence_End_F",[18.8319,-42.6753,-0.00143909],330,true,true], + ["Land_BagFence_End_F",[-0.797119,-32.9614,-0.00143909],300.983,true,true], + ["Land_New_WiredFence_10m_F",[4.97937,-39.5308,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[14.7274,-39.4253,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[0.272339,-34.5835,-0.00143909],90,true,true], + ["Land_BagFence_Corner_F",[-1.31201,-33.8271,-0.00143909],90.9826,true,true], + ["Land_BarGate_F",[24.7274,-41.9253,-0.00143909],0,true,true], + ["Land_Mil_WiredFence_Gate_F",[24.7274,-39.6675,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_Dam_F",[0.227417,-24.6753,-0.00143909],90,true,true], + ["Land_BagFence_Short_F",[-2.88318,-30.6743,-0.00143909],180.983,true,true], + ["Land_BagFence_Short_F",[14.224,-43.0542,-0.00143909],270,true,true], + ["Land_Mil_WallBig_4m_F",[25.6038,-18.8174,-0.00143909],270,true,true], + ["Land_BagFence_Round_F",[18.3368,-16.3926,-0.00143909],45,true,true], + ["Land_BagFence_Long_F",[11.349,-18.1792,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[12.7245,-16.8042,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[11.349,-15.4312,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[20.8373,-17.0176,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-0.272583,-9.17529,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-5.64758,-9.17529,-0.00143909],0,true,true], + ["Land_CncWall4_F",[5.10242,-9.17529,-0.00143909],0,true,true], + ["Land_CncWall4_F",[3.97742,8.57471,-0.00143909],180,true,true], + ["Land_CncWall4_F",[4.47742,-17.4253,-0.00143909],90,true,true], + ["Land_CncWall4_F",[8.72742,7.19971,-0.00143909],210,true,true], + ["Land_CncWall4_F",[-1.27258,8.57471,-0.00143909],180,true,true], + ["Land_CncWall4_F",[4.48242,-12.2109,-0.00143909],90,true,true], + ["Land_CncWall4_F",[12.7274,-3.80029,-0.00143909],270,true,true], + ["Land_CncWall4_F",[12.7274,1.44971,-0.00143909],270,true,true], + ["Land_CncWall1_F",[11.6024,-7.92529,-0.00143909],315,true,true], + ["Land_CncWall1_F",[11.6024,5.44971,-0.00143909],210,true,true], + ["Land_CncWall1_F",[12.4774,4.57471,-0.00143909],240,true,true], + ["Land_CncWall1_F",[10.6024,-8.55029,-0.00143909],345,true,true], + ["Land_CncWall1_F",[12.3524,-6.92529,-0.00143909],300,true,true], + ["Land_New_WiredFence_10m_F",[14.9774,9.57471,-0.00143909],180,true,true], + ["Land_New_WiredFence_10m_F",[4.97742,9.57471,-0.00143909],180,true,true], + ["Land_New_WiredFence_10m_F",[-5.27258,-9.42529,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[-5.02258,9.57471,-0.00143909],180,true,true], + ["Land_New_WiredFence_10m_F",[0.227417,-14.6753,-0.00143909],90,true,true], + ["Land_CncShelter_F",[8.84314,-9.19678,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_Dam_F",[24.9774,-0.050293,-0.00143909],180,true,true], + ["Land_New_WiredFence_10m_Dam_F",[19.7274,5.07471,-0.00143909],270,true,true], + ["Land_BagFence_Short_F",[17.7123,-14.3945,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[23.4019,-2.35938,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[17.7269,-11.4253,-0.00143909],270,true,true], + ["Land_Mil_WallBig_4m_F",[19.2269,-6.17529,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[20.0457,-13.5703,-0.00143909],180,true,true], + ["Land_Mil_WallBig_4m_F",[21.1479,-4.53125,-0.00143909],270,true,true], + ["Land_LampShabby_F",[29.5619,-40.2676,-0.00143909],210,true,true], + ["Land_LampShabby_F",[40.4146,-21.3286,-0.00143909],326.67,true,true], + ["Land_BagFence_Round_F",[34.9688,-45.8774,-0.00143909],315,true,true], + ["Land_BagFence_Round_F",[32.8423,-45.8774,-0.00143909],45,true,true], + ["Land_BagFence_Long_F",[35.7183,-43.7524,-0.00143909],90,true,true], + ["Land_CncBarrier_F",[29.725,-35.5542,-0.00143909],270,true,true], + ["Land_CncWall4_F",[41.7274,-38.6753,-0.00143909],0,true,true], + ["Land_CncWall4_F",[43.9774,-36.4253,-0.00143909],270,true,true], + ["Land_CncWall1_F",[38.4774,-38.4253,-0.00143909],15,true,true], + ["Land_CncWall1_F",[37.2401,-37.894,-0.00143909],30,true,true], + ["Land_CncWall1_F",[43.7274,-33.1753,-0.00143909],255,true,true], + ["Land_BagFence_End_F",[34.4688,-41.8774,-0.00143909],210,true,true], + ["Land_BagFence_End_F",[31.9678,-42.8774,-0.00143909],240,true,true], + ["Land_New_WiredFence_10m_F",[44.515,-24.8999,-0.00143909],270,true,true], + ["Land_New_WiredFence_10m_F",[34.7274,-39.1753,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[44.515,-34.6499,-0.00143909],270,true,true], + ["Land_BagFence_Corner_F",[35.3433,-42.3774,-0.00143909],0,true,true], + ["Land_New_WiredFence_5m_F",[42.2655,-39.1499,-0.00143909],0,true,true], + ["Land_BagFence_Short_F",[32.2178,-44.0024,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[39.1169,-22.2583,-0.00143909],180,true,true], + ["Land_Mil_WallBig_4m_F",[31.9081,-20.9619,-0.00143909],180,true,true], + ["Land_Mil_WallBig_4m_F",[41.4412,-20.3794,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[27.9435,-20.9658,-0.00143909],180,true,true], + ["Land_Cargo_HQ_V1_F",[33.7463,-12.4639,-0.00143862],271.492,true,true], + ["Land_New_WiredFence_10m_F",[44.4774,-4.92529,-0.00143909],270,true,true], + ["Land_New_WiredFence_10m_F",[44.4774,-14.9253,-0.00143909],270,true,true], + ["Land_New_WiredFence_10m_F",[34.9774,-0.175293,-0.00143909],180,true,true], + ["Land_New_WiredFence_5m_F",[42.4774,-0.175293,-0.00143909],180,true,true], + ["Land_Mil_WallBig_4m_F",[31.3369,-2.34375,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[41.4467,-8.47168,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[41.4458,-12.4146,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[41.4386,-16.4019,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[35.2737,-2.33789,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[41.4539,-4.48438,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[39.1295,-2.32617,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[27.3386,-2.35352,-0.00143909],0,true,true] +]; + +_missionLootBoxes = [ + //["B_supplyCrate_F",[15,-15,3],_crateLoot,_lootCounts,3] +]; + + +_missionLootVehicles = []; + +_missionPatrolVehicles = [ + //["B_G_Offroad_01_armed_F",[21.4174,19.0781,0.00804281],90.3115], + //["B_G_Offroad_01_armed_F",[27.5131,-53.1431,0.00819397],268.528] +]; + +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; +_missionGroups = []; + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +//_paraLoot = _paralootChoices select _lootIndex; +//_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. +_spawnCratesTiming = "atMissionSpawnAir"; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/colonelsBase.sqf b/@GMS/addons/GMS/Missions/Green/colonelsBase.sqf new file mode 100644 index 0000000..4544410 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/colonelsBase.sqf @@ -0,0 +1,172 @@ + + +/* + This is a simple mission using precisely placed loot crates and infantry, static weapons and vehicle patrols. + See the accompanying example mission in the exampleMission folder to get an idea how I laid this out. + Note that I exported the mission using the exportAll function of M3EDEN editor. +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An enemy colone's base was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Sector at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "New Base"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +/**************************************************** + + PLACE THE DATA DEFININING THE BUILDINGS, VEHICLES ETC. PULLED FROM YOUR MISSION BELOW + +*****************************************************/ + + +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_HQ_V3_F",[-34.8301,-3.16113,4.76837e-007],0,true,true,[["B_HMG_01_high_F",[2.66113,2.0166,3.12652],0]],[]], + ["Land_Cargo_HQ_V3_F",[-3.06567,-35.3271,4.76837e-007],0,true,true,[["B_HMG_01_high_F",[3.21777,-0.104004,3.12652],0]],[]], + ["Land_Cargo_Tower_V3_F",[-1.83765,-3.36035,0],0,true,true,[["B_HMG_01_high_F",[-2.81006,2.229,8.58897],0],["B_HMG_01_high_F",[4.09497,3.12305,17.8895],0]],[]], + ["Land_Cargo_HQ_V3_F",[-2.69702,29.457,4.76837e-007],0,true,true,[["B_HMG_01_high_F",[-0.204346,0.493164,3.12652],0]],[]], + ["Land_Cargo_HQ_V3_F",[26.1794,-3.99707,4.76837e-007],0,true,true,[["B_HMG_01_high_F",[-0.497314,-2.94531,3.12652],0]],[]] +]; + +_missionLandscape = [ + ["Land_Addon_02_ruins_F",[-39.2378,-48.939,0],288.487,true,true], + ["Land_HBarrier_5_F",[-36.7739,-30.9004,0],244.965,true,true], + ["Land_HBarrier_5_F",[-29.2549,-39.0684,0],209.272,true,true], + ["Land_HBarrier_5_F",[-24.4768,-41.627,0],209.272,true,true], + ["Land_HBarrier_5_F",[-20.1516,-43.894,0],209.272,true,true], + ["Land_HBarrier_5_F",[-38.9075,-26.7622,0],244.965,true,true], + ["Land_HBarrier_5_F",[-41.2798,-21.6992,0],244.965,true,true], + ["Land_HBarrier_5_F",[-43.3875,3.90039,0],297.369,true,true], + ["Land_HBarrier_5_F",[-43.4702,-17.3345,0],244.965,true,true], + ["Land_HBarrier_5_F",[-45.8579,-12.4688,0],244.965,true,true], + ["Land_HBarrier_5_F",[-41.4099,8.11621,0],297.369,true,true], + ["Land_Addon_02_ruins_F",[-42.2859,41.0259,0],262.77,true,true], + ["Land_HBarrier_5_F",[-36.7239,17.4834,0],297.369,true,true], + ["Land_HBarrier_5_F",[-22.3462,32.3994,0],333.062,true,true], + ["Land_HBarrier_5_F",[-34.3257,22.3433,0],297.369,true,true], + ["Land_HBarrier_5_F",[-38.8459,13.085,0],297.369,true,true], + ["Land_HBarrier_5_F",[-26.4119,30.1299,0],333.062,true,true], + ["Land_HBarrier_5_F",[9.63672,-46.5205,0],152.755,true,true], + ["Land_HBarrier_5_F",[-11.123,-48.7378,0],209.272,true,true], + ["Land_HBarrier_5_F",[-15.2705,-46.6211,0],209.272,true,true], + ["Land_HBarrier_5_F",[4.86694,-49.0942,0],152.755,true,true], + ["Land_HBarrier_5_F",[-8.29175,39.8208,0],333.062,true,true], + ["Land_HBarrier_5_F",[-17.3647,34.9385,0],333.062,true,true], + ["Land_HBarrier_5_F",[-13.0754,37.2729,0],333.062,true,true], + ["Land_HBarrier_5_F",[9.87671,40.0215,0],28.3223,true,true], + ["Land_HBarrier_5_F",[18.8813,-41.5977,0],152.755,true,true], + ["Land_HBarrier_5_F",[32.5605,-27.437,0],117.061,true,true], + ["Land_HBarrier_5_F",[13.9136,-44.1636,0],152.755,true,true], + ["Land_HBarrier_5_F",[22.9346,-39.3062,0],152.755,true,true], + ["Land_HBarrier_5_F",[34.6589,-23.0273,0],117.061,true,true], + ["Land_HBarrier_5_F",[30.1885,-32.3101,0],117.061,true,true], + ["Land_HBarrier_5_F",[40.947,10.9028,0],64.016,true,true], + ["Land_HBarrier_5_F",[43.4153,6.07764,0],64.016,true,true], + ["Land_HBarrier_5_F",[37.1963,-18.0449,0],117.061,true,true], + ["Land_HBarrier_5_F",[39.1511,-13.8188,0],117.061,true,true], + ["Land_Addon_02_ruins_F",[36.4866,36.0308,0],237.428,true,true], + ["Land_HBarrier_5_F",[28.1663,30.6538,0],28.3223,true,true], + ["Land_HBarrier_5_F",[34.0269,24.3564,0],64.016,true,true], + ["Land_HBarrier_5_F",[38.6843,15.2305,0],64.016,true,true], + ["Land_HBarrier_5_F",[23.3464,33.1328,0],28.3223,true,true], + ["Land_HBarrier_5_F",[36.2285,20.2534,0],64.016,true,true], + ["Land_HBarrier_5_F",[14.0588,37.9741,0],28.3223,true,true], + ["Land_HBarrier_5_F",[18.9844,35.3276,0],28.3223,true,true], + ["Banner_01_F",[14.4236,55.1357,0],0,true,true], + ["Land_HelipadCircle_F",[19.3931,59.5918,0],0,true,true], + ["Land_Addon_02_ruins_F",[48.969,-42.8984,0],355.857,true,true] +]; + +_missionLootBoxes = [ + selectRandom [ + ["Box_FIA_Support_F",[2.73096,-31.7026,3.12652],_crateLoot,_lootCounts,0], + ["Box_FIA_Support_F",[30.136,-3.40479,0.601674],_crateLoot,_lootCounts,0] + ] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + ["B_HMG_01_high_F",[-32.1689,-1.14453,3.12652],0], + ["B_HMG_01_high_F",[0.1521,-35.4312,3.12652],0], + ["B_HMG_01_high_F",[-4.64771,-1.13135,8.58897],0], + ["B_HMG_01_high_F",[2.25732,-0.237305,17.8895],0], + ["B_HMG_01_high_F",[-2.90137,29.9502,3.12652],0], + ["B_HMG_01_high_F",[25.6821,-6.94238,3.12652],0] +]; + +_missionGroups = [ +]; + +_scubaGroupParameters = [ +]; + +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; + +_chanceHeliPatrol = GMS_chanceHeliPatrolBlue; // Setting this in the mission file overrides the defaults +_noChoppers = GMS_noPatrolHelisOrange; +_missionHelis = GMS_patrolHelisOrange; + +//_chancePara = GMS_chanceParaGreen; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "orange"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + + +/* +_missionLandscapeMode = "precise"; // acceptable values are "random","precise" + // In precise mode objects will be spawned at the relative positions specified. + // In the random mode, objects will be randomly spawned within the mission area. + +_aircraftTypes = GMS_patrolHelisRed; // You can use one of the pre-defined lists in GMS_configs or your own custom array. +_noAirPatrols = GMS_noPatrolHelisRed; // You can use one of the pre-defined values or a custom one. acceptable values are integers (1,2,3) or a range such as [2,4]; + // Note: this value is ignored if you specify air patrols in the array below. +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; // Set to false if you have vehicles patrolling nearby. +_uniforms = GMS_SkinList; // You can replace this list with a custom list of uniforms if you like. +_headgear = GMS_headgear; // You can replace this list with a custom list of headgear. +_vests = GMS_vests; // You can replace this list with a custom list of vests. +_backpacks = GMS_backpacks; // You can replace this list with a custom list of backpacks. +_weapons = GMS_WeaponList_Orange; // You can replace this list with a customized list of weapons, or another predifined list from GMS_configs_epoch or GMS_configs_exile as appropriate. +_sideArms = GMS_pistols; // You can replace this list with a custom list of sidearms. +*/ + + +//******************************************************** +// Do not modify anything below this line. +//******************************************************** +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; + +//diag_log format["[blckeagls static missions] COMPLETED initializing mission %1 position at %2 difficulty %3",_mission,_missionCenter,_difficulty]; \ No newline at end of file diff --git a/@GMS/addons/GMS/Missions/Green/dashq.sqf b/@GMS/addons/GMS/Missions/Green/dashq.sqf new file mode 100644 index 0000000..e5be7ea --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/dashq.sqf @@ -0,0 +1,227 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An enemy HQ center was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The HQ at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Operationsbasis"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_HQ_V1_F",[-0.358154,-18.6514,-0.00143862],179.905,true,true,[["B_HMG_01_high_F",[-6.5437,1.09253,3.11855],145.121],["B_HMG_01_high_F",[-13.9094,-10.7791,-0.0121183],206.716]],[]] +]; + +_missionLandscape = [ + ["Land_PortableLight_double_F",[-42.614,-26.0178,-0.00143909],225.577,true,true], + ["Land_CncWall4_F",[-45.3523,-21.509,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-33.5913,-28.1145,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[-38.842,-28.124,-0.00143909],359.905,true,true], + ["Land_CncWall1_F",[-44.093,-26.7578,-0.00143909],44.9051,true,true], + ["Land_CncWall1_F",[-43.0923,-27.5063,-0.00143909],29.9051,true,true], + ["Land_CncWall1_F",[-45.2207,-24.6689,-0.00143909],74.9051,true,true], + ["Land_CncWall1_F",[-44.845,-25.7581,-0.00143909],59.9051,true,true], + ["Land_CncWall1_F",[-41.9668,-28.0046,-0.00143909],14.9051,true,true], + ["Land_BagBunker_01_large_green_F",[-49.7271,-16.9226,-0.00143909],90.2555,true,true], + ["Land_Cargo_Tower_V1_F",[-36.3582,-19.3394,-0.00143909],89.905,true,true], + ["Land_CncWall4_F",[-33.4968,-9.73975,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-45.3792,-5.75879,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-45.3867,-0.508789,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-45.3694,-11.0095,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-45.3955,4.74121,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-45.4041,9.99072,-0.00143909],89.9051,true,true], + ["Land_CncWall1_F",[-32.0076,1.70923,-0.00143909],74.9051,true,true], + ["Land_CncWall1_F",[-31.6313,0.61792,-0.00143909],59.9051,true,true], + ["Land_BagBunker_01_large_green_F",[-49.7959,14.4089,-0.00143909],90.2555,true,true], + ["Land_Cargo_HQ_V1_F",[-34.4014,20.1455,-0.00143862],269.491,true,true], + ["Land_CncWall4_F",[-45.4214,20.4915,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-45.4302,25.7415,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-38.8159,32.2512,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-33.5662,32.2607,-0.00143909],179.905,true,true], + ["Land_CncWall1_F",[-43.0654,31.7451,-0.00143909],149.905,true,true], + ["Land_CncWall1_F",[-41.9753,32.1199,-0.00143909],164.905,true,true], + ["Land_CncWall1_F",[-44.0635,30.9924,-0.00143909],134.905,true,true], + ["Land_CncWall1_F",[-44.8127,29.991,-0.00143909],119.905,true,true], + ["Land_CncWall1_F",[-45.3108,28.8672,-0.00143909],104.905,true,true], + ["Land_BagFence_Round_F",[-15.3367,-30.4338,-0.00143909],44.9051,true,true], + ["Land_BagFence_Round_F",[-25.8376,-30.2017,-0.00143909],314.905,true,true], + ["Land_PortableLight_double_F",[-2.30811,-29.9211,-0.00143909],44.7366,true,true], + ["Land_CncWall4_F",[-2.09229,-28.0632,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[-26.9856,-16.3538,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[-13.8528,-21.4565,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-26.9783,-21.6038,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[-7.34155,-28.0718,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[-13.8606,-16.2065,-0.00143909],89.9051,true,true], + ["Land_CncWall1_F",[-13.3455,-25.7068,-0.00143909],59.9051,true,true], + ["Land_CncWall1_F",[-12.593,-26.7058,-0.00143909],44.9051,true,true], + ["Land_CncWall1_F",[-27.5952,-25.8552,-0.00143909],299.905,true,true], + ["Land_CncWall1_F",[-27.0967,-24.7288,-0.00143909],284.905,true,true], + ["Land_CncWall1_F",[-13.7209,-24.6165,-0.00143909],74.9051,true,true], + ["Land_CncWall1_F",[-10.4666,-27.9514,-0.00143909],14.9051,true,true], + ["Land_CncWall1_F",[-29.3428,-27.6084,-0.00143909],329.905,true,true], + ["Land_CncWall1_F",[-30.4331,-27.9832,-0.00143909],344.905,true,true], + ["Land_CncWall1_F",[-11.592,-27.4541,-0.00143909],29.9051,true,true], + ["Land_CncWall1_F",[-28.3438,-26.855,-0.00143909],314.905,true,true], + ["Land_BagFence_Long_F",[-25.2168,-27.7002,-0.00143909],269.905,true,true], + ["Land_BagFence_Long_F",[-15.9658,-27.9348,-0.00143909],269.905,true,true], + ["Land_BagFence_Long_F",[-12.8359,-31.0559,-0.00143909],359.905,true,true], + ["Land_BagFence_Long_F",[-28.3364,-30.8318,-0.00143909],179.905,true,true], + ["Land_BagFence_Round_F",[-7.19092,10.5073,-0.00143909],44.9051,true,true], + ["Land_PortableLight_double_F",[-11.7207,0.158936,-0.00143909],135.598,true,true], + ["Land_PortableLight_double_F",[-29.4041,0.418701,-0.00143909],218.658,true,true], + ["Land_CncWall4_F",[-7.24731,-9.69678,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-20.376,-1.73682,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[-25.6274,-1.74609,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[-15.1272,-1.72925,-0.00143909],359.905,true,true], + ["Land_CncWall1_F",[-10.4058,-9.82935,-0.00143909],164.905,true,true], + ["Land_CncWall1_F",[-10.8779,-1.22144,-0.00143909],329.905,true,true], + ["Land_CncWall1_F",[-9.13086,0.531982,-0.00143909],299.905,true,true], + ["Land_CncWall1_F",[-11.4956,-10.2031,-0.00143909],149.905,true,true], + ["Land_CncWall1_F",[-8.63257,1.65747,-0.00143909],284.905,true,true], + ["Land_CncWall1_F",[-11.9688,-1.59668,-0.00143909],344.905,true,true], + ["Land_CncWall1_F",[-27.4932,-12.1047,-0.00143909],239.905,true,true], + ["Land_CncWall1_F",[-12.4951,-10.9553,-0.00143909],134.905,true,true], + ["Land_CncWall1_F",[-13.2424,-11.9563,-0.00143909],119.905,true,true], + ["Land_CncWall1_F",[-29.8777,-1.12744,-0.00143909],29.9051,true,true], + ["Land_CncWall1_F",[-9.87939,-0.470703,-0.00143909],314.905,true,true], + ["Land_CncWall1_F",[-30.3708,-9.86011,-0.00143909],194.905,true,true], + ["Land_CncWall1_F",[-30.8787,-0.378906,-0.00143909],44.9051,true,true], + ["Land_CncWall1_F",[-29.2468,-10.3582,-0.00143909],209.905,true,true], + ["Land_CncWall1_F",[-13.7417,-13.0818,-0.00143909],104.905,true,true], + ["Land_CncWall1_F",[-28.2449,-11.1069,-0.00143909],224.905,true,true], + ["Land_CncWall1_F",[-27.1179,-13.1948,-0.00143909],254.905,true,true], + ["Land_CncWall1_F",[-28.7524,-1.62573,-0.00143909],14.9051,true,true], + ["Land_BagFence_Long_F",[-7.8208,13.0066,-0.00143909],269.905,true,true], + ["Land_BagFence_Long_F",[-4.69067,9.88257,-0.00143909],359.905,true,true], + ["Land_Cargo_HQ_V1_F",[-19.8857,1.92358,-0.00143862],359.905,true,true], + ["Land_Cargo_HQ_V1_F",[-17.6404,20.1672,-0.00143862],269.491,true,true], + ["Land_HelipadSquare_F",[0.169189,17.6489,-0.00143909],359.936,true,true], + ["Land_BagFence_Round_F",[-7.21484,25.1335,-0.00143909],134.905,true,true], + ["Land_BagFence_Round_F",[-8.354,36.8232,-0.00143909],134.905,true,true], + ["Land_CncWall4_F",[-23.0659,32.2773,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-12.615,32.3005,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-17.8164,32.2856,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-7.396,32.3115,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-2.25146,35.2305,-0.00143909],179.977,true,true], + ["Land_CncWall4_F",[-28.3167,32.269,-0.00143909],179.905,true,true], + ["Land_CncWall1_F",[-4.03638,32.6663,-0.00143909],149.461,true,true], + ["Land_BagFence_Long_F",[-4.71533,25.7625,-0.00143909],359.905,true,true], + ["Land_BagFence_Long_F",[-5.85449,37.4521,-0.00143909],359.905,true,true], + ["Land_BagFence_Long_F",[-7.83618,22.6321,-0.00143909],89.9051,true,true], + ["Land_BagFence_Long_F",[-8.97534,34.3218,-0.00143909],89.9051,true,true], + ["Land_PortableLight_double_F",[12.1106,-26.1833,-0.00143909],149.905,true,true], + ["Land_CncWall4_F",[15.0215,-21.5349,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[8.38428,-28.1101,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[15.0137,-16.2847,-0.00143909],269.905,true,true], + ["Land_CncWall1_F",[14.9031,-24.6597,-0.00143909],284.905,true,true], + ["Land_CncWall1_F",[12.6567,-27.5383,-0.00143909],329.905,true,true], + ["Land_CncWall1_F",[11.5676,-27.9133,-0.00143909],344.905,true,true], + ["Land_CncWall1_F",[14.4038,-25.7854,-0.00143909],299.905,true,true], + ["Land_CncWall1_F",[13.656,-26.7861,-0.00143909],314.905,true,true], + ["Land_BagFence_Long_F",[12.5037,-23.1807,-0.00143909],89.3707,true,true], + ["Land_BagFence_Long_F",[11.072,-24.5706,-0.00143909],359.905,true,true], + ["Land_BagFence_Long_F",[10.9707,-21.8315,-0.00143909],179.371,true,true], + ["Land_BagFence_Long_F",[9.56812,-23.1921,-0.00143909],269.905,true,true], + ["Land_BagBunker_01_large_green_F",[3.83936,-32.5405,-0.00143909],0,true,true], + ["Land_TTowerSmall_2_F",[11.5024,-23.7861,-0.00143909],179.905,true,true], + ["Land_Cargo_House_V1_F",[9.00171,-10.2603,-0.00143909],89.905,true,true], + ["Land_Cargo_House_V1_F",[8.98071,2.86475,-0.00143909],89.905,true,true], + ["Land_Medevac_house_V1_F",[8.99219,-3.76099,-0.00143909],90.3921,true,true], + ["Land_BagFence_Round_F",[8.05933,10.2788,-0.00143909],314.905,true,true], + ["Land_PortableLight_double_F",[12.8176,7.44629,-0.00143909],134.905,true,true], + ["Land_CncWall4_F",[14.9788,4.71558,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[15.0054,-11.0347,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[14.9961,-5.78418,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[14.9878,-0.533936,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[14.9705,9.96558,-0.00143909],269.905,true,true], + ["Land_BagFence_Long_F",[8.68018,12.7852,-0.00143909],269.905,true,true], + ["Land_BagFence_Long_F",[5.55933,9.6499,-0.00143909],179.905,true,true], + ["Land_BagBunker_01_large_green_F",[19.272,16.1316,-0.00143909],269.832,true,true], + ["Land_BagFence_Round_F",[7.91089,24.9097,-0.00143909],224.905,true,true], + ["Land_BagFence_Round_F",[9.05054,36.9314,-0.00143909],224.905,true,true], + ["Land_PortableLight_double_F",[11.8816,29.2671,-0.00143909],44.7366,true,true], + ["Land_CncWall4_F",[14.9529,20.4653,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[8.43433,32.3303,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[2.95288,35.22,-0.00143909],179.977,true,true], + ["Land_CncWall4_F",[14.9443,25.7156,-0.00143909],269.905,true,true], + ["Land_CncWall1_F",[14.4373,29.9646,-0.00143909],239.905,true,true], + ["Land_CncWall1_F",[14.813,28.8745,-0.00143909],254.905,true,true], + ["Land_CncWall1_F",[13.6853,30.9644,-0.00143909],224.905,true,true], + ["Land_CncWall1_F",[12.6843,31.7119,-0.00143909],209.905,true,true], + ["Land_CncWall1_F",[11.5593,32.2114,-0.00143909],194.905,true,true], + ["Land_CncWall1_F",[5.11841,32.7061,-0.00143909],209.905,true,true], + ["Land_BagFence_Long_F",[8.54004,22.4104,-0.00143909],89.9051,true,true], + ["Land_BagFence_Long_F",[9.67969,34.4321,-0.00143909],89.9051,true,true], + ["Land_BagFence_Long_F",[5.40894,25.5288,-0.00143909],179.905,true,true], + ["Land_BagFence_Long_F",[6.54858,37.5505,-0.00143909],179.905,true,true] +]; + +_missionLootBoxes = [ + //["Exile_Container_SupplyBox",[0.0717773,16.9431,-0.00143814],_crateLoot,_lootCounts,0.000320471] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + //["O_T_LSV_02_armed_F",[-62.7971,0.422119,-0.0236669],0.00164848], + //["O_T_LSV_02_armed_F",[31.9084,-7.18774,-0.0238085],0.00168349] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +//_chancePara = GMS_chanceParaGreen; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Green"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/default.sqf b/@GMS/addons/GMS/Missions/Green/default.sqf new file mode 100644 index 0000000..6527173 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/default.sqf @@ -0,0 +1,47 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "A group of Bandits was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Sector at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Bandit Patrol"; +_missionLandscapeMode = "random"; // acceptable values are "none","random","precise" +_missionLandscape = ["Land_WoodPile_F","Land_BagFence_Short_F","Land_WoodPile_F","Land_BagFence_Short_F","Land_WoodPile_F","Land_BagFence_Short_F","Land_FieldToilet_F","Land_TentDome_F","Land_TentDome_F","Land_TentDome_F","Land_TentDome_F","Land_CargoBox_V1_F","Land_CargoBox_V1_F"]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; +//_chanceLoot = 0.6; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/derbunker.sqf b/@GMS/addons/GMS/Missions/Green/derbunker.sqf new file mode 100644 index 0000000..47448b5 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/derbunker.sqf @@ -0,0 +1,117 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An enemy Bunker was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Bunker at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "DerBunker"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Bunker_01_big_F",[-15.925,9.02295,0.760561],90.071,true,true,[["O_HMG_01_high_F",[-5.45947,-3.38574,0.109706],359.994]],[]], + ["Land_Bunker_01_tall_F",[-15.377,-8.8042,-0.00143909],90.071,true,true,[["O_HMG_01_high_F",[5.50562,-2.54395,-0.0121193],0.00145215],["O_HMG_01_high_F",[-1.72095,-0.109375,4.96893],0.00948966]],[]], + ["Land_Bunker_01_tall_F",[-15.76,28.606,-0.00143909],90.071,true,true,[["O_HMG_01_high_F",[5.47437,2.47559,-0.0121179],0.000581241],["O_HMG_01_high_F",[-1.38867,-0.0722656,4.967],359.999],["O_HMG_01_high_F",[11.8271,5.87988,-0.0121188],0.00143633]],[]], + ["Land_Bunker_01_big_F",[20.199,10.729,0.760561],270.416,true,true,[["O_HMG_01_high_F",[5.86328,3.25586,0.109697],0.0117801]],[]], + ["Land_Bunker_01_tall_F",[19.8899,-8.86914,-0.00143909],270.416,true,true,[["O_HMG_01_high_F",[-5.13818,-2.33496,-0.0121174],0.0002874],["O_HMG_01_high_F",[1.45801,0.0512695,4.96698],360]],[]], + ["Land_Bunker_01_tall_F",[19.731,28.542,-0.00143909],270.416,true,true,[["O_HMG_01_high_F",[-5.00977,2.1792,-0.0121188],0.00143735],["O_HMG_01_high_F",[1.80957,0.26709,4.96756],360],["O_HMG_01_high_F",[-12.0127,6.1333,-0.0121193],0.00145178]],[]] +]; + +_missionLandscape = [ + //["Sign_Arrow_F",[-3163.22,-5166.85,-0.00143909],0,true,true], + //["Sign_Arrow_Green_F",[-3163.22,-5166.85,-0.00143909],0,true,true], + //["Sign_Arrow_Yellow_F",[-3163.22,-5166.85,-0.00143909],0,true,true], + //["babe_helper",[-3165.72,-5166.35,-0.00143909],90.8645,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.762,17.5518,-0.00143909],270.35,true,true], + ["Land_Bunker_01_blocks_3_F",[-0.0979004,-12.9033,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[-5.18799,-12.9092,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[-10.175,-12.9253,-0.502439],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.814,-4.44141,-0.00143909],270.35,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.7959,0.544922,-0.00143909],270.35,true,true], + ["CamoNet_INDP_big_F",[2.23804,-2.70508,-0.00143909],182.545,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.7451,22.5391,-0.00143909],270.35,true,true], + ["Land_Bunker_01_blocks_3_F",[-2.51611,30.105,-0.00143909],90.192,true,true], + ["Land_Bunker_01_blocks_3_F",[-10.6179,32.6689,-0.432439],0.106,true,true], + ["Land_Bunker_01_blocks_3_F",[-5.63013,32.6719,-0.00143909],0.106,true,true], + ["Land_Bunker_01_blocks_3_F",[17.958,2.1958,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[14.9771,-12.854,-0.529439],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[4.88892,-12.8853,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[17.9109,-2.78906,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[9.98999,-12.8711,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[6.58691,30.1689,-0.00143909],269.774,true,true], + ["Land_Bunker_01_blocks_3_F",[18.095,19.2026,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[18.1409,24.189,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[9.54907,32.6689,-0.00143909],0.106,true,true], + ["Land_Bunker_01_blocks_3_F",[14.5359,32.6729,-0.363439],0.106,true,true] +]; + +_missionLootBoxes = [ + //["Exile_Container_SupplyBox",[0.0446777,-1.31494,-0.001441],_crateLoot,_lootCounts,0.00167282] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + //["O_LSV_02_armed_F",[-37.46,8.55273,-0.0378561],359.999], + // ["O_LSV_02_unarmed_F",[38.3699,8.21484,-0.0378113],359.999] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +//_chancePara = GMS_chanceParaGreen; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Green"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/factory.sqf b/@GMS/addons/GMS/Missions/Green/factory.sqf new file mode 100644 index 0000000..a604571 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/factory.sqf @@ -0,0 +1,133 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepaGreen for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An Ammunition Factory was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Factory at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Factory"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Tower_V3_F",[-18.6987,-51.7905,-0.0014348],91.6296,true,true,[["B_HMG_01_high_F",[3.31396,2.89209,8.57585],359.999],["B_HMG_01_high_F",[13.0347,0.8479,-0.0121226],360],["B_HMG_01_high_F",[-9.4834,13.5967,-0.0121226],0.00158913],["B_HMG_01_high_F",[-0.601074,3.90967,17.8764],359.999],["B_HMG_01_high_F",[-0.877441,-4.83179,17.8764],359.999],["B_HMG_01_high_F",[-9.77783,29.3799,-0.0121226],360]],[]], + ["Land_Cargo_Patrol_V3_F",[-27.1675,-15.407,-0.00143814],91.6296,true,true,[["B_HMG_01_high_F",[-1.15381,1.24658,4.33092],275.276]],[]], + ["Land_Cargo_Patrol_V3_F",[-10.7632,4.77441,-0.00143814],181.63,true,true,[["B_HMG_01_high_F",[-1.32959,1.03662,4.33092],359.999]],[]], + ["Land_Cargo_Patrol_V3_F",[12.9375,3.5835,-0.00143814],181.63,true,true,[["B_HMG_01_high_F",[1.57861,1.04736,4.33093],357.402],["B_HMG_01_high_F",[8.41357,-9.20557,-0.0121202],0.0033673]],[]] +]; + +_missionLandscape = [ + //["babe_helper",[-4335.99,-3525.64,-0.00143862],0,true,true], + //["Sign_Arrow_Green_F",[-4333.49,-3526.14,-0.00143862],0,true,true], + //["Sign_Arrow_F",[-4333.49,-3526.14,-0.00143862],0,true,true], + //["Sign_Arrow_Yellow_F",[-4333.49,-3526.14,-0.00143862],0,true,true], + ["Land_BagFence_Long_F",[-29.7012,-38.5171,-0.00143862],91.6296,true,true], + ["Land_BagFence_Long_F",[-27.5103,-40.5801,-0.00143862],181.63,true,true], + ["Land_HBarrier_Big_F",[-22.1475,-58.7117,-0.00143862],181.63,true,true], + ["Land_HBarrier_Big_F",[-25.2705,-45.3574,-0.00143862],91.6296,true,true], + ["Land_HBarrier_Big_F",[-25.3784,-53.6096,-0.00143862],91.6296,true,true], + ["Land_BagFence_Corner_F",[-29.377,-40.2764,-0.00143862],181.63,true,true], + ["Land_BagFence_Corner_F",[-25.5186,-40.8857,-0.00143862],1.62962,true,true], + ["Land_BagFence_Long_F",[-27.6362,-36.2009,-0.00143862],1.62962,true,true], + ["Land_HBarrier_Big_F",[-31.3271,-12.1621,-0.00143862],91.6296,true,true], + ["Land_HBarrier_Big_F",[-26.2822,-19.4336,-0.00143862],181.63,true,true], + ["Land_HBarrier_Big_F",[-31.4404,-20.5371,-0.00143862],91.6296,true,true], + ["Land_BagFence_Corner_F",[-29.3945,-36.5234,-0.00143862],271.63,true,true], + ["CamoNet_OPFOR_F",[-25.6099,-22.126,-0.00143862],1.62962,true,true], + ["CamoNet_OPFOR_big_F",[-23.2964,2.06958,-0.00143862],1.62962,true,true], + ["Land_HBarrier_Big_F",[-31.3423,-3.90796,-0.00143862],91.6296,true,true], + ["Land_HBarrier_Big_F",[-27.8384,9.37231,-0.00143862],181.63,true,true], + ["Land_HBarrier_Big_F",[-31.2295,4.46704,-0.00143862],91.6296,true,true], + ["Land_HBarrier_Big_F",[-19.4634,9.25928,-0.00143862],181.63,true,true], + ["Land_BagFence_Round_F",[-3.56348,-51.6428,-0.00143862],316.63,true,true], + ["Land_BagFence_Long_F",[-6.08105,-52.1965,-0.00143862],181.63,true,true], + ["Land_HBarrier_Big_F",[11.7363,-54.9075,-0.00143862],181.63,true,true], + ["Land_HBarrier_Big_F",[3.36133,-54.7944,-0.00143862],181.63,true,true], + ["Land_HBarrier_Big_F",[-8.54834,-55.4766,-0.00143862],91.6296,true,true], + ["Land_HBarrier_Big_F",[-13.6416,-58.7065,-0.00143862],181.63,true,true], + ["Land_dp_mainFactory_F",[7.44922,-29.397,-0.00143862],1.62962,true,true], + ["Land_HBarrier_Big_F",[-6.04248,6.25171,-0.00143862],271.63,true,true], + ["Land_HBarrier_Big_F",[11.5215,8.25244,-0.00143862],181.63,true,true], + ["Land_HBarrier_Big_F",[-11.2095,9.27417,-0.00143862],181.63,true,true], + ["Land_HBarrier_Big_F",[8.12988,3.34741,-0.00143862],91.6296,true,true], + ["Land_HBarrier_Big_F",[19.9902,-54.8926,-0.00143862],181.63,true,true], + ["Land_HBarrier_Big_F",[32.8569,-43.4072,-0.00143862],271.63,true,true], + ["Land_HBarrier_Big_F",[28.146,-54.7991,-0.00143862],181.63,true,true], + ["Land_HBarrier_Big_F",[32.873,-51.5361,-0.00143862],271.63,true,true], + ["Land_BagFence_Round_F",[37.7549,-30.4514,-0.00143862],316.63,true,true], + ["Land_BagFence_Round_F",[37.8594,-28.2903,-0.00143862],226.63,true,true], + ["Land_BagFence_Long_F",[35.2378,-31.0051,-0.00143862],181.63,true,true], + ["Land_HBarrier_Big_F",[33.3535,-19.7563,-0.00143862],271.63,true,true], + ["Land_HBarrier_Big_F",[30.1147,-14.9102,-0.00143862],181.63,true,true], + ["Land_HBarrier_Big_F",[32.8462,-34.9041,-0.00143862],271.63,true,true], + ["Land_HBarrier_Big_F",[24.9575,-11.6372,-0.00143862],271.63,true,true], + ["CamoNet_OPFOR_F",[21.7773,-9.21729,-0.00143862],91.6296,true,true], + ["Land_HBarrier_Big_F",[19.8965,8.1394,-0.00143862],181.63,true,true], + ["Land_HBarrier_Big_F",[24.9307,4.99487,-0.00143862],271.63,true,true], + ["Land_HBarrier_Big_F",[24.9414,-3.5083,-0.00143862],271.63,true,true] +]; + +_missionLootBoxes = []; + +_missionLootVehicles = []; + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehiclesGreen,[-53.8027,-29.7834,0.00867844],0.00103655], + [selectRandom GMS_AIPatrolVehiclesGreen,[51.0596,-25.7876,0.00815535],0.00104356] +]; + +_submarinePatrolParameters = []; + +_airPatrols = []; + +_missionEmplacedWeapons = []; // + +_missionGroups = []; + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; + +//_chancePara = GMS_chanceParaGreen; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Green"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/fieldHospital.sqf b/@GMS/addons/GMS/Missions/Green/fieldHospital.sqf new file mode 100644 index 0000000..3f36c3e --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/fieldHospital.sqf @@ -0,0 +1,103 @@ +/* + Mission Template by Ghostrider-DbD- + Mission Compositions by Bill prepared for DBD Clan + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An enemy research center was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Sector at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Research Center"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AltisColonial_F",[12.9492,-14.2676,0],0,[false,false]], + ["Land_Research_HQ_F",[-40.4258,-57.4492,-7.15256e-007],0,[true,false]], + ["Land_Research_HQ_F",[79.9063,68.1406,2.38419e-007],0,[true,false]], + ["Land_Research_house_V1_F",[-27.6895,70.9883,0],0,[true,false]], + ["Land_Research_house_V1_F",[-110.166,14.3926,0],0,[true,false]], + ["Land_Research_house_V1_F",[54.5078,-70.8457,0],0,[true,false]], + ["Land_Cargo_House_V1_F",[111.865,11.9375,9.53674e-007],0,[true,false]], + ["Land_Cargo_HQ_V2_F",[-115.473,-44.5977,-4.76837e-007],0,[true,false]], + ["Land_SharpRock_apart",[-59.6836,-59.5996,-4.76837e-007],0,[false,false]], + ["Land_W_sharpRock_apart",[-81.6973,-42.4082,-4.76837e-007],0,[false,false]], + ["Land_SharpRock_apart",[-96.2168,-5.32031,4.76837e-007],0,[false,false]], + ["Land_Limestone_01_apart_F",[-79.2305,43.4219,0],0,[false,false]], + ["Land_Limestone_01_apart_F",[-50.2344,82.4746,0],0,[false,false]], + ["Land_BluntRock_apart",[3.88281,-71.5488,-2.38419e-007],0,[false,false]], + ["Land_Limestone_01_apart_F",[35.8926,-77.5918,0],0,[false,false]], + ["Land_Limestone_01_apart_F",[78.541,-52.3926,-4.76837e-007],0,[false,false]], + ["Land_Limestone_01_apart_F",[103.91,-6.88867,0],0,[false,false]], + ["Land_BluntRock_apart",[-11.5586,93.9688,-2.38419e-007],0,[false,false]], + ["Land_W_sharpStone_02",[54.7344,96.7012,0],0,[false,false]], + ["Land_BluntRock_apart",[77.4453,88.8301,-2.38419e-007],0,[false,false]], + ["Land_SharpRock_apart",[104.758,45.668,0],0,[false,false]], + ["Land_Limestone_01_02_F",[99.5117,23.752,-4.76837e-007],0,[false,false]], + ["Land_Limestone_01_02_F",[49.8477,50.0039,0],0,[false,false]], + ["Land_Limestone_01_02_F",[-8.14844,32.2227,4.76837e-007],0,[false,false]], + ["Land_Limestone_01_02_F",[-35.334,35.1465,-2.38419e-007],0,[false,false]], + ["Land_SharpStone_02",[-28.6523,1.33398,4.76837e-007],0,[false,false]], + ["Land_SharpStone_02",[-58.707,-7.46094,-4.76837e-007],0,[false,false]], + ["Land_Limestone_01_02_F",[64.5078,31.9707,0],0,[false,false]], + ["Land_Limestone_01_02_F",[33.7246,11.5469,0],0,[false,false]], + ["Land_SharpStone_02",[69.4277,-3.20313,0],0,[false,false]], + ["Land_SharpStone_02",[53.7227,-40.1777,-2.38419e-007],0,[false,false]], + ["Land_Limestone_01_02_F",[-6.26563,-46.0996,-4.76837e-007],0,[false,false]] +]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = + [ + ["B_HMG_01_high_F",[31.7266,-34.6699,-4.76837e-007],0,[true,false]], + ["B_HMG_01_high_F",[-24.5781,-33.8281,-3.1268],0,[true,false]], + ["B_G_Mortar_01_F",[76.1836,65.9492,-3.1265],0,[true,false]] + ]; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used + +_missionGroups = + [ + //_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"]; + [[-52.6523,15.8281,-0.00143838],4,6,"Green",4,8], + [[-48.6113,-38.877,-0.00143886],4,6,"Green",4,8], + [[18.4492,-39.5684,-0.00143838],4,6,"Green",4,8], + [[42.6504,31.6621,-0.00143886],4,6,"Green",4,8], + [[7.51563,46.4531,-0.001438864],4,6,"Green",4,8], + [[-8.99219,-11.623,-0.00143838],4,6,"Green",4,8] + ]; // Can be used to define spawn positions of AI patrols + +_missionPatrolVehicles = [ + //[selectRandom GMS_AIPatrolVehiclesGreen,[27.8945,100.275,0],0,[true,false]], + //[selectRandom GMS_AIPatrolVehiclesGreen,[-84.7793,72.2617,9.53674e-007],0,[true,false]], + [selectRandom GMS_AIPatrolVehiclesGreen,[-87.8457,-109.947,7.15256e-007],0,[true,false]] +]; // can be used to define the spawn positions of vehicle patrols + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +//_chanceLoot = 1; //0.6; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/fieldHospital2.sqf b/@GMS/addons/GMS/Missions/Green/fieldHospital2.sqf new file mode 100644 index 0000000..7812223 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/fieldHospital2.sqf @@ -0,0 +1,74 @@ +/* + Mission Template by Ghostrider-DbD- + Mission Compositions by Bill prepared for DBD Clan + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An enemy field hospital was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Sector at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Field Hospital"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Land_Medevac_HQ_V1_F",[-28.7168,-6.5918,2.38419e-007],0,[true,true]], + ["Land_Medevac_HQ_V1_F",[0.283203,19.4082,2.38419e-007],0,[true,true]], + ["Flag_AAF_F",[-4,-4,0],0,[false,false]], + ["Land_Cargo10_yellow_F",[3.2832,-16.5918,0],0,[false,false]], + ["Land_Cliff_stoneCluster_F",[-28.7168,6.4082,0],0,[false,false]], + ["Land_SharpStones_erosion",[-19.7168,-19.5918,0],0,[false,false]], + ["Land_W_sharpStones_erosion",[-13.7168,6.4082,0],0,[false,false]], + ["Land_BluntStones_erosion",[-5.7168,-12.5918,0],0,[false,false]], + ["Land_SharpRock_apart",[16.2832,24.4082,0],0,[false,false]], + ["Land_W_sharpRock_apart",[-21.7168,29.4082,0],0,[false,false]], + ["Land_BluntRock_apart",[-11.7168,-26.5918,-2.38419e-007],0,[false,false]], + ["Land_SharpRock_apart",[48.2832,-10.5918,0],0,[false,false]], + ["Land_SharpRock_apart",[-43.7168,6.4082,0],0,[false,false]], + ["Land_W_sharpRock_apart",[-38.7168,-20.5918,0],0,[false,false]], + ["Land_BluntRock_apart",[52.2832,16.4082,-2.38419e-007],0,[false,false]], + ["Land_SharpRock_apart",[27.2832,-34.5918,0],0,[false,false]], + ["Land_W_sharpRock_apart",[-45.7168,28.4082,0],0,[false,false]], + ["Land_StoneSharp_small",[-1.7168,44.4082,0],0,[false,false]], + ["Land_FieldToilet_F",[-13.7168,21.4082,0],0,[false,false]], + ["Land_Pallets_F",[10.2832,-4.5918,0],0,[false,false]], + ["Land_Pallets_F",[19.2832,6.4082,0],0,[false,false]], + ["Land_Pallets_stack_F",[10.2832,-13.5918,0],0,[false,false]], + ["Land_Cargo_House_V3_F",[24.2832,-1.5918,0],0,[true,true]], + ["Land_Cargo_House_V3_F",[24.2832,-17.5918,0],0,[true,true]], + ["Land_StoneSharp_small",[10.2988,-30.9434,0],0,[false,false]], + ["Land_Medevac_HQ_V1_F",[37.2832,6.4082,2.38419e-007],0,[true,true]] +]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +//_chanceLoot = 1; //0.6; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/forgotten_HQ.sqf b/@GMS/addons/GMS/Missions/Green/forgotten_HQ.sqf new file mode 100644 index 0000000..f80f48b --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/forgotten_HQ.sqf @@ -0,0 +1,206 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "A Forgotten HQ was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Forgotten HQ at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[225,225],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Forgotten"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V2_F",[-16.0361,-36.5635,-0.00143862],0,true,true,[["O_G_HMG_02_high_F",[1.07422,-1.17676,4.38749],183.214]],[]], + ["Land_Cargo_Patrol_V2_F",[1.44385,-36.4934,-0.00143862],0,true,true,[["O_G_HMG_02_high_F",[-1.49438,-1.08521,4.38749],183.771]],[]], + ["Land_Cargo_HQ_V2_F",[-20.6721,-8.55249,-0.00143862],180,true,true,[["O_G_HMG_02_high_F",[-4.84253,-3.34399,3.16997],0.00630354]],[]], + ["Land_Cargo_Tower_V2_F",[-16.9631,-26.0334,-0.00143909],180,true,true,[["O_G_HMG_02_high_F",[-4.54858,0.758057,17.9329],0.00661736],["O_G_HMG_02_high_F",[3.65967,3.33838,17.9329],0.000690221]],[]], + ["Land_Cargo_HQ_V2_F",[7.14893,2.62769,-0.00143862],270.279,true,true,[["O_G_HMG_02_high_F",[-0.843506,5.84277,3.16996],0.00567617]],[]] +]; + + +_missionLandscape = [ + ["Land_CncWall4_F",[-32.4219,-12.8027,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-32.4495,-2.36279,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-32.4219,-7.55273,-0.00143909],90,true,true], + ["Land_CncWall1_F",[-32.4219,-16.0527,-0.00143909],90,true,true], + ["Land_CncWall1_F",[-32.1719,-17.3027,-0.00143909],60,true,true], + ["Land_CncWall4_F",[-17.2,-37.5388,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-19.45,-35.2888,-0.00143909],90,true,true], + ["Land_CncWall1_F",[-13.95,-37.2888,-0.00143909],345,true,true], + ["Land_CncWall1_F",[-0.469971,-37.123,-0.00143909],15,true,true], + ["Land_CncWall1_F",[-1.70728,-36.5938,-0.00143909],30,true,true], + ["Land_CncWall1_F",[-12.7,-36.7888,-0.00143909],330,true,true], + ["Land_Mil_WiredFence_Gate_F",[-7.18335,-36.4424,-0.00143909],0,true,true], + ["Land_LampShabby_F",[-2.78442,-36.3179,-0.00143909],267.423,true,true], + ["Land_LampShabby_F",[-11.5483,-36.9063,-0.00143909],96.8408,true,true], + ["Land_Razorwire_F",[-15.4663,-50.6616,-0.00143909],0,true,true], + ["Land_Garbage_square5_F",[-5.48242,-33.7585,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_Dam_F",[-23.4219,-33.3027,0.0484428],90,true,true], + ["Oil_Spill_F",[-0.250732,-46.9929,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[-18.6699,-48.1602,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[-8.92188,-48.0527,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[-23.377,-43.2129,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-10.9219,-12.4277,-0.00143909],270,true,true], + ["Land_CncWall4_F",[-10.9219,-7.17773,-0.00143909],270,true,true], + ["Land_CncWall4_F",[-23.9219,-17.8027,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-19.0479,-28.729,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-18.5469,-17.8027,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-29.2969,-17.8027,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-19.0479,-23.479,-0.00143909],90,true,true], + ["Land_CncWall1_F",[-12.0469,-16.5527,-0.00143909],315,true,true], + ["Land_CncWall1_F",[-13.0469,-17.1777,-0.00143909],345,true,true], + ["Land_CncWall1_F",[-11.2969,-15.5527,-0.00143909],300,true,true], + ["Land_CncWall1_F",[-18.7979,-20.229,-0.00143909],105,true,true], + ["Land_CncWall1_F",[-19.2,-32.0388,-0.00143909],105,true,true], + ["Land_CncWall1_F",[-1.87036,-6.15894,-0.00143909],76.1339,true,true], + ["Land_CncWall1_F",[-18.2979,-18.979,-0.00143909],120,true,true], + ["Land_CncWall1_F",[-0.776123,-8.00391,-0.00143909],44.3183,true,true], + ["Land_CncWall1_F",[-1.98975,-5.05225,-0.00143909],89.3183,true,true], + ["Land_CncWall1_F",[-10.9346,-1.3584,-0.00143909],254.791,true,true], + ["Land_CncWall1_F",[-1.50586,-7.08521,-0.00143909],59.3183,true,true], + ["Land_LampShabby_F",[-12.0967,-15.9277,-0.00143909],304.187,true,true], + ["Land_CncShelter_F",[-5.76489,-3.25,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-2.69824,-3.26221,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-10.3674,-3.21143,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-7.29834,-3.24414,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-8.83398,-3.21729,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-4.23169,-3.25635,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-14.8062,-17.8242,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[-23.4219,-23.3027,-0.00143909],90,true,true], + ["Land_Garbage_line_F",[-6.69629,-14.0273,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-2.08496,5.92285,-0.00143909],90.2789,true,true], + ["Land_CncWall4_F",[-24.9495,-0.112793,-0.00143909],180,true,true], + ["Land_CncWall4_F",[-2.11108,0.548096,-0.00143909],90.2789,true,true], + ["Land_CncWall4_F",[-19.6995,-0.112793,-0.00143909],180,true,true], + ["Land_CncWall4_F",[-2.05884,11.2979,-0.00143909],90.2789,true,true], + ["Land_CncWall4_F",[-30.1995,-0.112793,-0.00143909],180,true,true], + ["Land_CncWall4_F",[-14.4768,-0.108398,-0.00143909],180,true,true], + ["Land_CncWall1_F",[-0.293457,14.4143,-0.00143909],180.279,true,true], + ["Land_CncWall1_F",[-11.5137,-0.462158,-0.00143909],218.676,true,true], + ["Land_CncWall1_F",[-1.54468,14.1704,-0.00143909],150.279,true,true], + ["Land_CncWall4_F",[2.78003,-37.373,-0.00143909],0,true,true], + ["Land_CncWall4_F",[5.15894,-34.9495,-0.00143909],270,true,true], + ["Land_New_WiredFence_5m_F",[18.6162,-49.2598,-0.00143909],180,true,true], + ["Land_Mil_WiredFence_Gate_F",[1.02295,-48.2319,-0.00143909],0,true,true], + ["Land_Razorwire_F",[14.8767,-50.5405,-0.0014348],0,true,true], + ["Land_Garbage_square5_F",[3.02661,-41.5759,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[22.4329,-43.2773,-0.00143766],90,true,true], + ["Land_New_WiredFence_10m_F",[20.8657,-33.5273,-0.00143909],270,true,true], + ["Land_New_WiredFence_10m_F",[11.0781,-47.8027,-0.00143909],0,true,true], + ["Land_CncWall4_F",[15.5647,-3.63062,-0.00143909],270.279,true,true], + ["Land_CncWall4_F",[12.5393,-8.48145,-0.00143909],0.278918,true,true], + ["Land_CncWall4_F",[2.11768,-8.40479,-0.00143909],0.278918,true,true], + ["Land_CncWall4_F",[7.28931,-8.45581,-0.00143909],0.278918,true,true], + ["Land_CncWall4_F",[5.1084,-19.2168,-0.00143909],270,true,true], + ["Land_CncWall4_F",[5.07373,-13.9578,-0.00143909],270,true,true], + ["Land_CncWall4_F",[5.14282,-29.6782,-0.00143909],270,true,true], + ["Land_CncWall4_F",[5.11499,-24.4495,-0.00143909],270,true,true], + ["Land_CncWall1_F",[15.2651,-8.03906,-0.00143909],300.801,true,true], + ["Land_CncWall1_F",[15.5632,-6.90161,-0.00143909],270.801,true,true], + ["Land_HelipadSquare_F",[14.0413,-24.9829,-0.00143909],0,true,true], + ["Land_New_WiredFence_5m_F",[18.8281,-8.80273,-0.00143909],180,true,true], + ["Land_LampShabby_F",[14.521,-6.92456,-0.00143909],315,true,true], + ["Land_CncShelter_F",[4.83472,-10.1133,-0.00143909],90.2789,true,true], + ["Land_GarbageBags_F",[2.49902,-16.0364,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[20.8281,-23.5527,-0.00143909],270,true,true], + ["Land_New_WiredFence_10m_F",[20.8281,-13.5527,-0.00143909],270,true,true], + ["Land_Wreck_Heli_Attack_02_F",[13.4341,-23.897,-0.00143909],0,true,true], + ["Land_CncWall4_F",[15.6953,12.0864,-0.00143909],270.279,true,true], + ["Land_CncWall4_F",[13.4563,14.3474,-0.00143909],180.279,true,true], + ["Land_CncWall4_F",[15.6443,1.58667,-0.00143909],270.279,true,true], + ["Land_CncWall4_F",[8.2063,14.3728,-0.00143909],180.279,true,true], + ["Land_CncWall4_F",[15.6697,6.83643,-0.00143909],270.279,true,true], + ["Land_CncWall4_F",[2.9563,14.3984,-0.00143909],180.279,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + // ["O_G_Offroad_01_armed_F",[-10.8826,-67.0554,0.00841188],85.3805], + //["O_G_Offroad_01_armed_F",[-7.25098,-35.3657,0.00811148],357.094] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + +]; + +_missionGroups = [ + //[[-10.0691,-41.8555,0],3,6,"Red",30,45], + //[[-1.13232,-24.1541,0],3,6,"Red",30,45], + //[[-9.49146,-26.8044,0],3,6,"Red",30,45], + //[[12.8374,-37.3408,0],3,6,"Red",30,45] +]; + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +//_chancePara = 0.75; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Green"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. + +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal Green mission. + +_spawnCratesTiming = "atMissionSpawnAir"; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir". + // Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute. + // This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission. +_loadCratesTiming = GMS_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn"; + // Pertains only to crates spawned at mission spawn. + // This sets the default but can be overridden for specific missions by defining _loadCratesTiming + + // Examples: + // To spawn crates at mission start loaded with gear set GMS_spawnCratesTiming = "atMissionSpawnGround" && GMS_loadCratesTiming = "atMissionSpawn" + // To spawn crates at mission start but load gear only after the mission is completed set GMS_spawnCratesTiming = "atMissionSpawnGround" && GMS_loadCratesTiming = "atMissionCompletion" + // To spawn crates on the ground at mission completion set GMS_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned. + // To spawn crates in the air and drop them by chutes set GMS_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/fortification.sqf b/@GMS/addons/GMS/Missions/Green/fortification.sqf new file mode 100644 index 0000000..e844ca8 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/fortification.sqf @@ -0,0 +1,189 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An enemy fortification was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Sector at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Fortification"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V1_F",[4.47693,-36.1753,-0.00143862],0,true,true,[["B_HMG_01_high_F",[1.09753,-0.78125,4.33092],182.337],["B_HMG_01_high_F",[-8.18188,3.96289,-0.0121179],270.389],["B_HMG_01_high_F",[11.7308,-7.875,-0.0121193],181.165]],[]], + ["Land_Cargo_Tower_V1_F",[6.56189,-19.98,-0.00143909],180,true,true,[["B_HMG_01_high_F",[12.7545,4.6084,-0.0121183],225.183],["B_HMG_01_high_F",[-4.78821,0.935547,17.8764],270.571],["B_HMG_01_high_F",[3.17285,4.91357,17.7788],0.00164279]],[]], + ["Land_Cargo_HQ_V1_F",[2.97693,0.074707,-0.00143862],180,true,true,[["B_HMG_01_high_F",[-5.3407,0.772461,3.1134],181.165]],[]], + ["Land_Cargo_Patrol_V1_F",[41.4769,-36.1753,-0.00143862],0,true,true,[["B_HMG_01_high_F",[1.27466,-0.849121,4.33092],181.165],["B_HMG_01_high_F",[-7.82532,-8.49463,-0.0121193],181.165]],[]] +]; + +_missionLandscape = [ + ["Land_CncWall4_F",[-8.77258,1.07471,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-8.77258,-4.17529,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-8.77258,6.32471,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-6.52258,8.57471,-0.00143909],180,true,true], + ["Land_CncWall1_F",[-8.77258,-7.42529,-0.00143909],90,true,true], + ["Land_CncWall1_F",[-8.52258,-8.67529,-0.00143909],60,true,true], + ["Land_New_WiredFence_10m_F",[-9.77258,-4.92529,-0.00143909],90,true,true], + ["Land_New_WiredFence_10m_F",[-9.77258,5.07471,-0.00143909],90,true,true], + ["Land_LampShabby_F",[19.8737,-40.29,-0.00143909],149.832,true,true], + ["Land_BagFence_Round_F",[-4.80505,-33.3926,-0.00143909],45.9826,true,true], + ["Land_BagFence_Round_F",[14.8495,-44.9292,-0.00143909],45,true,true], + ["Land_BagFence_Round_F",[-4.76855,-31.2666,-0.00143909],135.983,true,true], + ["Land_BagFence_Round_F",[14.599,-41.1792,-0.00143909],120,true,true], + ["Land_BagFence_Long_F",[11.2294,-22.6245,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[12.6,-24.3042,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[11.224,-25.6792,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[-2.69324,-34.1782,-0.00143909],180.983,true,true], + ["Land_BagFence_Long_F",[17.1,-45.6792,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[18.4745,-44.1792,-0.00143909],90,true,true], + ["Land_CncBarrier_F",[19.975,-35.6792,-0.00143909],270,true,true], + ["Land_PortableLight_double_F",[7.0155,-26.8413,-0.00143909],270,true,true], + ["Land_CncWall4_F",[4.47742,-22.6753,-0.00143909],90,true,true], + ["Land_CncWall4_F",[1.22742,-35.1753,-0.00143909],90,true,true], + ["Land_CncWall4_F",[3.47742,-37.4253,-0.00143909],0,true,true], + ["Land_CncWall1_F",[1.47742,-31.9253,-0.00143909],105,true,true], + ["Land_CncWall1_F",[7.97742,-36.6753,-0.00143909],330,true,true], + ["Land_CncWall1_F",[6.72742,-37.1753,-0.00143909],345,true,true], + ["Land_CncWall1_F",[5.31714,-26.9092,-0.00143909],75,true,true], + ["Land_CncWall1_F",[4.80066,-25.6685,-0.00143909],60,true,true], + ["Land_BagFence_End_F",[15.9755,-40.3042,-0.00143909],0,true,true], + ["Land_BagFence_End_F",[-1.75403,-30.4434,-0.00143909],330.983,true,true], + ["Land_BagFence_End_F",[18.8319,-42.6753,-0.00143909],330,true,true], + ["Land_BagFence_End_F",[-0.797119,-32.9614,-0.00143909],300.983,true,true], + ["Land_New_WiredFence_10m_F",[4.97937,-39.5308,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[14.7274,-39.4253,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[0.272339,-34.5835,-0.00143909],90,true,true], + ["Land_BagFence_Corner_F",[-1.31201,-33.8271,-0.00143909],90.9826,true,true], + ["Land_BarGate_F",[24.7274,-41.9253,-0.00143909],0,true,true], + ["Land_Mil_WiredFence_Gate_F",[24.7274,-39.6675,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_Dam_F",[0.227417,-24.6753,-0.00143909],90,true,true], + ["Land_BagFence_Short_F",[-2.88318,-30.6743,-0.00143909],180.983,true,true], + ["Land_BagFence_Short_F",[14.224,-43.0542,-0.00143909],270,true,true], + ["Land_Mil_WallBig_4m_F",[25.6038,-18.8174,-0.00143909],270,true,true], + ["Land_BagFence_Round_F",[18.3368,-16.3926,-0.00143909],45,true,true], + ["Land_BagFence_Long_F",[11.349,-18.1792,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[12.7245,-16.8042,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[11.349,-15.4312,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[20.8373,-17.0176,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-0.272583,-9.17529,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-5.64758,-9.17529,-0.00143909],0,true,true], + ["Land_CncWall4_F",[5.10242,-9.17529,-0.00143909],0,true,true], + ["Land_CncWall4_F",[3.97742,8.57471,-0.00143909],180,true,true], + ["Land_CncWall4_F",[4.47742,-17.4253,-0.00143909],90,true,true], + ["Land_CncWall4_F",[8.72742,7.19971,-0.00143909],210,true,true], + ["Land_CncWall4_F",[-1.27258,8.57471,-0.00143909],180,true,true], + ["Land_CncWall4_F",[4.48242,-12.2109,-0.00143909],90,true,true], + ["Land_CncWall4_F",[12.7274,-3.80029,-0.00143909],270,true,true], + ["Land_CncWall4_F",[12.7274,1.44971,-0.00143909],270,true,true], + ["Land_CncWall1_F",[11.6024,-7.92529,-0.00143909],315,true,true], + ["Land_CncWall1_F",[11.6024,5.44971,-0.00143909],210,true,true], + ["Land_CncWall1_F",[12.4774,4.57471,-0.00143909],240,true,true], + ["Land_CncWall1_F",[10.6024,-8.55029,-0.00143909],345,true,true], + ["Land_CncWall1_F",[12.3524,-6.92529,-0.00143909],300,true,true], + ["Land_New_WiredFence_10m_F",[14.9774,9.57471,-0.00143909],180,true,true], + ["Land_New_WiredFence_10m_F",[4.97742,9.57471,-0.00143909],180,true,true], + ["Land_New_WiredFence_10m_F",[-5.27258,-9.42529,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[-5.02258,9.57471,-0.00143909],180,true,true], + ["Land_New_WiredFence_10m_F",[0.227417,-14.6753,-0.00143909],90,true,true], + ["Land_CncShelter_F",[8.84314,-9.19678,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_Dam_F",[24.9774,-0.050293,-0.00143909],180,true,true], + ["Land_New_WiredFence_10m_Dam_F",[19.7274,5.07471,-0.00143909],270,true,true], + ["Land_BagFence_Short_F",[17.7123,-14.3945,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[23.4019,-2.35938,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[17.7269,-11.4253,-0.00143909],270,true,true], + ["Land_Mil_WallBig_4m_F",[19.2269,-6.17529,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[20.0457,-13.5703,-0.00143909],180,true,true], + ["Land_Mil_WallBig_4m_F",[21.1479,-4.53125,-0.00143909],270,true,true], + ["Land_LampShabby_F",[29.5619,-40.2676,-0.00143909],210,true,true], + ["Land_LampShabby_F",[40.4146,-21.3286,-0.00143909],326.67,true,true], + ["Land_BagFence_Round_F",[34.9688,-45.8774,-0.00143909],315,true,true], + ["Land_BagFence_Round_F",[32.8423,-45.8774,-0.00143909],45,true,true], + ["Land_BagFence_Long_F",[35.7183,-43.7524,-0.00143909],90,true,true], + ["Land_CncBarrier_F",[29.725,-35.5542,-0.00143909],270,true,true], + ["Land_CncWall4_F",[41.7274,-38.6753,-0.00143909],0,true,true], + ["Land_CncWall4_F",[43.9774,-36.4253,-0.00143909],270,true,true], + ["Land_CncWall1_F",[38.4774,-38.4253,-0.00143909],15,true,true], + ["Land_CncWall1_F",[37.2401,-37.894,-0.00143909],30,true,true], + ["Land_CncWall1_F",[43.7274,-33.1753,-0.00143909],255,true,true], + ["Land_BagFence_End_F",[34.4688,-41.8774,-0.00143909],210,true,true], + ["Land_BagFence_End_F",[31.9678,-42.8774,-0.00143909],240,true,true], + ["Land_New_WiredFence_10m_F",[44.515,-24.8999,-0.00143909],270,true,true], + ["Land_New_WiredFence_10m_F",[34.7274,-39.1753,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[44.515,-34.6499,-0.00143909],270,true,true], + ["Land_BagFence_Corner_F",[35.3433,-42.3774,-0.00143909],0,true,true], + ["Land_New_WiredFence_5m_F",[42.2655,-39.1499,-0.00143909],0,true,true], + ["Land_BagFence_Short_F",[32.2178,-44.0024,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[39.1169,-22.2583,-0.00143909],180,true,true], + ["Land_Mil_WallBig_4m_F",[31.9081,-20.9619,-0.00143909],180,true,true], + ["Land_Mil_WallBig_4m_F",[41.4412,-20.3794,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[27.9435,-20.9658,-0.00143909],180,true,true], + ["Land_Cargo_HQ_V1_F",[33.7463,-12.4639,-0.00143862],271.492,true,true], + ["Land_New_WiredFence_10m_F",[44.4774,-4.92529,-0.00143909],270,true,true], + ["Land_New_WiredFence_10m_F",[44.4774,-14.9253,-0.00143909],270,true,true], + ["Land_New_WiredFence_10m_F",[34.9774,-0.175293,-0.00143909],180,true,true], + ["Land_New_WiredFence_5m_F",[42.4774,-0.175293,-0.00143909],180,true,true], + ["Land_Mil_WallBig_4m_F",[31.3369,-2.34375,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[41.4467,-8.47168,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[41.4458,-12.4146,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[41.4386,-16.4019,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[35.2737,-2.33789,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[41.4539,-4.48438,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[39.1295,-2.32617,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[27.3386,-2.35352,-0.00143909],0,true,true] +]; +_missionLootBoxes = [ + ["B_supplyCrate_F",[24.7274,-41.9253,-0.00143909],_crateLoot,_lootCounts,0.000320471] +]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehiclesGreen,[21.4174,19.0781,0.00804281],90.3115], + [selectRandom GMS_AIPatrolVehiclesGreen,[27.5131,-53.1431,0.00819397],268.528] +]; + +_submarinePatrolParameters = []; + +_airPatrols = []; + +_missionEmplacedWeapons = [ + +]; + +_missionGroups = [ + +]; + +_scubaGroupParameters = []; + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +//_chanceLoot = 0.6; +//private _lootIndex = selectRandom[1,2,3,4]; +//private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +//private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +//_paraLoot = _paralootChoices select _lootIndex; +//_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/hotelAttack.sqf b/@GMS/addons/GMS/Missions/Green/hotelAttack.sqf new file mode 100644 index 0000000..5827a20 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/hotelAttack.sqf @@ -0,0 +1,103 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepaGreen for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "A hotel complex is under attack in a nearby sector! Check the marker on your map for the location!"; +_endMsg = "The hotel is under survivor control!"; + +_markerMissionName = "Hotel"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_markerType = ["ELLIPSE",[150,150],"GRID"]; +_markerColor = "ColorGreen"; +_markerLabel = ""; +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Medevac_HQ_V1_F",[-16.6167,-29.1909,-0.00143862],88.3428,true,true,[["B_static_AT_F",[1.92334,-3.27051,3.13248],359.978],["B_HMG_01_high_F",[2.85205,3.021,3.1134],0.00635188],["B_HMG_01_high_F",[-3.04346,14.7256,-0.0121188],359.999]],[]], + ["Land_Medevac_HQ_V1_F",[-28.3364,4.83105,-0.00143862],179.265,true,true,[["B_static_AT_F",[2.46729,2.63037,3.13029],0.00302021],["B_static_AA_F",[-4.58252,-5.3125,3.09565],359.913],["B_HMG_01_high_F",[8.06445,5.71777,-0.0121174],0.000288916]],[]], + ["Land_Medevac_HQ_V1_F",[-28.5654,-13.8145,-0.00143862],180.522,true,true,[["B_static_AA_F",[0.84375,0.514648,3.13029],0.00155312]],[]], + ["Land_Offices_01_V1_F",[21.9434,8.91309,-0.00143862],89.7745,true,true,[["B_HMG_01_high_F",[-0.734863,-10.6768,0.904902],270.432],["B_HMG_01_high_F",[-23.2124,-0.51416,-0.0121188],359.998],["B_HMG_01_high_F",[-6.39355,-11.7041,17.8387],268.028]],[]], + ["Land_Medevac_HQ_V1_F",[-6.55811,18.0376,-0.00143862],270.427,true,true,[["B_static_AA_F",[-1.88379,-1.97852,3.13029],0.00153846],["B_HMG_01_high_F",[3.25391,-1.45215,3.1134],360],["B_HMG_01_high_F",[-3.7041,5.09375,3.11697],359.998]],[]] +]; + +_missionLandscape = [ + ["Land_Medevac_house_V1_F",[-18.3271,19.3198,-0.00143862],0,true,true], + ["Land_MedicalTent_01_digital_closed_F",[15.2534,-23.0718,-0.00143862],91.0785,true,true], + ["Land_Medevac_house_V1_F",[-4.98486,-31.6157,-0.00143862],179.987,true,true], + ["Land_Medevac_house_V1_F",[3.31152,-31.9941,-0.00143862],180.296,true,true], + ["Land_PhoneBooth_02_F",[13.0166,4.56494,-0.00143862],88.942,true,true], + ["Land_TreeBin_F",[10.8608,6.75049,-0.00143862],0,true,true], + ["Land_MedicalTent_01_digital_closed_F",[15.7261,-12.5034,-0.00143862],89.6654,true,true], + ["Land_dp_transformer_F",[16.1001,18.46,18.5181],0.287473,true,true] +]; + +_missionLootBoxes = [ + ["B_supplyCrate_F",[-11.3999,-6.08643,-0.00144053],_crateLoot,_lootCounts,0.00167282], + ["Box_NATO_Equip_F",[-10.7598,-8.19092,-0.00143862],_crateLoot,_lootCounts,360] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + + #ifdef GMS_milServer + ["B_HMG_01_high_F",[-20.272,10.5488,-0.013556],0.000288916], + ["B_HMG_01_high_F",[-19.6602,-14.4653,-0.0135574],359.999], + ["B_HMG_01_high_F",[-1.26904,8.39893,-0.0135574],359.998], + ["B_Radar_System_01_F",[-5.94189,-6.08398,-0.0288944],265.977] + #else + [selectRandom GMS_staticWeapons,[-20.272,10.5488,-0.013556],0.000288916], + [selectRandom GMS_staticWeapons,[-19.6602,-14.4653,-0.0135574],359.999], + [selectRandom GMS_staticWeapons,[-1.26904,8.39893,-0.0135574],359.998], + [selectRandom GMS_staticWeapons,[-5.94189,-6.08398,-0.0288944],265.977] + #endif +]; + +_missionGroups = [ + //[[-20.4487,-1.36377,4.76837e-007],3,6,"Green",30,45], + //[[5.51904,-2.09229,4.76837e-007],3,6,"Green",30,45], + //[[-8.24609,-10.6689,4.76837e-007],3,6,"Green",30,45] +]; + +_scubaGroupParameters = [ +]; +////////// +// The lines below define additional variables you may wish to configure. + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_useMines = GMS_useMines; // Setting this in the mission file overrides the defaults + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/lager.sqf b/@GMS/addons/GMS/Missions/Green/lager.sqf new file mode 100644 index 0000000..4c0eb80 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/lager.sqf @@ -0,0 +1,182 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An enemy Camp was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Camp at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Nachschublager"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Tower_V1_F",[-8.1167,-39.0396,-0.00143862],180.738,true,true,[["O_HMG_01_high_F",[-4.98901,13.312,-0.0121193],359.999],["O_HMG_01_high_F",[-4.88916,0.893799,17.8798],359.999],["O_GMG_01_high_F",[2.86377,5.15186,17.7791],0.00110346],["O_GMG_01_high_F",[3.12354,-4.59814,17.8788],0.00619121],["O_HMG_01_high_F",[8.82837,21.6572,-0.0121193],359.999],["O_GMG_01_high_F",[-3.55591,26.4539,-0.0118098],360]],[]], + ["Land_Cargo_Tower_V1_F",[-8.7854,37.2058,-0.00143862],180.738,true,true,[["O_HMG_01_high_F",[-4.1167,-15.228,-0.0121188],359.999],["O_GMG_01_high_F",[-5.05029,0.812012,17.8801],359.999],["O_HMG_01_high_F",[2.97925,4.90308,17.7791],359.995],["O_HMG_01_high_F",[3.02808,-5.19946,17.8776],359.987],["O_HMG_01_high_F",[9.59595,-22.2854,-0.0121188],359.999],["O_GMG_01_high_F",[-1.95337,-25.9678,-0.0118098],360]],[]], + ["Land_Cargo_HQ_V1_F",[41.5171,-35.4209,-0.00143814],88.7297,true,true,[["O_HMG_01_high_F",[-4.19043,0.419922,3.1134],360],["O_GMG_01_high_F",[1.2395,-6.33594,3.11891],359.998]],[]], + ["Land_Cargo_HQ_V1_F",[41.6394,35.6191,-0.00143814],271.277,true,true,[["O_HMG_01_high_F",[1.75781,6.54565,3.11813],359.998]],[]], + ["Land_Cargo_Patrol_V1_F",[58.7402,-14.1282,-0.00143814],179.058,true,true,[["O_HMG_01_high_F",[0.936523,-0.546631,4.55561],186.318],["O_HMG_01_high_F",[-8.49658,3.90869,-0.0121207],0.00101132]],[]], + ["Land_Cargo_Patrol_V1_F",[58.6057,14.2329,-0.00143814],359.375,true,true,[["O_GMG_01_high_F",[1.16113,-1.15356,4.33123],360],["O_HMG_01_high_F",[-8.44897,-1.0686,-0.0121198],359.999]],[]] +]; + +_missionLandscape = [ + //["babe_helper",[-3950.48,-2427.52,-0.00143862],0,true,true], + //["Sign_Arrow_Green_F",[-3947.98,-2428.02,-0.00143862],0,true,true], + //["Sign_Arrow_F",[-3947.98,-2428.02,-0.00143862],0,true,true], + //["Sign_Arrow_Yellow_F",[-3947.98,-2428.02,-0.00143862],0,true,true], + ["Land_LampHalogen_F",[-16.9238,-29.4194,-0.00143814],175.993,true,true], + ["Land_HBarrierBig_F",[-16.6211,-36.4802,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-16.6907,-44.7676,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-16.8193,-28.7813,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-17.0107,-4.99146,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-16.8831,-20.9722,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-16.813,-12.6887,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-16.9338,3.10571,-0.00143862],271.533,true,true], + ["Land_LampHalogen_F",[-17.1384,26.0154,-0.00143814],175.993,true,true], + ["Land_HBarrierBig_F",[-17.126,26.9011,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-17.0623,19.092,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-16.8643,11.3931,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-17.0559,35.1846,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-17.2517,42.8821,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[10.6238,-49.76,-0.00143862],1.58276,true,true], + ["Land_HBarrierBig_F",[4.90186,-29.2209,-0.00143862],181.755,true,true], + ["Land_HBarrierBig_F",[2.92627,-49.9541,-0.00143862],1.58276,true,true], + ["Land_HBarrierBig_F",[-3.42188,-29.1743,-0.00143862],181.755,true,true], + ["Land_HBarrierBig_F",[-5.36133,-49.8767,-0.00143862],1.58276,true,true], + ["Land_HBarrierBig_F",[-13.5088,-49.9219,-0.00143862],1.58276,true,true], + ["Land_HBarrierBig_F",[13.3582,-29.1738,-0.00143862],181.755,true,true], + ["Land_HBarrierBig_F",[-11.5808,-29.1753,-0.00143862],181.755,true,true], + ["Land_LampHalogen_F",[6.08081,-17.4399,-0.00143814],183.353,true,true], + ["Land_Cargo_House_V1_F",[5.85425,-11.7749,-0.00143862],178.957,true,true], + ["Land_Cargo_House_V1_F",[12.7263,-11.8384,-0.00143862],180.484,true,true], + ["Land_Cargo_House_V1_F",[6.03076,-23.2114,-0.00143862],0.530105,true,true], + ["Land_Cargo_House_V1_F",[-9.97656,-7.45703,-0.00143862],270.031,true,true], + ["Land_Cargo_House_V1_F",[-9.95679,-0.756836,-0.00143862],270.244,true,true], + ["Land_Cargo_House_V1_F",[12.6707,-23.292,-0.00143862],0.742551,true,true], + ["Land_LampHalogen_F",[4.89917,14.9739,-0.00143814],183.353,true,true], + ["Land_HBarrierBig_F",[3.46533,26.0403,-0.00143862],181.755,true,true], + ["Land_HBarrierBig_F",[-4.86035,26.0867,-0.00143862],181.755,true,true], + ["Land_HBarrierBig_F",[11.9197,26.0874,-0.00143862],181.755,true,true], + ["Land_HBarrierBig_F",[-13.1709,26.1252,-0.00143862],181.755,true,true], + ["Land_Cargo_House_V1_F",[-9.93091,6.11108,-0.00143862],268.716,true,true], + ["Land_Cargo_House_V1_F",[11.5469,20.5737,-0.00143862],180.484,true,true], + ["Land_Cargo_House_V1_F",[11.4912,9.12012,-0.00143862],0.742551,true,true], + ["Land_Cargo_House_V1_F",[4.6748,20.6372,-0.00143862],178.957,true,true], + ["Land_Cargo_House_V1_F",[4.79419,9.20044,-0.00143862],0.530105,true,true], + ["Land_HBarrierBig_F",[-13.959,47.9253,-0.00143862],1.51588,true,true], + ["Land_HBarrierBig_F",[10.1702,48.1106,-0.00143862],1.51588,true,true], + ["Land_HBarrierBig_F",[1.88428,48.1787,-0.00143862],1.51588,true,true], + ["Land_HBarrierBig_F",[-6.26294,48.124,-0.00143862],1.51588,true,true], + ["Land_LampHalogen_F",[37.4138,-49.6885,-0.00143814],86.6613,true,true], + ["Land_HBarrierBig_F",[18.4333,-49.7061,-0.00143862],1.58276,true,true], + ["Land_HBarrierBig_F",[21.7261,-29.1707,-0.00143862],181.755,true,true], + ["Land_HBarrierBig_F",[34.4153,-49.5938,-0.00143862],1.58276,true,true], + ["Land_HBarrierBig_F",[42.5332,-49.4375,-0.00143862],1.58276,true,true], + ["Land_HBarrierBig_F",[26.7168,-49.782,-0.00143862],1.58276,true,true], + ["Land_LampHalogen_F",[24.2969,-4.63354,-0.00143814],175.763,true,true], + ["Land_LampHalogen_F",[24.0779,2.92041,-0.00143814],175.763,true,true], + ["Land_HBarrierBig_F",[24.7175,-16.5247,-0.00143862],270.156,true,true], + ["Land_HBarrierBig_F",[24.5884,-8.51978,-0.00143862],270.156,true,true], + ["Land_HBarrierBig_F",[20.874,3.03345,-0.00143862],181.755,true,true], + ["Land_HBarrierBig_F",[24.8879,-24.3479,-0.00143862],270.156,true,true], + ["Land_HBarrierBig_F",[21.095,-4.52222,-0.00143862],181.755,true,true], + ["Land_Cargo_House_V1_F",[19.4255,-11.8789,-0.00143862],180.272,true,true], + ["Land_Cargo_House_V1_F",[19.5381,-23.3779,-0.00143862],359.215,true,true], + ["Land_HBarrierBig_F",[24.0823,6.26489,-0.00143862],270.156,true,true], + ["Land_HBarrierBig_F",[23.7832,22.0911,-0.00143862],270.156,true,true], + ["Land_HBarrierBig_F",[23.9121,14.0862,-0.00143862],270.156,true,true], + ["Land_HBarrierBig_F",[20.2896,26.0906,-0.00143862],181.755,true,true], + ["Land_Cargo_House_V1_F",[18.3564,9.03589,-0.00143862],359.215,true,true], + ["Land_Cargo_House_V1_F",[18.2441,20.533,-0.00143862],180.272,true,true], + ["Land_LampHalogen_F",[37.1499,49.4319,-0.00143814],270.972,true,true], + ["Land_HBarrierBig_F",[17.8696,48.312,-0.00143862],1.51588,true,true], + ["Land_HBarrierBig_F",[33.9624,48.3108,-0.00143862],1.51588,true,true], + ["Land_HBarrierBig_F",[25.6785,48.3774,-0.00143862],1.51588,true,true], + ["Land_HBarrierBig_F",[41.6587,48.5078,-0.00143862],1.51588,true,true], + ["Land_HBarrierBig_F",[53.832,-28.3086,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[53.8938,-44.4204,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[53.9326,-36.322,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[50.8213,-49.5146,-0.00143862],1.58276,true,true], + ["Land_LampHalogen_F",[61.6257,-8.93774,-0.00143814],183.353,true,true], + ["Land_HBarrierBig_F",[53.5598,-12.5808,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[58.1006,-9.04248,-0.00143862],180.639,true,true], + ["Land_HBarrierBig_F",[53.6702,-20.0735,-0.00143862],271.533,true,true], + ["Land_LampHalogen_F",[61.2739,9.27808,-0.00143814],183.353,true,true], + ["Land_HBarrierBig_F",[57.9741,9.22607,-0.00143862],180.457,true,true], + ["Land_HBarrierBig_F",[53.0159,20.7566,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[53.2136,13.0596,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[53.0928,28.8538,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[53.1624,37.1411,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[52.9644,44.8403,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[49.8362,48.4373,-0.00143862],1.51588,true,true] +]; + +_missionLootBoxes = [ + //["Exile_Container_SupplyBox",[-2.28174,0.128662,-0.00143862],_crateLoot,_lootCounts,0.000181514] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + //["Exile_Car_Hunter",[24.8054,-67.8333,0.00875282],89.6558], + [selectRandom GMS_AIPatrolVehiclesGreen,[24.8997,69.1799,-0.00138235],91.5468], + [selectRandom GMS_AIPatrolVehiclesGreen,[74.0911,1.21655,-0.0377212],359.999] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +//_chancePara = GMS_chanceParaGreen; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Green"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/medicalCamp.sqf b/@GMS/addons/GMS/Missions/Green/medicalCamp.sqf new file mode 100644 index 0000000..827674f --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/medicalCamp.sqf @@ -0,0 +1,67 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = medicalCamp"; + +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "A Bandit Medical camp has been spotted. Check the Green marker on your map for its location"; +_endMsg = "The Bandit Medical camp at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Medical Camp"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AAF_F",[5,5,0],0,[false,true]], + ["Land_dp_transformer_F",[1.698242,-10.4668,-0.00763702],271.32,[true,true]], + ["Land_Wreck_BRDM2_F",[1.37012,13.498,0.00109863],184.487,[true,true]], + ["Land_BagBunker_Small_F",[18.4512,-3.66406,0.00780487],305.003,[true,true]], + ["Land_Cargo_HQ_V1_F",[-20.1367,11.7539,0],90.8565,[true,false]], + ["Land_BagBunker_Small_F",[-22.707,-3.75586,-0.0130234],44.9901,[true,true]], + ["Land_Cargo_House_V1_F",[24.3584,7.45313,0.00111389],91.6329,[true,true]], + ["StorageBladder_01_fuel_forest_F",[1.29492,29.3184,0.000999451],179.65,[false,true]], + ["Land_GarbageBags_F",[-9.45996,31.252,0.02005],184.595,[false,true]], + ["Land_GarbageBags_F",[-13.0459,32.668,-0.0283051],184.595,[false,false,true]], + ["Land_GarbageBags_F",[-11.5957,33.125,-0.598007],184.595,[false,false,true]], + ["Land_GarbageBags_F",[-8.98145,34.5801,-0.00514221],184.592,[false,true]], + ["Land_Addon_02_V1_ruins_F",[24.8369,24.6582,-0.00820923],90.9637,[false,true]], + ["Land_GarbageBags_F",[-10.9443,35.0449,0.577057],184.592,[false,true]], + ["Land_Cargo20_military_green_F",[14.6533,32.9004,0.000480652],90.0989,[false,true]], + ["Land_BagBunker_Small_F",[-23.0186,28.6738,-0.0271301],120.012,[false,true]], + ["Land_BagBunker_Small_F",[37.1504,34.5742,0.0146866],255,[false,true]] + ]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; +//_chanceLoot = 0.6; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; + diff --git a/@GMS/addons/GMS/Missions/Green/munitionsResearch.sqf b/@GMS/addons/GMS/Missions/Green/munitionsResearch.sqf new file mode 100644 index 0000000..29547f2 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/munitionsResearch.sqf @@ -0,0 +1,108 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsOrange; +_startMsg = "An munitions research center was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Sector at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Munitions"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AltisColonial_F",[3,3,0],0,[false,false]], + ["Land_Research_HQ_F",[-40.4258,-57.4492,-7.15256e-007],0,[true,false]], + ["Land_Research_HQ_F",[79.9063,68.1406,2.38419e-007],0,[true,false]], + ["Land_Research_house_V1_F",[-27.6895,70.9883,0],0,[true,false]], + ["Land_Research_house_V1_F",[-110.166,14.3926,0],0,[true,false]], + ["Land_Research_house_V1_F",[54.5078,-70.8457,0],0,[true,false]], + ["Land_Cargo_House_V1_F",[111.865,11.9375,9.53674e-007],0,[true,false]], + ["Land_Cargo_HQ_V2_F",[-115.473,-44.5977,-4.76837e-007],0,[true,false]], + ["Land_SharpRock_apart",[-59.6836,-59.5996,-4.76837e-007],0,[false,false]], + ["Land_W_sharpRock_apart",[-81.6973,-42.4082,-4.76837e-007],0,[false,false]], + ["Land_SharpRock_apart",[-96.2168,-5.32031,4.76837e-007],0,[false,false]], + ["Land_Limestone_01_apart_F",[-79.2305,43.4219,0],0,[false,false]], + ["Land_Limestone_01_apart_F",[-50.2344,82.4746,0],0,[false,false]], + ["Land_BluntRock_apart",[3.88281,-71.5488,-2.38419e-007],0,[false,false]], + ["Land_Limestone_01_apart_F",[35.8926,-77.5918,0],0,[false,false]], + ["Land_Limestone_01_apart_F",[78.541,-52.3926,-4.76837e-007],0,[false,false]], + ["Land_Limestone_01_apart_F",[103.91,-6.88867,0],0,[false,false]], + ["Land_BluntRock_apart",[-11.5586,93.9688,-2.38419e-007],0,[false,false]], + ["Land_W_sharpStone_02",[54.7344,96.7012,0],0,[false,false]], + ["Land_BluntRock_apart",[77.4453,88.8301,-2.38419e-007],0,[false,false]], + ["Land_SharpRock_apart",[104.758,45.668,0],0,[false,false]], + ["Land_Limestone_01_02_F",[99.5117,23.752,-4.76837e-007],0,[false,false]], + ["Land_Limestone_01_02_F",[49.8477,50.0039,0],0,[false,false]], + ["Land_Limestone_01_02_F",[-8.14844,32.2227,4.76837e-007],0,[false,false]], + ["Land_Limestone_01_02_F",[-35.334,35.1465,-2.38419e-007],0,[false,false]], + ["Land_SharpStone_02",[-28.6523,1.33398,4.76837e-007],0,[false,false]], + ["Land_SharpStone_02",[-58.707,-7.46094,-4.76837e-007],0,[false,false]], + ["Land_Limestone_01_02_F",[64.5078,31.9707,0],0,[false,false]], + ["Land_Limestone_01_02_F",[33.7246,11.5469,0],0,[false,false]], + ["Land_SharpStone_02",[69.4277,-3.20313,0],0,[false,false]], + ["Land_SharpStone_02",[53.7227,-40.1777,-2.38419e-007],0,[false,false]], + ["Land_Limestone_01_02_F",[-6.26563,-46.0996,-4.76837e-007],0,[false,false]] +]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = + [ + ["B_static_AA_F",[31.7266,-34.6699,-4.76837e-007],0,[true,false]], + ["B_HMG_01_high_F",[-24.5781,-33.8281,-3.1268],0,[true,false]], + ["B_G_Mortar_01_F",[73.1836,62.9492,-3.1265],0,[true,false]], + ["B_HMG_01_high_F",[47.1777,73.5469,-3.12644],0,[true,false]], + ["B_static_AA_F",[-32.8926,-35.8047,-3.1268],0,[true,false]], + ["B_G_Mortar_01_F",[33.1582,-34.8867,-4.76837e-007],0,[true,false]] + ]; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used + +_missionGroups = + [ + //_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"]; + [[-52.6523,15.8281,-0.00143838],3,3,"Green",8,15], + [[-48.6113,-38.877,-0.00143886],3,3,"Green",8,15], + [[18.4492,-39.5684,-0.00143838],3,3,"Green",8,15], + [[42.6504,31.6621,-0.00143886],3,3,"Green",8,15], + [[7.51563,46.4531,-0.001438864],3,3,"Green",8,15], + [[-8.99219,-11.623,-0.00143838],3,3,"Green",8,15] +]; // Can be used to define spawn positions of AI patrols + +_missionPatrolVehicles = [ + //[selectRandom GMS_AIPatrolVehiclesGreen,[27.8945,100.275,0],0,[true,false]], + [selectRandom GMS_AIPatrolVehiclesGreen,[-84.7793,72.2617,9.53674e-007],0,[true,false]], + [selectRandom GMS_AIPatrolVehiclesGreen,[-87.8457,-109.947,7.15256e-007],0,[true,false]] +]; // can be used to define the spawn positions of vehicle patrols + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; + +//_chancePara = GMS_chanceParaGreen; +//_chanceLoot = 2; //0.6; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/operationTakeover.sqf b/@GMS/addons/GMS/Missions/Green/operationTakeover.sqf new file mode 100644 index 0000000..8cf624b --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/operationTakeover.sqf @@ -0,0 +1,331 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +_startMsg = "An enemy jail was sighted in a nearby sector! Check the Black marker on your map for the location!"; +_endMsg = "The jail is under survivor control!"; + +_markerMissionName = "Rapid Response"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here + + +_markerType = ["ellipse",[0,0],"GRID"]; +_markerColor = "ColorWEST"; +_markerLabel = ""; + +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Unfinished_Building_02_F",[-60.9961,12.3308,0],89.8576,true,true,[["B_HMG_01_high_F",[2.9436,-4.19751,0.24972],85.4192],["B_HMG_01_high_F",[4.25854,10.7007,-0.0121193],107.991]],[]], + ["Land_WIP_F",[39.0039,24.064,0],270.203,true,true,[["B_HMG_01_high_F",[-16.3564,-6.18042,5.0093],214.563],["B_Mortar_01_F",[8.48633,-16.2366,12.3663],359.999],["B_Mortar_01_F",[-9.48535,-15.9546,12.3559],359.98],["B_HMG_01_high_F",[-31.4385,-6.68115,-0.0121188],176.778]],[]], + ["Land_Cargo_Tower_V1_F",[21.0771,54.4438,0],271.07,true,true,[["B_HMG_01_high_F",[5.58252,-1.64209,17.7789],52.4853],["B_HMG_01_high_F",[3.34668,4.95532,17.8811],63.0363],["B_HMG_01_high_F",[-4.07227,4.9895,17.8769],321.495]],[]], + ["Land_Cargo_Tower_V3_F",[54.2837,-17.9026,0],0,true,true,[["B_HMG_01_high_F",[-2.48486,-7.05713,-0.0121174],254.877],["B_HMG_01_high_F",[-2.81348,-5.27686,17.779],159.79],["B_HMG_01_high_F",[4.88477,-2.86523,17.8809],146.13],["B_HMG_01_high_F",[4.8916,4.13135,17.8771],70.1582],["B_HMG_01_high_F",[-18.8633,-21.7476,-0.0121198],315.734]],[]] +]; + +_missionLandscape = [ + ["Land_Mil_WallBig_4m_F",[-70.9556,-21.7397,0],90.5574,true,true], + ["Land_Mil_WallBig_4m_F",[-65.5688,-31.2412,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[-71.0183,-25.6069,0],90.3037,true,true], + ["Land_Mil_WallBig_4m_F",[-61.7185,-31.2253,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[-71.0566,-29.4609,0],90.9224,true,true], + ["Land_Mil_WallBig_4m_F",[-69.4084,-31.2383,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[-70.9043,-17.8816,0],91.1335,true,true], + ["Land_Mil_WallBig_4m_F",[-57.8728,-31.2117,0],0,true,true], + ["Land_Cargo_Tower_V1_F",[-65.7742,-23.8442,0],89.7627,true,true], + ["Land_Mil_WallBig_4m_F",[-70.8843,-6.35059,0],90.3716,true,true], + ["Land_Mil_WallBig_4m_F",[-70.8752,-2.46118,0],89.3976,true,true], + ["Land_Mil_WallBig_4m_F",[-70.8899,9.16797,0],88.7977,true,true], + ["Land_Mil_WallBig_4m_F",[-70.9011,13.021,0],91.0597,true,true], + ["Land_Mil_WallBig_4m_F",[-70.9148,5.2876,0],90.1169,true,true], + ["Land_Mil_WallBig_4m_F",[-70.8755,-10.2068,0],89.936,true,true], + ["Land_Mil_WallBig_4m_F",[-70.8945,-14.0322,0],90.6833,true,true], + ["Land_Mil_WallBig_4m_F",[-70.9084,1.42627,0],89.2839,true,true], + ["Land_Cargo_House_V1_F",[-55.5381,-0.398438,0],180.346,true,true], + ["Land_CncWall4_F",[-68.3481,-0.56958,0],179.602,true,true], + ["Land_CncWall4_F",[-64.376,-0.486816,0],179.911,true,true], + ["Land_Mil_WallBig_4m_F",[-70.8362,16.8625,0],90.8206,true,true], + ["Land_Mil_WallBig_4m_F",[-70.7424,24.5647,0],90.2255,true,true], + ["Land_Mil_WallBig_4m_F",[-70.7883,36.0994,0],89.8502,true,true], + ["Land_Mil_WallBig_4m_F",[-70.7854,20.73,0],91.3237,true,true], + ["Land_Mil_WallBig_4m_F",[-70.7744,32.2678,0],89.8212,true,true], + ["Land_Mil_WallBig_4m_F",[-70.7876,39.9675,0],90.3499,true,true], + ["Land_Mil_WallBig_4m_F",[-70.7505,43.8293,0],89.9787,true,true], + ["Land_Mil_WallBig_4m_F",[-70.7439,28.4033,0],90.1038,true,true], + ["Land_Mil_WallBig_4m_F",[-70.738,47.6904,0],90.9879,true,true], + ["Land_Tank_rust_F",[-57.4561,42.9893,0],0,true,true], + ["Land_Unfinished_Building_02_F",[-61.1445,31.9102,0],89.4718,true,true], + ["Land_Mil_WallBig_4m_F",[-69.0227,62.4194,0],178.343,true,true], + ["Land_Mil_WallBig_4m_F",[-70.6748,59.2129,0],89.4836,true,true], + ["Land_Mil_WallBig_4m_F",[-65.1848,62.5364,0],179.252,true,true], + ["Land_Mil_WallBig_4m_F",[-70.6985,60.6089,0],89.3358,true,true], + ["Land_Mil_WallBig_4m_F",[-61.3386,62.5498,0],180.355,true,true], + ["Land_Mil_WallBig_4m_F",[-70.7178,51.5427,0],89.9441,true,true], + ["Land_Mil_WallBig_4m_F",[-57.4988,62.5688,0],179.26,true,true], + ["Land_Mil_WallBig_4m_F",[-70.6902,55.3772,0],90.9313,true,true], + ["Land_Cargo_Tower_V1_F",[-63.562,57.5813,0],180.174,true,true], + ["Land_Mil_WallBig_4m_F",[-46.3152,-31.1899,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[-34.7395,-31.1567,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[-23.1311,-31.1777,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[-38.6018,-31.1497,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[-27.02,-31.1851,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[-42.4546,-31.1765,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[-50.1863,-31.1816,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[-30.8767,-31.1548,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[-54.0432,-31.2051,0],0,true,true], + ["Land_BagFence_01_long_green_F",[-41.9392,-23.0669,7.51739],0,true,true], + ["Land_BagFence_01_short_green_F",[-44.0996,-23.0972,7.51739],0,true,true], + ["Land_BagFence_01_short_green_F",[-39.7847,-23.041,7.51739],0,true,true], + ["Land_BagFence_01_round_green_F",[-45.835,-22.2988,7.51739],48.0621,true,true], + ["Land_BagFence_01_round_green_F",[-38.0859,-22.3396,7.51739],316.485,true,true], + ["Land_u_Barracks_V2_F",[-35.9812,-17.3149,0],0,true,true], + ["Land_CncWall4_F",[-52.9299,-23.6628,0],92.1306,true,true], + ["Land_CncWall4_F",[-37.1531,-28.6726,0],90.7022,true,true], + ["Land_Wreck_Offroad_F",[-28.8862,4.91138,0],213.965,true,true], + ["Land_Cargo_House_V1_F",[-48.7632,-0.523438,0],179.662,true,true], + ["Land_Cargo_House_V1_F",[-42.2058,-0.445801,0],178.217,true,true], + ["Land_Dome_Small_F",[-24.3013,15.6531,-4.76837e-007],272.316,true,true], + ["Land_Wreck_Ural_F",[-34.2483,11.8752,0],261.493,true,true], + ["Land_Wreck_Ural_F",[-42.3066,9.02588,0],68.7277,true,true], + ["Land_u_Barracks_V2_F",[-26.3616,43.1875,0],181.425,true,true], + ["Land_wpp_Turbine_V2_F",[-41.9377,58.8804,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[-38.2644,62.7185,0],179.921,true,true], + ["Land_Mil_WallBig_4m_F",[-34.4031,62.7485,0],179.553,true,true], + ["Land_Mil_WallBig_4m_F",[-49.8066,62.6262,0],179.302,true,true], + ["Land_Mil_WallBig_4m_F",[-42.0884,62.7102,0],179.366,true,true], + ["Land_Mil_WallBig_4m_F",[-26.6929,62.771,0],180.541,true,true], + ["Land_Mil_WallBig_4m_F",[-53.6548,62.6008,0],179.834,true,true], + ["Land_Mil_WallBig_4m_F",[-45.9495,62.6567,0],179.484,true,true], + ["Land_Mil_WallBig_4m_F",[-30.5383,62.7832,0],179.487,true,true], + ["Land_Mil_WallBig_4m_F",[4.05518,-53.7595,0],325.345,true,true], + ["Land_Mil_WallBig_4m_F",[-14.1846,-53.5205,0],43.3328,true,true], + ["Land_Mil_WallBig_4m_F",[0.696289,-54.9407,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[-16.9585,-50.8445,0],43.519,true,true], + ["Land_Mil_WallBig_4m_F",[-7.01416,-54.9324,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[-10.8765,-54.9028,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[7.22314,-51.5159,0],324.1,true,true], + ["Land_Mil_WallBig_4m_F",[-19.793,-48.1777,0],43.4082,true,true], + ["Land_CncWall1_F",[-3.23486,-54.9473,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[-21.0298,-41.1824,0],90.7831,true,true], + ["Land_Mil_WallBig_4m_F",[-20.9756,-37.2678,0],90.566,true,true], + ["Land_Mil_WallBig_4m_F",[-20.9526,-33.3606,0],90.3304,true,true], + ["Land_Mil_WallBig_4m_F",[-21.1201,-45.0388,0],91.9564,true,true], + ["Land_BagFence_01_long_green_F",[-6.93506,-21.9814,7.51739],0,true,true], + ["Land_BagFence_01_long_green_F",[-9.71191,-21.9512,7.51739],0,true,true], + ["Land_BagFence_01_round_green_F",[-4.62354,-21.3438,7.51739],315.456,true,true], + ["Land_BagFence_01_round_green_F",[-12.1323,-21.2937,7.51739],43.3613,true,true], + ["Land_SM_01_shed_F",[-8.00439,-43.0354,0],0.0480932,true,true], + ["Land_u_Barracks_V2_F",[-2.53125,-15.9839,0],358.616,true,true], + ["Land_CncWall4_F",[-19.9722,-22.2917,0],270.546,true,true], + ["Land_CncWall4_F",[-4.49756,-24.3555,0],269.182,true,true], + ["Land_CncWall4_F",[-17.4209,-31.4302,0],270.307,true,true], + ["Land_Wreck_Hunter_F",[-22.1006,5.98096,0],147.866,true,true], + ["Land_Wreck_CarDismantled_F",[-17.1021,8.25,0],125.911,true,true], + ["RoadCone_L_F",[-3,-3,0],0,true,true], + ["Land_CncWall4_F",[-1.57422,8.20337,0],269.92,true,true], + ["Land_CncWall4_F",[-1.62158,13.3389,0],269.085,true,true], + ["Land_CncWall4_F",[-1.57666,3.0127,0],270.789,true,true], + ["Land_Wreck_HMMWV_F",[-7.48926,10.5498,0],278.667,true,true], + ["Land_CncWall4_F",[-1.84619,26.6411,0],269.816,true,true], + ["Land_CncWall4_F",[-1.99854,47.2441,0],268.694,true,true], + ["Land_CncWall4_F",[-1.81348,21.4751,0],269.753,true,true], + ["Land_CncWall4_F",[-1.9209,31.772,0],268.648,true,true], + ["Land_CncWall4_F",[-2.00781,42.0947,0],270.259,true,true], + ["Land_CncWall4_F",[-2,36.9187,0],269.562,true,true], + ["Land_wpp_Turbine_V2_F",[-17.4063,59.3362,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[-9.24707,62.1733,0],183.051,true,true], + ["Land_Mil_WallBig_4m_F",[1.22168,62.0315,0],181.136,true,true], + ["Land_Mil_WallBig_4m_F",[8.86963,61.9207,0],181.636,true,true], + ["Land_Mil_WallBig_4m_F",[-2.60645,62.0313,0],179.137,true,true], + ["Land_Mil_WallBig_4m_F",[-22.8423,62.7271,0],180.559,true,true], + ["Land_Mil_WallBig_4m_F",[5.0625,61.9785,0],179.812,true,true], + ["Land_Mil_WallBig_4m_F",[-15.1294,62.6226,0],183.852,true,true], + ["Land_Mil_WallBig_4m_F",[-11.2056,62.3108,0],184.569,true,true], + ["Land_Mil_WallBig_4m_F",[-5.68408,62.0347,0],180.607,true,true], + ["Land_Mil_WallBig_4m_F",[-18.9717,62.7554,0],179.347,true,true], + ["Land_HBarrier_5_F",[7.67285,54.312,0],35.0142,true,true], + ["Land_HBarrier_5_F",[4.51611,54.6199,0],214.908,true,true], + ["Land_CncWall4_F",[-2.07764,52.4014,0],269.364,true,true], + ["Land_CncWall4_F",[-2.06494,56.3867,0],271.356,true,true], + ["Land_FuelStation_02_pump_F",[40.4248,-67.5818,0.285],0,true,true], + ["Land_Mil_WallBig_4m_F",[9.86914,-48.7041,0],301.646,true,true], + ["Land_CncBarrierMedium4_F",[21.7886,-66.9448,0],268.364,true,true], + ["Land_CncBarrierMedium4_F",[11.6875,-53.3286,0],227.033,true,true], + ["Land_CncBarrierMedium4_F",[17.8984,-56.0083,0],0,true,true], + ["Land_CncBarrierMedium4_F",[21.5776,-59.6167,0],269.101,true,true], + ["Land_FuelStation_02_workshop_F",[30.7529,-55.9856,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[32.4272,-46.6111,0],359.434,true,true], + ["Land_Mil_WallBig_4m_F",[36.2969,-46.5876,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[40.1514,-46.5508,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[11.021,-45.1375,0],269.589,true,true], + ["Land_HaulTruck_01_abandoned_F",[17.6182,-38.3813,0],0,true,true], + ["Land_dp_smallFactory_F",[19.9829,-15.8096,0],269.426,true,true], + ["Land_CncWall4_F",[27.7803,-46.7144,0],358.188,true,true], + ["Land_CncWall4_F",[32.4053,-23.0171,0],0,true,true], + ["Land_CncWall4_F",[25.542,-44.6201,0],89.4653,true,true], + ["Land_CncWall4_F",[25.3423,-34.2324,0],89.3567,true,true], + ["Land_CncWall4_F",[10.8198,-30.3127,0],270.031,true,true], + ["Land_CncWall4_F",[29.7148,-26.8479,0],0,true,true], + ["Land_CncWall4_F",[10.7749,-35.4851,0],270.559,true,true], + ["Land_CncWall4_F",[10.7231,-40.6462,0],270.677,true,true], + ["Land_CncWall4_F",[13.563,-27.0159,0],0,true,true], + ["Land_CncWall4_F",[37.5566,-23.0508,0],359.942,true,true], + ["Land_CncWall4_F",[25.4438,-39.4263,0],88.5215,true,true], + ["Land_CncWall4_F",[26.46,-1.92505,0],269.97,true,true], + ["Land_CncWall4_F",[37.2246,-1.31934,0],359.566,true,true], + ["Land_MobileCrane_01_hook_F",[21.167,24.7126,0],180.212,true,true], + ["Land_Mil_WallBig_4m_F",[39.6533,61.6123,0],180.102,true,true], + ["Land_Mil_WallBig_4m_F",[31.9688,61.6941,0],180.867,true,true], + ["Land_Mil_WallBig_4m_F",[20.4971,61.7854,0],180.422,true,true], + ["Land_Mil_WallBig_4m_F",[35.8325,61.6057,0],179.854,true,true], + ["Land_Mil_WallBig_4m_F",[16.605,61.8333,0],180.4,true,true], + ["Land_Mil_WallBig_4m_F",[28.1401,61.7021,0],180.548,true,true], + ["Land_Mil_WallBig_4m_F",[12.7109,61.8547,0],181.262,true,true], + ["Land_Mil_WallBig_4m_F",[24.3027,61.7354,0],181.242,true,true], + ["Land_FuelStation_02_pump_F",[44.1704,-67.6467,0.285001],0,true,true], + ["Land_FuelStation_02_pump_F",[42.3804,-67.6313,0.285001],0,true,true], + ["Land_FuelStation_02_roof_F",[42.3452,-67.5942,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[47.9233,-46.5945,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[59.481,-46.5894,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[51.7622,-46.5869,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[61.1812,-44.6775,0],270.727,true,true], + ["Land_Mil_WallBig_4m_F",[44.0723,-46.5859,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[61.1621,-40.8149,0],267.43,true,true], + ["Land_Mil_WallBig_4m_F",[55.6416,-46.6177,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[61.0664,-36.9656,0],269.062,true,true], + ["Land_Mil_WallBig_4m_F",[60.9927,-33.115,0],267.987,true,true], + ["Land_Mil_WallBig_4m_F",[60.7769,-25.3948,0],269.759,true,true], + ["Land_Mil_WallBig_4m_F",[60.6992,-21.5288,0],268.547,true,true], + ["Land_Mil_WallBig_4m_F",[60.8853,-29.2122,0],268.201,true,true], + ["Land_Mil_WallBig_4m_F",[60.6138,-17.6204,0],268.68,true,true], + ["Land_i_Stone_HouseSmall_V2_F",[45.2388,-33.073,0],156.696,true,true], + ["Land_CncWall4_F",[58.2612,-23.0266,0],0,true,true], + ["Land_CncWall4_F",[42.7173,-23.0313,0],0,true,true], + ["Land_CncWall4_F",[47.8916,-23.0232,0],0,true,true], + ["Land_CncWall4_F",[53.0898,-23.0032,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[60.4819,-2.16016,0],269.477,true,true], + ["Land_Mil_WallBig_4m_F",[60.3911,13.2949,0],269.514,true,true], + ["Land_Mil_WallBig_4m_F",[60.4702,1.68726,0],270.373,true,true], + ["Land_Mil_WallBig_4m_F",[60.4058,9.42896,0],269.451,true,true], + ["Land_Mil_WallBig_4m_F",[60.5366,-13.7136,0],268.997,true,true], + ["Land_Mil_WallBig_4m_F",[60.4453,5.58374,0],268.733,true,true], + ["Land_Mil_WallBig_4m_F",[60.479,-6.02173,0],271.015,true,true], + ["Land_Mil_WallBig_4m_F",[60.4761,-9.86719,0],268.423,true,true], + ["Land_CncWall4_F",[47.8989,-1.40283,0],0,true,true], + ["Land_CncWall4_F",[58.0024,-1.28906,0],0,true,true], + ["Land_CncWall4_F",[42.4209,-1.30054,0],0,true,true], + ["Land_CncWall4_F",[52.8232,-1.30688,0],0,true,true], + ["Land_Mil_WallBig_4m_F",[60.6245,40.3376,0],270.902,true,true], + ["Land_Mil_WallBig_4m_F",[60.4922,24.9067,0],269.728,true,true], + ["Land_Mil_WallBig_4m_F",[60.5732,36.5076,0],270.146,true,true], + ["Land_Mil_WallBig_4m_F",[60.4526,21.064,0],269.827,true,true], + ["Land_Mil_WallBig_4m_F",[60.5029,32.616,0],270.501,true,true], + ["Land_Mil_WallBig_4m_F",[60.5151,28.7512,0],269.744,true,true], + ["Land_Mil_WallBig_4m_F",[60.7461,44.1904,0],271.554,true,true], + ["Land_Mil_WallBig_4m_F",[60.4058,17.1665,0],270.449,true,true], + ["Land_Mil_WallBig_4m_F",[60.7476,48.0803,0],269.849,true,true], + ["Land_Mil_WallBig_4m_F",[60.7168,51.9231,0],270.76,true,true], + ["Land_Mil_WallBig_4m_F",[55.1094,61.3723,0],180.17,true,true], + ["Land_Mil_WallBig_4m_F",[60.7646,59.6436,0],269.107,true,true], + ["Land_Mil_WallBig_4m_F",[51.2363,61.3843,0],179.915,true,true], + ["Land_Mil_WallBig_4m_F",[60.7749,55.7781,0],269.967,true,true], + ["Land_Mil_WallBig_4m_F",[47.3745,61.4705,0],180.966,true,true], + ["Land_Mil_WallBig_4m_F",[58.9883,61.3293,0],179.93,true,true], + ["Land_Mil_WallBig_4m_F",[43.5361,61.5425,0],181.016,true,true] +]; + +_missionLootBoxes = [ + ["Box_FIA_Wps_F",[-24.9194,17.5498,-1.90735e-006],_crateLoot,_lootCounts,0.00131771], + ["B_supplyCrate_F",[-27.5139,17.1206,0],_crateLoot,_lootCounts,360], + ["Box_FIA_Support_F",[-19.1929,17.3916,1.43051e-006],_crateLoot,_lootCounts,359.999], + ["Box_FIA_Ammo_F",[-21.9521,17.6284,-2.38419e-006],_crateLoot,_lootCounts,0.00126176] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + ["B_static_AA_F",[-44.8591,-21.6965,7.50483],0.2356], + ["B_static_AT_F",[-38.8364,-22.3223,7.94878],95.0275], + ["B_HMG_01_high_F",[-31.1875,6.95313,-0.0121174],38.4729], + ["B_HMG_01_high_F",[-6.09619,-22.9727,-0.0121183],220.634], + ["B_HMG_01_high_F",[-2.79541,-20.8943,-0.0121188],142.402], + ["B_static_AA_F",[-5.25684,-20.9031,7.52122],0.0207681], + ["B_static_AT_F",[-11.0635,-20.8711,7.52428],359.956], + ["B_HMG_01_high_F",[-10.5552,43.4922,7.94442],114.274] +]; + +_missionGroups = [ + [[-51.2781,2.46313,0.00143909],3,6,"Orange",30,45], + [[-11.7485,-30.1338,0.00143909],3,6,"Orange",30,45], + [[-11.9927,0.826416,0.00143909],3,6,"Orange",30,45], + [[-5.37646,13.8989,0.00143909],3,6,"Orange",30,45], + [[0.439941,18.3259,0.00143909],3,6,"Orange",30,45], + [[-6.35693,40.8398,0.00143909],3,6,"Orange",30,45], + [[9.86279,-1.10864,0.00143909],3,6,"Orange",30,45], + [[19.6943,15.1899,0.00143909],3,6,"Orange",30,45], + [[10.9971,12.2664,0.00143909],3,6,"Orange",30,45], + [[18.1143,45.5303,0.00143909],3,6,"Orange",30,45], + [[19.3877,25.3489,0.00143909],3,6,"Orange",30,45], + [[10.3965,54.8899,0.00143909],3,6,"Orange",30,45] +]; + +_scubaGroupParameters = [ +]; + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +_minNoAI = GMS_MinAI_Orange; // Setting this in the mission file overrides the defaults such as GMS_MinAI_Orange +_maxNoAI = GMS_MaxAI_Orange; // Setting this in the mission file overrides the defaults +_noAIGroups = GMS_AIGrps_Orange; // Setting this in the mission file overrides the defaults +_noVehiclePatrols = GMS_SpawnVeh_Orange; // Setting this in the mission file overrides the defaults +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; // Setting this in the mission file overrides the defaults +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; // Setting this in the mission file overrides the defaults +_uniforms = GMS_SkinList; // Setting this in the mission file overrides the defaults +_headgear = GMS_headgear; // Setting this in the mission file overrides the defaults +_vests = GMS_vests; +_backpacks = GMS_backpacks; +_sideArms = GMS_Pistols; +_chanceHeliPatrol = GMS_chanceHeliPatrolOrange; // Setting this in the mission file overrides the defaults +_noChoppers = GMS_noPatrolHelisOrange; +_missionHelis = GMS_patrolHelisOrange; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/redCamp.sqf b/@GMS/addons/GMS/Missions/Green/redCamp.sqf new file mode 100644 index 0000000..9a43bbb --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/redCamp.sqf @@ -0,0 +1,98 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = redCamp"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "A temporary enemy camp has been spotted. Check the Green marker on your map for its location"; +_endMsg = "The temporary Bandit Green camp at the Green Marker is under player control"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Bandit Camp"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Land_CampingChair_V1_F",[1.32227,2.07813,8.2016e-005],108.293,[false,true]], + ["Land_CampingChair_V1_F",[-2.01465,2.91992,3.05176e-005],236.049,[false,true]], + ["FirePlace_burning_F",[0.0302734,4.26563,2.47955e-005],359.997,[false,true]], + ["Land_CampingChair_V1_F",[2.47168,4.21484,0.000102997],108.293,[false,true]], + ["Land_CampingChair_V1_F",[-1.86816,5.07422,3.05176e-005],319.489,[false,true]], + ["Land_CampingChair_V1_F",[0.915039,6.20898,1.71661e-005],51.7207,[false,true]], + ["Land_Sleeping_bag_brown_F",[8.27441,0.609375,0.00414658],98.0314,[false,true]], + ["Land_Sleeping_bag_brown_F",[8.27344,2.76758,0.00447083],91.7928,[false,true]], + ["Land_Sleeping_bag_brown_F",[7.9082,4.95898,-0.00173759],85.1176,[false,true]], + ["Land_Garbage_square3_F",[-4.95508,8.24023,0.00018692],60.0024,[false,true]], + ["Land_Camping_Light_F",[8.92773,3.80273,-0.000205994],344.236,[false,true]], + ["Land_Sleeping_bag_brown_F",[7.32129,7.55859,-0.0051899],60.1216,[false,true]], + ["Land_TentDome_F",[-9.75488,3.13477,0.00125313],146.574,[false,true]], + ["Land_WoodPile_F",[-0.322266,9.97266,-0.000553131],35.0017,[false,true]], + ["Land_Razorwire_F",[-0.0185547,-9.84961,0.0752335],1.7831,[false,true]], + ["Land_CampingChair_V1_folded_F",[3.8584,9.59375,0],60,[false,true]], + ["Land_TentDome_F",[-8.76855,7.85156,-0.00471497],207.522,[false,true]], + ["Land_BagFence_Round_F",[8.99707,-8.01367,-0.00951576],326.002,[false,true]], + ["Land_BagFence_Round_F",[-10.8164,-6.33594,-0.0038681],59.9991,[false,true]], + ["Land_TentDome_F",[-7.12207,11.8398,-0.00328445],231.101,[false,true]], + ["Land_CampingTable_small_F",[-4.62598,13.2754,7.62939e-005],344.243,[false,true]], + ["Land_Camping_Light_F",[-4.5957,13.332,0.687943],344.243,[false,true]], + ["Land_Razorwire_F",[15.5459,0.605469,0.145557],102.505,[false,true]], + ["Land_BagFence_Round_F",[7.16211,13.8516,0.000429153],221.639,[false,true]], + ["Land_Razorwire_F",[15.9678,8.35938,0.0635166],85.7459,[false,true]], + ["Land_Razorwire_F",[-19.1553,-1.61328,-0.0238552],70.0997,[false,true]], + ["Land_Razorwire_F",[-12.3906,-15.4492,0.0128002],19.2641,[false,true]], + ["Land_Razorwire_F",[-19.4629,5.67969,0.0492821],102.505,[false,true]], + ["Land_BagFence_Round_F",[-11.2891,17.6777,-0.00759888],128.563,[false,true]], + ["Land_Razorwire_F",[15.2949,-14.3027,0.0502853],139.224,[false,true]], + ["Land_Razorwire_F",[15.2852,16.2656,-0.0208111],85.1363,[false,true]], + ["Land_Razorwire_F",[4.80273,21.8223,-0.0563145],49.2133,[false,true]], + ["Land_Razorwire_F",[-17.7891,13.4863,-0.0646877],102.5,[false,true]], + ["Land_Razorwire_F",[-14.7109,20.2871,0.0674477],306.189,[false,true]], + ["Land_BagFence_Round_F",[25.3975,-6.08008,0.00466537],272.26,[false,true]], + ["Land_Wreck_Truck_F",[26.6289,12.2441,0.00333214],344.243,[false,true]], + ["Land_GarbageBags_F",[-24.9463,17.3066,0.000968933],60.0003,[false,true]], + ["Land_BagFence_Round_F",[11.167,28.832,-0.00405121],178.394,[false,true]], + ["Land_BagFence_Round_F",[-6.36914,30.6953,-0.000207901],178.378,[false,true]], + ["Land_Wreck_Hunter_F",[21.0391,25.9707,0.0118179],325.412,[false,true]], + ["Land_Camping_Light_F",[-33.7852,10.0371,0.000759125],344.235,[false,true]], + ["Land_BagFence_Round_F",[-34.3232,10.1035,0.00181007],60.0012,[false,true]] + ]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +//_chancePara = GMS_chanceParaGreen; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. + // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "orange"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; + + diff --git a/@GMS/addons/GMS/Missions/Green/resupplyCamp.sqf b/@GMS/addons/GMS/Missions/Green/resupplyCamp.sqf new file mode 100644 index 0000000..337fb1a --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/resupplyCamp.sqf @@ -0,0 +1,56 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = resupplyCamp"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "A Bandit resupply camp has been spotted. Check the Green marker on your map for its location"; +_endMsg = "The Bandit resupply camp at the Green Marker is under player control"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Resupply Camp"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Land_Cargo_House_V1_F",[-29.41016,0.13477,-0.0224228],359.992,[true,true]], + ["Land_Cargo_House_V1_F",[29.2988,-0.1,0.150505],54.9965,[true,true]], + ["CamoNet_INDP_big_F",[-20.4346,15.43164,-0.00395203],54.9965,[false,true]], + ["Land_BagBunker_Small_F",[-20.4346,15.43164,-0.0138168],119.996,[false,true]], + ["Land_BagBunker_Small_F",[-20.3604,-15.6035,-0.0130463],44.9901,[false,true]], + ["Land_BagBunker_Small_F",[18.4453,-15.791,0.00744629],305.003,[false,true]], + ["Land_BagBunker_Small_F",[18.3711,15.5703,0.0101624],254.999,[false,true]], + ["CamoNet_INDP_big_F",[18.3711,15.5703,-0.00395203],54.9965,[false,true]] + ]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; +//_chanceLoot = 0.6; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/template copy.sqf b/@GMS/addons/GMS/Missions/Green/template copy.sqf new file mode 100644 index 0000000..5fd0b17 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/template copy.sqf @@ -0,0 +1,104 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An enemy research center was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Sector at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Research Center"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AltisColonial_F",[12.9492,-14.2676,0],0,[true,false]], + ["Land_Research_HQ_F",[-40.4258,-57.4492,-7.15256e-007],0,[true,false]], + ["Land_Research_HQ_F",[79.9063,68.1406,2.38419e-007],0,[true,false]], + ["Land_Research_house_V1_F",[-27.6895,70.9883,0],0,[true,false]], + ["Land_Research_house_V1_F",[-110.166,14.3926,0],0,[true,false]], + ["Land_Research_house_V1_F",[54.5078,-70.8457,0],0,[true,false]], + ["Land_Cargo_Patrol_V1_F",[111.865,11.9375,9.53674e-007],0,[true,false]], + ["Land_Cargo_HQ_V2_F",[-115.473,-44.5977,-4.76837e-007],0,[true,false]], + ["Land_SharpRock_apart",[-59.6836,-59.5996,-4.76837e-007],0,[true,false]], + ["Land_W_sharpRock_apart",[-81.6973,-42.4082,-4.76837e-007],0,[true,false]], + ["Land_SharpRock_apart",[-96.2168,-5.32031,4.76837e-007],0,[true,false]], + ["Land_Limestone_01_apart_F",[-79.2305,43.4219,0],0,[true,false]], + ["Land_Limestone_01_apart_F",[-50.2344,82.4746,0],0,[true,false]], + ["Land_BluntRock_apart",[3.88281,-71.5488,-2.38419e-007],0,[true,false]], + ["Land_Limestone_01_apart_F",[35.8926,-77.5918,0],0,[true,false]], + ["Land_Limestone_01_apart_F",[78.541,-52.3926,-4.76837e-007],0,[true,false]], + ["Land_Limestone_01_apart_F",[103.91,-6.88867,0],0,[true,false]], + ["Land_BluntRock_apart",[-11.5586,93.9688,-2.38419e-007],0,[true,false]], + ["Land_W_sharpStone_02",[54.7344,96.7012,0],0,[true,false]], + ["Land_BluntRock_apart",[77.4453,88.8301,-2.38419e-007],0,[true,false]], + ["Land_SharpRock_apart",[104.758,45.668,0],0,[true,false]], + ["Land_Limestone_01_02_F",[99.5117,23.752,-4.76837e-007],0,[true,false]], + ["Land_Limestone_01_02_F",[49.8477,50.0039,0],0,[true,false]], + ["Land_Limestone_01_02_F",[-8.14844,32.2227,4.76837e-007],0,[true,false]], + ["Land_Limestone_01_02_F",[-35.334,35.1465,-2.38419e-007],0,[true,false]], + ["Land_SharpStone_02",[-28.6523,1.33398,4.76837e-007],0,[true,false]], + ["Land_SharpStone_02",[-58.707,-7.46094,-4.76837e-007],0,[true,false]], + ["Land_Limestone_01_02_F",[64.5078,31.9707,0],0,[true,false]], + ["Land_Limestone_01_02_F",[33.7246,11.5469,0],0,[true,false]], + ["Land_SharpStone_02",[69.4277,-3.20313,0],0,[true,false]], + ["Land_SharpStone_02",[53.7227,-40.1777,-2.38419e-007],0,[true,false]], + ["Land_Limestone_01_02_F",[-6.26563,-46.0996,-4.76837e-007],0,[true,false]] +]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = + [ + ["B_HMG_01_high_F",[27.8945,100.275,0],0,[true,false]], + ["B_HMG_01_high_F",[-84.7793,72.2617,9.53674e-007],0,[true,false]], + ["B_G_Mortar_01_F",[76.0586,66.9414,-3.1265],0,[true,false]] + ]; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used + +_missionGroups = + [ + //_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"]; + //[[-52.6523,15.8281,-0.00143838],4,6,"Green",4,8], + //[[-48.6113,-38.877,-0.00143886],4,6,"Green",4,8], + //[[18.4492,-39.5684,-0.00143838],4,6,"Green",4,8], + //[[42.6504,31.6621,-0.00143886],4,6,"Green",4,8], + //[[7.51563,46.4531,-0.001438864],4,6,"Green",4,8], + [[-8.99219,-11.623,-0.00143838],4,6,"Green",4,8] + ]; // Can be used to define spawn positions of AI patrols + +_missionPatrolVehicles = [ + //[selectRandom GMS_AIPatrolVehiclesGreen,[27.8945,100.275,0],0,[true,false]], + //[selectRandom GMS_AIPatrolVehiclesGreen,[-84.7793,72.2617,9.53674e-007],0,[true,false]], + [selectRandom GMS_AIPatrolVehiclesGreen,[-87.8457,-109.947,7.15256e-007],0,[true,false]] +]; // can be used to define the spawn positions of vehicle patrols + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +_chanceLoot = 0.6; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. +//_endCondition = allKilledOrPlayerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear +//_timeOut = -1; +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/template.sqf b/@GMS/addons/GMS/Missions/Green/template.sqf new file mode 100644 index 0000000..5fd0b17 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/template.sqf @@ -0,0 +1,104 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An enemy research center was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Sector at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Research Center"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AltisColonial_F",[12.9492,-14.2676,0],0,[true,false]], + ["Land_Research_HQ_F",[-40.4258,-57.4492,-7.15256e-007],0,[true,false]], + ["Land_Research_HQ_F",[79.9063,68.1406,2.38419e-007],0,[true,false]], + ["Land_Research_house_V1_F",[-27.6895,70.9883,0],0,[true,false]], + ["Land_Research_house_V1_F",[-110.166,14.3926,0],0,[true,false]], + ["Land_Research_house_V1_F",[54.5078,-70.8457,0],0,[true,false]], + ["Land_Cargo_Patrol_V1_F",[111.865,11.9375,9.53674e-007],0,[true,false]], + ["Land_Cargo_HQ_V2_F",[-115.473,-44.5977,-4.76837e-007],0,[true,false]], + ["Land_SharpRock_apart",[-59.6836,-59.5996,-4.76837e-007],0,[true,false]], + ["Land_W_sharpRock_apart",[-81.6973,-42.4082,-4.76837e-007],0,[true,false]], + ["Land_SharpRock_apart",[-96.2168,-5.32031,4.76837e-007],0,[true,false]], + ["Land_Limestone_01_apart_F",[-79.2305,43.4219,0],0,[true,false]], + ["Land_Limestone_01_apart_F",[-50.2344,82.4746,0],0,[true,false]], + ["Land_BluntRock_apart",[3.88281,-71.5488,-2.38419e-007],0,[true,false]], + ["Land_Limestone_01_apart_F",[35.8926,-77.5918,0],0,[true,false]], + ["Land_Limestone_01_apart_F",[78.541,-52.3926,-4.76837e-007],0,[true,false]], + ["Land_Limestone_01_apart_F",[103.91,-6.88867,0],0,[true,false]], + ["Land_BluntRock_apart",[-11.5586,93.9688,-2.38419e-007],0,[true,false]], + ["Land_W_sharpStone_02",[54.7344,96.7012,0],0,[true,false]], + ["Land_BluntRock_apart",[77.4453,88.8301,-2.38419e-007],0,[true,false]], + ["Land_SharpRock_apart",[104.758,45.668,0],0,[true,false]], + ["Land_Limestone_01_02_F",[99.5117,23.752,-4.76837e-007],0,[true,false]], + ["Land_Limestone_01_02_F",[49.8477,50.0039,0],0,[true,false]], + ["Land_Limestone_01_02_F",[-8.14844,32.2227,4.76837e-007],0,[true,false]], + ["Land_Limestone_01_02_F",[-35.334,35.1465,-2.38419e-007],0,[true,false]], + ["Land_SharpStone_02",[-28.6523,1.33398,4.76837e-007],0,[true,false]], + ["Land_SharpStone_02",[-58.707,-7.46094,-4.76837e-007],0,[true,false]], + ["Land_Limestone_01_02_F",[64.5078,31.9707,0],0,[true,false]], + ["Land_Limestone_01_02_F",[33.7246,11.5469,0],0,[true,false]], + ["Land_SharpStone_02",[69.4277,-3.20313,0],0,[true,false]], + ["Land_SharpStone_02",[53.7227,-40.1777,-2.38419e-007],0,[true,false]], + ["Land_Limestone_01_02_F",[-6.26563,-46.0996,-4.76837e-007],0,[true,false]] +]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = + [ + ["B_HMG_01_high_F",[27.8945,100.275,0],0,[true,false]], + ["B_HMG_01_high_F",[-84.7793,72.2617,9.53674e-007],0,[true,false]], + ["B_G_Mortar_01_F",[76.0586,66.9414,-3.1265],0,[true,false]] + ]; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used + +_missionGroups = + [ + //_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"]; + //[[-52.6523,15.8281,-0.00143838],4,6,"Green",4,8], + //[[-48.6113,-38.877,-0.00143886],4,6,"Green",4,8], + //[[18.4492,-39.5684,-0.00143838],4,6,"Green",4,8], + //[[42.6504,31.6621,-0.00143886],4,6,"Green",4,8], + //[[7.51563,46.4531,-0.001438864],4,6,"Green",4,8], + [[-8.99219,-11.623,-0.00143838],4,6,"Green",4,8] + ]; // Can be used to define spawn positions of AI patrols + +_missionPatrolVehicles = [ + //[selectRandom GMS_AIPatrolVehiclesGreen,[27.8945,100.275,0],0,[true,false]], + //[selectRandom GMS_AIPatrolVehiclesGreen,[-84.7793,72.2617,9.53674e-007],0,[true,false]], + [selectRandom GMS_AIPatrolVehiclesGreen,[-87.8457,-109.947,7.15256e-007],0,[true,false]] +]; // can be used to define the spawn positions of vehicle patrols + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +_chanceLoot = 0.6; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. +//_endCondition = allKilledOrPlayerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear +//_timeOut = -1; +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/testMission.sqf b/@GMS/addons/GMS/Missions/Green/testMission.sqf new file mode 100644 index 0000000..677e092 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/testMission.sqf @@ -0,0 +1,123 @@ + + +/* + Dynamic Mission Generated + Using 3DEN Plugin for blckeagls + dynamicMission.sqf generated:: blckeagls 3DEN Plugin Version 0 : Build 2 : Build Date 08/15/20 + By Ghostrider-GRG- +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +_defaultMissionLocations = []; +_markerType = ["mil_box",[1,1],""]; +_markerColor = "ColorRed"; +_startMsg = "TODO: Change approiately"; +_endMsg = "TODO: Change Appropriately"; +_markerMissionName = "Stay Away"; +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; + +_garrisonedBuildings_BuildingPosnSystem = [ + // ["Land_Unfinished_Building_02_F",[-28.137,-48.6494,0],0,true,true,0.67,3,[],4], + ["Land_Unfinished_Building_02_F",[16.998,57.9648,-33.866],0,true,true,0.67,3,[],4] +]; + +_garrisonedBuilding_ATLsystem = [ +["Land_Unfinished_Building_01_F",[0,0,0],0,true,true,[["B_HMG_01_high_F",[-2.19922,0.837891,3.61188],0],["B_static_AA_F",[-2.34766,3.85352,6.80866],0]],[[[0.96875,-1.99023,0.27216],0],[[-3.74219,0.279297,0.136929],0]]], +["Land_Unfinished_Building_01_F",[0,0,0],0,true,true,[["B_HMG_01_F",[-1.87305,5.36523,3.86831],0]],[[[-2.46289,-1.18555,3.68233],0],[[-1.72656,3.4668,6.88683],0]]] +]; + +_missionLandscape = [ + ["Land_u_Shed_Ind_F",[-29.123,-8.11914,-33.866],0,true,true], + ["Land_Shed_08_brown_F",[-15.1465,25.9961,-33.871],0,true,true], + ["Land_Shed_02_F",[26.5762,78.6641,-33.8547],0,true,true], + ["Land_Wreck_AFV_Wheeled_01_F",[-5.21289,-20.9434,-33.8297],0,true,true], + ["Sign_Sphere25cm_Geometry_F",[17.791,58.1797,-30.1429],0,true,true], + ["Sign_Sphere10cm_F",[18.6504,21.3418,-33.8661],0,true,true], + ["Sign_Sphere100cm_Geometry_F",[16.2227,56.002,-30.1063],0,true,true], + ["Sign_Sphere100cm_F",[15.4902,57.0449,-30.1112],0,true,true] +]; + +_simpleObjects = [ + +]; + +_missionLootVehicles = [ + +]; + +_missionPatrolVehicles = [ + ["B_Truck_01_mover_F",[24.084,13.5703,-33.8635],0,75,75], + ["B_MRAP_01_hmg_F",[3.02539,16.2363,-33.8629],0,75,75], + ["B_T_Boat_Transport_01_F",[18.582,44.1055,-33.8654],0,75,75] +]; + +_submarinePatrolParameters = [ + +]; + +_airPatrols = [ + ["B_Heli_Light_01_dynamicLoadout_F",[-6.61523,8.89844,-33.864],0,1000,1000] +]; + +_missionEmplacedWeapons = [ + ["B_GMG_01_F",[-5.16211,-5.00586,-33.8644],0] +]; + +_missionGroups = [ + [[30.0605,46.2383,-33.8646],3,6,"Blue",30,45], + [[5.66602,-8.33398,-33.8665],3,6,"Blue",30,45], + [[47.1426,43.5,-26.9792],3,6,"Blue",30,45], + [[46.4063,38.8477,-30.1837],3,6,"Blue",30,45], + [[19.9512,-4.41797,-29.7975],3,6,"Blue",30,45], + [[29.0625,-0.0332031,-33.6711],3,6,"Blue",30,45], + [[33.7734,-2.30273,-33.5358],3,6,"Blue",30,45] +]; + +_scubaGroupParameters = [ + +]; + +_missionLootBoxes = [ + ["Box_IND_Wps_F",[10.7441,1.8418,-33.8658],_crateLoot,_lootCounts,0], + ["Box_AAF_Equip_F",[13.2188,7.31445,-33.8656],_crateLoot,_lootCounts,0], + ["Box_IND_AmmoOrd_F",[14.9844,13.168,-33.8657],_crateLoot,_lootCounts,0], + ["Box_IND_WpsLaunch_F",[10.1504,-2.12109,-33.8658],_crateLoot,_lootCounts,0] +]; + +/* + Use the parameters below to customize your mission - see the template or GMS_configs.sqf for details about each them +*/ +_chanceHeliPatrol = GMS_chanceHeliPatrolBlue; +_noChoppers = GMS_noPatrolHelisBlue; +_missionHelis = GMS_patrolHelisBlue; +_chancePara = GMS_chanceParaBlue; +_noPara = GMS_noParaBlue; +_paraTriggerDistance = 400; +_paraSkill = 'Blue'; +_chanceLoot = 0.0; +_paraLoot = GMS_BoxLoot_Blue; +_paraLootCounts = GMS_lootCountsBlue; +_missionLandscapeMode = "precise"; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +_vests = GMS_vests; +_backpacks = GMS_backpacks; +_sideArms = GMS_Pistols; +_spawnCratesTiming = "atMissionSpawnGround"; +_loadCratesTiming = "atMissionSpawn"; +_endCondition = allKilledOrPlayerNear; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; \ No newline at end of file diff --git a/@GMS/addons/GMS/Missions/Green/tko_camp.sqf b/@GMS/addons/GMS/Missions/Green/tko_camp.sqf new file mode 100644 index 0000000..e28b09b --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/tko_camp.sqf @@ -0,0 +1,171 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An enemy Military Camp was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Military Camp at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[275,275],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Military Camp"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_House_V3_F",[8.00928,15.6453,-0.00143909],0,true,true,[["B_HMG_01_high_F",[-8.28516,3.27148,-0.0121188],0.000433404]],[]] +]; + +_missionLandscape = [ + //["babe_helper",[-3327.46,-2809.42,-0.00143909],0,true,true], + //["Sign_Arrow_Green_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + //["Sign_Arrow_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + //["Sign_Arrow_Yellow_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[-2.76221,-30.3596,-0.00143909],0,true,true], + ["Land_HBarrier_1_F",[-9.74463,-27.0081,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[-9.74268,-29.0042,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-8.36182,-30.3743,-0.00143909],180,true,true], + ["CamoNet_OPFOR_open_F",[-0.361816,-1.01782,-0.00143909],180,true,true], + ["Land_HBarrier_3_F",[-15.3853,-13.9866,-0.00143909],315,true,true], + ["Land_HBarrier_Big_F",[-3.61768,-5.26782,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[-5.46533,3.40405,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[-18.5767,-14.5354,-0.00143909],45,true,true], + ["Land_HBarrier_Big_F",[-12.4985,-20.3987,-0.00143909],45,true,true], + ["Land_HBarrier_1_F",[-22.9692,-2.77563,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[-23.3423,0.478271,-0.00143909],15,true,true], + ["Land_BagFence_Long_F",[-24.5767,-9.90649,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-22.8071,-8.13794,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-18.7427,-12.3811,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-23.2368,2.26245,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-21.8657,6.25952,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-22.3657,-13.8772,-0.00143909],135,true,true], + ["Land_BagFence_Long_F",[-9.74268,-25.1174,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-18.5649,-8.3147,-0.00143909],45,true,true], + ["Land_BagFence_Long_F",[-23.2368,4.88843,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-25.2192,0.111084,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-25.2192,-2.76587,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-26.5884,-1.39282,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-24.3989,-13.9709,-0.00143909],225,true,true], + ["Land_BagFence_Round_F",[-17.5747,-10.4006,-0.00143909],270,true,true], + ["Land_BagFence_Round_F",[-25.5493,-11.9026,-0.00143909],90,true,true], + ["Land_BagFence_Round_F",[-20.7212,-7.07642,-0.00143909],180,true,true], + ["Land_BagFence_End_F",[-9.7583,-23.3167,-0.00143909],270,true,true], + ["Land_Cargo_Patrol_V3_F",[-10.9263,-16.053,-0.00143862],45,true,true], + ["Land_Cargo_House_V3_F",[-3.09424,-20.7424,-0.00143909],180,true,true], + ["CamoNet_OPFOR_open_F",[-0.225098,8.17163,-0.00143909],0,true,true], + ["Land_HBarrier_3_F",[-1.85596,17.1208,-0.00143909],180,true,true], + ["Land_HBarrier_3_F",[-2.70752,19.4275,-0.00143909],90,true,true], + ["Land_HBarrier_Big_F",[-19.6177,9.36694,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[-19.6646,17.5466,-0.00143909],90,true,true], + ["Land_HBarrier_1_F",[-4.93994,9.58374,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[-16.4673,27.1775,-0.00143909],285,true,true], + ["Land_HBarrier_1_F",[-2.68408,25.3513,-0.00143909],120,true,true], + ["Land_BagFence_Long_F",[-2.30908,23.7244,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-19.7173,23.0505,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-19.7153,25.9265,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-18.3462,27.4314,-0.00143909],0,true,true], + ["Land_Cargo_Patrol_V3_F",[-15.4087,10.7146,-0.00143862],90,true,true], + ["Land_HBarrier_5_F",[-15.7407,14.7517,-0.00143909],0,true,true], + ["Land_HBarrier_5_F",[-6.33838,7.41382,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[4.87646,-28.4124,-0.00143909],330,true,true], + ["Land_HBarrier_3_F",[10.5171,0.540771,-0.00143909],0,true,true], + ["Land_HBarrier_3_F",[11.3687,-7.17212,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[23.0171,-13.6155,-0.00143909],285,true,true], + ["Land_HBarrier_Big_F",[3.04834,3.62964,-0.00143909],1.36604e-005,true,true], + ["Land_HBarrier_Big_F",[11.8745,-23.9084,-0.00143909],330,true,true], + ["Land_HBarrier_Big_F",[7.90967,0.343506,-0.00143909],90,true,true], + ["Land_HBarrier_Big_F",[24.978,-5.36938,-0.00143909],285,true,true], + ["Land_HBarrier_Big_F",[11.2808,-4.62427,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[25.9077,2.68921,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[4.35498,-2.41431,-0.00143909],90,true,true], + ["Land_HBarrier_1_F",[21.0073,-21.7493,-0.00143909],30,true,true], + ["Land_BagFence_Long_F",[19.1304,-21.6174,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[16.5073,-21.6174,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[7.89795,6.07788,-0.00143909],270,true,true], + ["Land_Loudspeakers_F",[21.2026,-15.3088,-0.00143909],196,true,true], + ["Land_HBarrier_5_F",[17.7847,6.20483,-0.00143909],270,true,true], + ["Land_HBarrier_5_F",[11.3823,-11.5022,-0.00143909],270,true,true], + ["Land_HBarrier_5_F",[5.75146,-0.244385,-0.00143909],90,true,true], + ["Land_Cargo_House_V3_F",[5.49561,-9.99927,-0.00143909],90,true,true], + ["Land_Cargo_House_V3_F",[5.03076,-17.6174,-0.00143909],150,true,true], + ["CamoNet_OPFOR_open_F",[22.6538,9.88257,-0.00143909],270,true,true], + ["Land_HBarrier_3_F",[18.7593,9.75757,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[9.20264,21.2849,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[15.9546,18.7849,-0.00143909],225,true,true], + ["Land_HBarrier_Big_F",[22.4077,16.1892,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[0.70459,21.283,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[25.7827,11.0642,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[4.57764,19.0466,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[4.57764,16.1716,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[11.3843,19.2634,-0.00143909],90,true,true], + ["Land_BagFence_End_F",[4.57764,14.4216,-0.00143909],90,true,true], + ["Land_BagFence_End_F",[7.68896,7.77515,-0.00143909],240,true,true], + ["Land_BagFence_End_F",[11.3843,17.5134,-0.00143909],90,true,true] +]; + +_missionLootBoxes = [ + //["Exile_Container_SupplyBox",[1.55273,0.0065918,-0.00143957],_crateLoot,_lootCounts,0.000522983] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + //["B_LSV_01_armed_F",[-41.377,-5.40894,-0.0238895],0.00171121], + //["B_LSV_01_armed_F",[39.5627,-5.26709,-0.0237107],0.00169144] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +//_chancePara = GMS_chanceParaGreen; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Green"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Green/weaponsResearch.sqf b/@GMS/addons/GMS/Missions/Green/weaponsResearch.sqf new file mode 100644 index 0000000..a701c8b --- /dev/null +++ b/@GMS/addons/GMS/Missions/Green/weaponsResearch.sqf @@ -0,0 +1,304 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +_startMsg = "A weapons research facility has been located. Strike authorized!!"; +_endMsg = "The weapons research facility has been neutralized."; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorWhite"; +_markerMissionName = "Research Center"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Land_TentHangar_V1_F",[0.0742188,75.9746,0],0,[false,false]], + ["Land_Dome_Big_F",[-1.35742,-8.57422,-7.15256e-006],0,[true,false]], + ["Land_TentHangar_V1_F",[-0.0664063,59.8516,0],180.836,[false,false]], + ["Land_TentHangar_V1_F",[-0.248047,42.0469,0],180.836,[false,false]], + ["Land_TentHangar_V1_F",[-0.462891,24.5547,-7.62939e-006],180.836,[false,false]], + ["Land_PaperBox_closed_F",[-8.71875,78.1113,-7.62939e-006],0,[false,false]], + ["Land_PaperBox_closed_F",[-9.14844,43.7402,0],0,[false,false]], + ["Land_PaperBox_closed_F",[8.96875,60.4375,0],0,[false,false]], + ["CargoNet_01_box_F",[-8.39844,64.4258,-7.62939e-006],0,[false,false]], + ["Land_Mil_ConcreteWall_F",[-7.74609,33.7598,0],0,[false,false]], + ["Land_Mil_ConcreteWall_F",[6.89453,33.5098,0],0,[false,false]], + ["Land_Mil_ConcreteWall_F",[-7.77734,51.2422,0],0,[false,false]], + ["Land_Mil_ConcreteWall_F",[7.5293,51.125,0],0,[false,false]], + ["Land_Mil_ConcreteWall_F",[7.80469,69.0371,0],0,[false,false]], + ["Land_Mil_ConcreteWall_F",[-7.76563,69.2305,0],0,[false,false]], + ["Land_Mil_ConcreteWall_F",[7.87695,85.3516,0],0,[false,false]], + ["Land_Mil_ConcreteWall_F",[-7.86328,85.3496,0],0,[false,false]], + ["CargoNet_01_box_F",[9.13477,78.3125,0],0,[false,false]], + ["CargoNet_01_box_F",[8.79297,42.9746,0],0,[false,false]], + ["Land_BagBunker_Small_F",[6.47266,23.8809,0],0,[false,false]], + ["Land_BagBunker_Small_F",[-8.06641,23.8867,0],0,[false,false]], + ["Land_BarGate_01_open_F",[-0.945313,26.3809,-7.62939e-006],0,[true,false]], + ["Land_TentHangar_V1_F",[-85.9727,-8.83008,0],269.718,[false,false]], + ["Land_TentHangar_V1_F",[-69.8477,-8.89063,0],90.5538,[false,false]], + ["Land_TentHangar_V1_F",[-52.043,-8.98438,0],90.5538,[false,false]], + ["Land_TentHangar_V1_F",[-34.5488,-9.11328,0],90.5538,[false,false]], + ["Land_PaperBox_closed_F",[-88.0645,-17.6348,0],269.718,[false,false]], + ["Land_PaperBox_closed_F",[-53.6914,-17.8945,-7.62939e-006],269.718,[false,false]], + ["Land_PaperBox_closed_F",[-70.4785,0.140625,0],269.718,[false,false]], + ["CargoNet_01_box_F",[-74.3809,-17.2441,0],269.718,[false,false]], + ["Land_Mil_ConcreteWall_F",[-43.7188,-16.4434,0],269.718,[false,false]], + ["Land_Mil_ConcreteWall_F",[-43.541,-1.80078,0],269.718,[false,false]], + ["Land_Mil_ConcreteWall_F",[-61.1992,-16.5586,0],269.718,[false,false]], + ["Land_Mil_ConcreteWall_F",[-61.1582,-1.25195,0],269.718,[false,false]], + ["Land_Mil_ConcreteWall_F",[-79.0723,-1.06445,0],269.718,[false,false]], + ["Land_Mil_ConcreteWall_F",[-79.1895,-16.6367,0],269.718,[false,false]], + ["Land_Mil_ConcreteWall_F",[-95.3867,-1.07422,0],269.718,[false,false]], + ["Land_Mil_ConcreteWall_F",[-95.3066,-16.8145,0],269.718,[false,false]], + ["CargoNet_01_box_F",[-88.3535,0.21875,0],269.718,[false,false]], + ["CargoNet_01_box_F",[-53.0156,0.0507813,-7.62939e-006],269.718,[false,false]], + ["Land_BagBunker_Small_F",[-33.9102,-2.17578,0],269.718,[false,false]], + ["Land_BagBunker_Small_F",[-33.8438,-16.7148,0],269.718,[false,false]], + ["Land_BarGate_01_open_F",[-36.373,-9.60742,-7.62939e-006],269.718,[true,false]], + ["Land_TentHangar_V1_F",[-60.4355,51.2891,0],315,[false,false]], + ["Land_TentHangar_V1_F",[-49.1348,39.7891,0],135.836,[false,false]], + ["Land_TentHangar_V1_F",[-36.6738,27.0703,0],135.836,[false,false]], + ["Land_TentHangar_V1_F",[-24.457,14.5508,0],135.836,[false,false]], + ["Land_PaperBox_closed_F",[-68.1641,46.582,0],315,[false,false]], + ["Land_PaperBox_closed_F",[-44.1641,21.9746,0],315,[false,false]], + ["Land_PaperBox_closed_F",[-43.1602,46.5918,0],315,[false,false]], + ["CargoNet_01_box_F",[-58.2617,37.1328,0],315,[false,false]], + ["Land_Mil_ConcreteWall_F",[-36.1152,15.9102,0],315,[false,false]], + ["Land_Mil_ConcreteWall_F",[-25.5859,26.0859,-7.62939e-006],315,[false,false]], + ["Land_Mil_ConcreteWall_F",[-48.5,28.25,0],315,[false,false]], + ["Land_Mil_ConcreteWall_F",[-37.5938,38.9902,0],315,[false,false]], + ["Land_Mil_ConcreteWall_F",[-50.0645,51.8496,-7.62939e-006],315,[false,false]], + ["Land_Mil_ConcreteWall_F",[-61.2109,40.9766,0],315,[false,false]], + ["Land_Mil_ConcreteWall_F",[-61.5488,63.4375,0],315,[false,false]], + ["Land_Mil_ConcreteWall_F",[-72.6777,52.3066,0],315,[false,false]], + ["Land_BagBunker_Small_F",[-19.0762,18.9785,0],315,[false,false]], + ["Land_BagBunker_Small_F",[-29.3613,8.70117,0],315,[false,false]], + ["Land_BarGate_01_open_F",[-26.0879,15.5,0],315,[true,false]], + ["Land_TentHangar_V1_F",[-1.01172,-91.8984,0],180,[false,false]], + ["Land_TentHangar_V1_F",[-0.871094,-75.7754,0],0.835817,[false,false]], + ["Land_TentHangar_V1_F",[-0.6875,-57.9688,0],0.835817,[false,false]], + ["Land_TentHangar_V1_F",[-0.474609,-40.4785,0],0.835817,[false,false]], + ["Land_PaperBox_closed_F",[7.78125,-94.0332,0],180,[false,false]], + ["Land_PaperBox_closed_F",[8.21094,-59.6621,0],180,[false,false]], + ["Land_PaperBox_closed_F",[-9.90625,-76.3613,0],180,[false,false]], + ["CargoNet_01_box_F",[7.46094,-80.3496,0],180,[false,false]], + ["Land_Mil_ConcreteWall_F",[6.80859,-49.6836,0],180,[false,false]], + ["Land_Mil_ConcreteWall_F",[-7.83203,-49.4336,0],180,[false,false]], + ["Land_Mil_ConcreteWall_F",[6.83984,-67.166,0],180,[false,false]], + ["Land_Mil_ConcreteWall_F",[-8.4668,-67.0469,0],180,[false,false]], + ["Land_Mil_ConcreteWall_F",[-8.74219,-84.9609,0],180,[false,false]], + ["Land_Mil_ConcreteWall_F",[6.82813,-85.1543,0],180,[false,false]], + ["Land_Mil_ConcreteWall_F",[-8.81445,-101.273,0],180,[false,false]], + ["Land_Mil_ConcreteWall_F",[6.92578,-101.271,0],180,[false,false]], + ["CargoNet_01_box_F",[-10.0723,-94.2344,0],180,[false,false]], + ["CargoNet_01_box_F",[-9.73047,-58.8984,0],180,[false,false]], + ["Land_BagBunker_Small_F",[-7.41016,-39.8027,-7.62939e-006],180,[false,false]], + ["Land_BagBunker_Small_F",[7.12891,-39.8105,-7.62939e-006],180,[false,false]], + ["Land_BarGate_01_open_F",[0.0078125,-42.3047,0],180,[false,false]], + ["Land_TentHangar_V1_F",[-61.5098,-68.0996,0],225,[false,false]], + ["Land_TentHangar_V1_F",[-50.0098,-56.7988,0],45.8358,[false,false]], + ["Land_TentHangar_V1_F",[-37.291,-44.3379,0],45.8358,[false,false]], + ["Land_TentHangar_V1_F",[-24.7715,-32.1211,0],45.8358,[false,false]], + ["Land_PaperBox_closed_F",[-56.8027,-75.8281,0],225,[false,false]], + ["Land_PaperBox_closed_F",[-32.1953,-51.8281,0],225,[false,false]], + ["Land_PaperBox_closed_F",[-56.8125,-50.8242,0],225,[false,false]], + ["CargoNet_01_box_F",[-47.3535,-65.9258,0],225,[false,false]], + ["Land_Mil_ConcreteWall_F",[-26.1289,-43.7793,0],225,[false,false]], + ["Land_Mil_ConcreteWall_F",[-36.3047,-33.25,-7.62939e-006],225,[false,false]], + ["Land_Mil_ConcreteWall_F",[-38.4688,-56.1641,0],225,[false,false]], + ["Land_Mil_ConcreteWall_F",[-49.2109,-45.2578,0],225,[false,false]], + ["Land_Mil_ConcreteWall_F",[-62.0703,-57.7285,0],225,[false,false]], + ["Land_Mil_ConcreteWall_F",[-51.1973,-68.875,0],225,[false,false]], + ["Land_Mil_ConcreteWall_F",[-73.6582,-69.2129,0],225,[false,false]], + ["Land_Mil_ConcreteWall_F",[-62.5273,-80.3418,0],225,[false,false]], + ["CargoNet_01_box_F",[-69.5703,-63.3457,0],225,[false,false]], + ["CargoNet_01_box_F",[-44.3398,-38.5996,-7.62939e-006],225,[false,false]], + ["Land_BagBunker_Small_F",[-29.1992,-26.7402,0],225,[false,false]], + ["Land_BagBunker_Small_F",[-18.9219,-37.0254,0],225,[false,false]], + ["Land_BarGate_01_open_F",[-25.7207,-33.7539,0],225,[true,false]], + ["Land_TentHangar_V1_F",[84.623,-9.68555,0],90,[false,false]], + ["Land_TentHangar_V1_F",[68.5,-9.54492,0],270.836,[false,false]], + ["Land_TentHangar_V1_F",[50.6953,-9.36328,0],270.836,[false,false]], + ["Land_TentHangar_V1_F",[33.2031,-9.14844,0],270.836,[false,false]], + ["Land_PaperBox_closed_F",[86.7598,-0.892578,0],90,[false,false]], + ["Land_PaperBox_closed_F",[52.3887,-0.462891,0],90,[false,false]], + ["Land_PaperBox_closed_F",[69.0859,-18.5801,0],90,[false,false]], + ["CargoNet_01_box_F",[73.0742,-1.21289,0],90,[false,false]], + ["Land_Mil_ConcreteWall_F",[42.4082,-1.86523,0],90,[false,false]], + ["Land_Mil_ConcreteWall_F",[42.1582,-16.5059,0],90,[false,false]], + ["Land_Mil_ConcreteWall_F",[59.8906,-1.83398,0],90,[false,false]], + ["Land_Mil_ConcreteWall_F",[59.7734,-17.1406,0],90,[false,false]], + ["Land_Mil_ConcreteWall_F",[77.6855,-17.416,0],90,[false,false]], + ["Land_Mil_ConcreteWall_F",[77.8789,-1.8457,0],90,[false,false]], + ["Land_Mil_ConcreteWall_F",[94,-17.4883,0],90,[false,false]], + ["Land_Mil_ConcreteWall_F",[93.998,-1.74805,0],90,[false,false]], + ["CargoNet_01_box_F",[86.9609,-18.7461,0],90,[false,false]], + ["CargoNet_01_box_F",[51.623,-18.4043,0],90,[false,false]], + ["Land_BagBunker_Small_F",[32.5293,-16.084,0],90,[false,false]], + ["Land_BagBunker_Small_F",[32.5352,-1.54492,0],90,[false,false]], + ["Land_BarGate_01_open_F",[35.0293,-8.66602,0],90,[true,false]], + ["Land_TentHangar_V1_F",[47.9863,39.2109,0],225.836,[false,false]], + ["Land_TentHangar_V1_F",[35.2676,26.75,0],225.836,[false,false]], + ["Land_TentHangar_V1_F",[22.748,14.5332,0],225.836,[false,false]], + ["Land_PaperBox_closed_F",[54.7793,58.2402,0],45,[false,false]], + ["Land_PaperBox_closed_F",[30.1719,34.2402,0],45,[false,false]], + ["Land_PaperBox_closed_F",[54.7891,33.2363,0],45,[false,false]], + ["CargoNet_01_box_F",[45.3301,48.3379,0],45,[false,false]], + ["Land_Mil_ConcreteWall_F",[24.1074,26.1914,0],45,[false,false]], + ["Land_Mil_ConcreteWall_F",[34.2832,15.6621,0],45,[false,false]], + ["Land_Mil_ConcreteWall_F",[36.4473,38.5762,0],45,[false,false]], + ["Land_Mil_ConcreteWall_F",[47.1875,27.6699,0],45,[false,false]], + ["Land_Mil_ConcreteWall_F",[60.0469,40.1406,0],45,[false,false]], + ["Land_Mil_ConcreteWall_F",[49.1738,51.2871,0],45,[false,false]], + ["Land_Mil_ConcreteWall_F",[71.6348,51.625,0],45,[false,false]], + ["Land_Mil_ConcreteWall_F",[60.5039,62.7539,0],45,[false,false]], + ["Land_BagBunker_Small_F",[27.1758,9.15234,0],45,[false,false]], + ["Land_BagBunker_Small_F",[16.8984,19.4375,0],45,[false,false]], + ["Land_BarGate_01_open_F",[23.6973,16.1641,0],45,[true,false]], + ["Land_TentHangar_V1_F",[59.8828,-69.1582,0],135,[false,false]], + ["Land_TentHangar_V1_F",[48.582,-57.6582,0],315.836,[false,false]], + ["Land_TentHangar_V1_F",[36.1211,-44.9395,0],315.836,[false,false]], + ["Land_TentHangar_V1_F",[23.9043,-32.4199,-7.62939e-006],315.836,[false,false]], + ["Land_PaperBox_closed_F",[67.6113,-64.4512,0],135,[false,false]], + ["Land_PaperBox_closed_F",[43.6113,-39.8438,0],135,[false,false]], + ["Land_PaperBox_closed_F",[42.6074,-64.4609,0],135,[false,false]], + ["CargoNet_01_box_F",[57.709,-55.002,0],135,[false,false]], + ["Land_Mil_ConcreteWall_F",[35.5625,-33.7773,0],135,[false,false]], + ["Land_Mil_ConcreteWall_F",[25.0332,-43.9531,-7.62939e-006],135,[false,false]], + ["Land_Mil_ConcreteWall_F",[47.9473,-46.1172,0],135,[false,false]], + ["Land_Mil_ConcreteWall_F",[37.041,-56.8594,0],135,[false,false]], + ["Land_Mil_ConcreteWall_F",[49.5117,-69.7188,0],135,[false,false]], + ["Land_Mil_ConcreteWall_F",[60.6582,-58.8457,0],135,[false,false]], + ["Land_Mil_ConcreteWall_F",[60.9961,-81.3066,0],135,[false,false]], + ["Land_Mil_ConcreteWall_F",[72.125,-70.1758,0],135,[false,false]], + ["CargoNet_01_box_F",[55.1289,-77.2188,0],135,[false,false]], + ["CargoNet_01_box_F",[30.3828,-51.9883,0],135,[false,false]], + ["Land_BagBunker_Small_F",[18.5234,-36.8477,-7.62939e-006],135,[false,false]], + ["Land_BagBunker_Small_F",[28.8086,-26.5703,0],135,[false,false]], + ["Land_BarGate_01_open_F",[25.5371,-33.3691,-7.62939e-006],135,[false,false]], + ["Land_Research_house_V1_F",[14.6934,-20.2344,0],305.744,[false,false]], + ["Land_Research_house_V1_F",[17.6934,-13.2344,0],279.063,[false,false]], + ["Land_Research_house_V1_F",[8.69336,-25.2344,0],331.05,[false,false]], + ["Land_Pallets_stack_F",[-16.6465,5.51758,0],128.201,[false,false]], + ["Land_Pallets_stack_F",[-14.2695,3.6875,0],128.201,[false,false]], + ["Land_Pallets_stack_F",[-11.8926,1.85742,0],128.201,[false,false]], + ["Land_Missle_Trolley_02_F",[-14.8145,7.89453,-7.62939e-006],37.6118,[false,false]], + ["Land_Missle_Trolley_02_F",[-13.2305,6.67383,-7.62939e-006],37.6118,[false,false]], + ["Land_Missle_Trolley_02_F",[-11.6465,5.45313,0],37.6118,[false,false]], + ["Land_Missle_Trolley_02_F",[-10.0625,4.23242,0],37.6118,[false,false]], + ["Land_Bomb_Trolley_01_F",[-18.4766,3.14258,-7.62939e-006],37.6118,[false,false]], + ["Land_Bomb_Trolley_01_F",[-16.8926,1.92188,0],37.6118,[false,false]], + ["Land_Bomb_Trolley_01_F",[-15.3086,0.701172,0],37.6118,[false,false]], + ["Land_Bomb_Trolley_01_F",[-13.7246,-0.519531,0],37.6118,[false,false]], + ["Land_Limestone_01_apart_F",[-79.373,26.5801,0],0,[false,false]], + ["Land_Limestone_01_apart_F",[-30.4473,72.3594,-7.62939e-006],0,[false,false]], + ["Land_Limestone_01_apart_F",[31.6953,72.8027,0],0,[false,false]], + ["Land_Limestone_01_apart_F",[81.9727,26.3945,0],0,[false,false]], + ["Land_Limestone_01_apart_F",[81.6934,-42.2344,0],0,[false,false]], + ["Land_Limestone_01_apart_F",[28.2871,-90.7949,0],0,[false,false]], + ["Land_Limestone_01_apart_F",[-42.0684,-90.1152,0],0,[false,false]], + ["Land_Limestone_01_apart_F",[-86.3066,-40.2344,0],0,[false,false]], + ["Land_Research_house_V1_F",[8.69336,6.76563,0],210,[true,false]], + ["Land_Research_house_V1_F",[17.6934,-5.23438,0],256.382,[true,false]], + ["Land_Research_house_V1_F",[14.6934,1.76563,0],229.931,[true,false]], + ["Land_Pallets_stack_F",[-20.3066,0.765625,0],128.201,[false,false]], + ["Land_Pallets_stack_F",[-17.9316,-1.06445,-7.62939e-006],128.201,[false,false]], + ["Land_Pallets_stack_F",[-15.5547,-2.89648,0],128.201,[false,false]], + ["Land_Pallets_stack_F",[-12.6465,10.5176,0],128.201,[false,false]], + ["Land_Pallets_stack_F",[-10.2695,8.6875,0],128.201,[false,false]], + ["Land_Pallets_stack_F",[-7.89258,6.85742,-7.62939e-006],128.201,[false,false]], + ["Land_Pallets_stack_F",[-15.3223,-23.4551,0],42.837,[false,false]], + ["Land_Pallets_stack_F",[-13.3066,-21.2344,0],42.837,[false,false]], + ["Land_Pallets_stack_F",[-11.291,-19.0137,0],42.837,[false,false]], + ["Land_Missle_Trolley_02_F",[-17.5449,-21.4375,0],312.248,[false,false]], + ["Land_Missle_Trolley_02_F",[-16.1992,-19.957,0],312.248,[false,false]], + ["Land_Missle_Trolley_02_F",[-14.8535,-18.4766,-7.62939e-006],312.248,[false,false]], + ["Land_Missle_Trolley_02_F",[-13.5098,-16.9961,-7.62939e-006],312.248,[false,false]], + ["Land_Bomb_Trolley_01_F",[-13.1035,-25.4727,0],312.248,[false,false]], + ["Land_Bomb_Trolley_01_F",[-11.7598,-23.9922,0],312.248,[false,false]], + ["Land_Bomb_Trolley_01_F",[-10.4141,-22.5117,-7.62939e-006],312.248,[false,false]], + ["Land_Bomb_Trolley_01_F",[-9.06836,-21.0313,0],312.248,[false,false]], + ["Land_Pallets_stack_F",[-10.8828,-27.4883,0],42.837,[false,false]], + ["Land_Pallets_stack_F",[-8.86719,-25.2695,0],42.837,[false,false]], + ["Land_Pallets_stack_F",[-6.84766,-23.0469,0],42.837,[false,false]], + ["Land_Pallets_stack_F",[-19.9824,-19.0645,0],42.837,[false,false]], + ["Land_Pallets_stack_F",[-17.9668,-16.8438,0],42.837,[false,false]], + ["Land_Pallets_stack_F",[-15.9512,-14.6211,0],42.837,[false,false]] +]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = + [ + ["I_HMG_01_high_F",[-81.582,-85.3574,4.34404],200.653], + ["I_HMG_01_high_F",[-83.5313,-83.3965,4.34404],245.993], + ["I_HMG_01_high_F",[-80.2012,80.7539,4.34404],0], + ["I_HMG_01_high_F",[-82.4883,78.7695,4.34404],288.905], + ["B_GMG_01_A_F",[-27.2188,-65.0156,3.12658],0], + ["B_GMG_01_high_F",[20.1133,60.8809,3.12651],0], + ["I_HMG_01_high_F",[83.8516,-82.3105,4.34404],112.633], + ["I_HMG_01_high_F",[81.6035,-84.8262,4.34404],155.597], + ["I_HMG_01_high_F",[80.8594,81.623,4.34404],27.6525], + ["I_HMG_01_high_F",[82.9082,79.2539,4.34404],72.8313] + ]; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used + +_missionGroups = + [ + //_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"]; + [[-98.9121,-35.9824,-1.20243],5,7,"Green",5,12], + [[-99.2305,-33.0215,-0.941586],5,7,"Green",5,12], + [[42.5605,-42.4043,-0.00143886],5,7,"Green",5,12], + [[-4.61133,-1.5918,-0.001438863],5,7,"Green",5,12], + [[41.3438,41.8477,-0.00143886],5,7,"Green",5,12], + [[59.5547,-0.470703,-0.00143886],5,7,"Green",5,12], + [[-43.4141,-42.166,-0.00143886],5,7,"Green",5,12], + [[-0.455078,-58.2168,-0.00143886],5,7,"Green",5,12], + [[-43.1605,121.8047,-0.00143886],5,7,"Green",5,12], + [[-60.9473,-0.652344,-0.00143886],5,7,"Green",5,12], + [[-0.529297,59.5645,-0.00143886],5,7,"Green",5,12] + ]; // Can be used to define spawn positions of AI patrols + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehiclesGreen,[92.6699,40.4102,0.000393867],0,[true,false]], + [selectRandom GMS_AIPatrolVehiclesGreen,[92.6133,40.377,0.000393867],0,[true,false]], + [selectRandom GMS_AIPatrolVehiclesGreen,[-99.3867,-35.623,0.000393867],0,[true,false]] + //[selectRandom GMS_AIPatrolVehiclesGreen,[-87.8457,-109.947,7.15256e-007],0,[true,false]] +]; // can be used to define the spawn positions of vehicle patrols + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; + +/* +Need to spawn crates INSIDE the dome +*/ +//_chancePara = GMS_chanceParaGreen; +_spawnCratesTiming = "atMissionSpawnGround"; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir". +//_loadCratesTiming = "atMissionSpawn"; // valid choices are "atMissionCompletion" and "atMissionSpawn"; +//_chanceLoot = 0.6; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/HeliCrashs/Crashes2.sqf b/@GMS/addons/GMS/Missions/HeliCrashs/Crashes2.sqf new file mode 100644 index 0000000..35a65b0 --- /dev/null +++ b/@GMS/addons/GMS/Missions/HeliCrashs/Crashes2.sqf @@ -0,0 +1,178 @@ +fn_selectCrateType = { + private["_item"]; + _item = ""; + switch (toLowerANSI(GMSCore_modtype)) do + { + case "epoch": {_item = "GroundWeaponHolder"}; + case "exile": {_item = "Box_NATO_Wps_F"}; + default {_item = "Box_NATO_Wps_F"}; + //default {_item = "GroundWeaponHolder"}; + //default {_item = "weaponHolderSimulated"}; + }; + _item +}; + +fn_spawnLootContainers = { + params["_pos","_type","_level"]; + _type = call fn_selectCrateType; + + private["_obj","_crate","_lootPos"]; + _obj = []; + for "_j" from 1 to (1 + floor(random(_level))) do + { + _lootPos = [ (_pos select 0) + (((random 5) + 5) * (selectRandom[1,-1])),(_pos select 1) + (((random 5) + 5) * (selectRandom[1,-1])), 0.05 ]; + _crate0 = createVehicle [_type,_lootPos, [], 5, "CAN_COLLIDE"]; + _crate0 setVariable["LAST_CHECK", 100000]; + _obj pushback _crate0; + }; + _obj +}; + +fn_fillContainer = { + params["_cntr","_diff","_lType","_level"]; + if (toLower(GMSCore_modtype) isEqualTo "epoch") then + { + switch (_diff) do + { + case "Blue": { + if (_lType isEqualto "ammo") then + { + //GMS_lootCountsBlue = [4,12,3,6,6,1]; // Blue + //_lootCountsBlueAmmo = [2,4,2,2,2,0]; + _lootCountsBlueAmmo = [floor(random(4)),floor(random(0)),floor(random(3)),floor(random(3)),0,1]; + // params["_crate","_boxLoot","_itemCnts"]; + [_cntr,GMS_BoxLoot_Blue,_lootCountsBlueAmmo] call GMS_fnc_fillBoxes; + }; + if (_lType isEqualTo "supplies") then + { + //_lootCountsBlueSupplies = [1,4,5,5,1]; + _lootCountsBlueSupplies = [floor(random(2)),floor(random(0)),floor(random(6)),floor(random(6)),floor(random(6)),0]; + [_cntr,GMS_BoxLoot_Blue,_lootCountsBlueSupplies] call GMS_fnc_fillBoxes; + }; + + }; + case "Red": { + if (_lType isEqualto "ammo") then + { + //_lootCountsRedAmmo = [3,6,3,3,3,0]; + _lootCountsRedAmmo = [floor(random(5)),floor(random(0)),floor(random(4)),floor(random(4)),0,1]; + // params["_crate","_boxLoot","_itemCnts"]; + [_cntr,GMS_BoxLoot_Red,_lootCountsRedAmmo] call GMS_fnc_fillBoxes; + }; + if (_lType isEqualTo "supplies") then + { + //_lootCountsRedSupplies = [2,7,7,7,2]; + _lootCountsRedSupplies = [floor(random(2)),floor(random(5)),floor(random(7)),floor(random(7)),floor(random(7)),floor(random(7))]; + [_cntr,GMS_BoxLoot_Red,_lootCountsRedSupplies] call GMS_fnc_fillBoxes; + }; + }; + }; + }; +}; + + +GMS_activeCrashSites = 0; +_fn_spawnWreckMission = { + params["_index","_posOfCrash"]; + + GMS_activeCrashSites = GMS_activeCrashSites + 1; + GMS_ActiveMissionCoords pushBack _posOfCrash; + private _crashSiteMissions = [ + ["Plane_Fighter_03_wreck_F","Fighter Crash", "A %1 lord crashed his jet fighter","Survivors secured a jet crash site",5,7,"Red","ammo",3], + ["Land_UWreck_MV22_F","Osprey Crash", "A %1 lord crashed his MV22","Survivors secured an MV22 crash site",5,7,"Red","ammo",3], + ["Land_Wreck_Plane_Transport_01_F","C-192 Crash", "A %1 pilot crashed a C-192","Survivors secured a C-192 crash site",5,7,"Red","supplies",3], + ["Land_Wreck_Heli_Attack_02_F","MI-48 Crash", "A %1 pilot crashed an MI-48","Survivors secured an Mi-48 crash site",5,7,"Red","ammo",3], + ["Land_Wreck_Heli_Attack_01_F","Blackfoot Crash","A %1 pilot crashed a Blackfoot","Survivors secured a Blackfoot crash site",5,7,"Red","ammo",3], + ["Land_Scrap_MRAP_01_F","MRAP Crash","An MRAP was crashed in a %1 convoy","Survivors have secured the crashe site",4,5,"Blue","ammo",2], + ["Land_Wreck_Offroad2_F","Offroad Crash","A pickup in a %1 convoy has crashed","Survivors have secured the crash site",4,5,"Red","ammo",3], + ["Land_Wreck_Offroad_F","Offroad Crash","A pickup in a %1 convoy has crashed","Survivors have secured the crash site",4,5,"Blue","ammo",2], + ["Land_Wreck_Hunter_F","Hunter Crashed","A Hunter in a %1 convoy has crashed","Survivors have secured the crash site",5,7,"Red","ammo",3], + ["Land_Wreck_HMMWV_F","HMMV Crash","A HMMVV in a %1 convoy has crashed","Survivors have secured the crash site",5,7,"Red","ammo",3], + ["Land_Wreck_Ural_F","Ural Crash","A Ural in a %1 convoy has crashed","Survivors have secured the crash site",4,5,"Blue","supplies",2] + ]; + private _uniformsHC = ["U_C_Scientist","U_OrestesBody","U_NikosAgedBody","U_NikosBody"]; + if ((toLower GMSCore_modtype) isEqualTo "epoch") then + { + _uniformsHC = _uniformsHC + GMS_femaleUniformsEpoch; + }; + private _headGearHC = ["H_StrawHat_dark","H_StrawHat","H_Hat_brown","H_Hat_grey"]; + private _mission = selectRandom _crashSiteMissions; + [format["_crashes2: _mission = %1",_mission]] call GMS_fnc_log; + _mission params ["_wreckName","_markerLabel","_startMsg","_endMsg","_minAI","_maxAI","_difficulty","_lootType","_level"]; + private _crashName = format["CrashSite%1",_index]; + + if ((GMS_debugLevel > 0)) then {diag_log format["<<--->> Crash site %1 spawned at %2",_crashName,_posOfCrash];}; + + private _markers = [_crashName,_posOfCrash,_markerLabel,"ColorGreen","mil_triangle",[],""] call GMS_fnc_createMissionMarkers; + if (GMSCore_modtype isEqualTo "Epoch") then + { + _startMsg = format[_startMsg,"Bandit"]; + }; + if (GMSCore_modtype isEqualTo "Exile") then + { + _startMsg = format[_startMsg,"Mafia"]; + }; + + [["start",_startMsg,format["%1",_markerLabel]]] call GMS_fnc_messageplayers; + private _crashedVehicle = _wreckName createVehicle [0,0,0]; + _crashedVehicle setpos [(_posOfCrash) select 0,(_posOfCrash) select 1,0]; + private _missionLandscape = ["Land_WoodPile_F","Land_TentA_F","Land_TentA_F","Land_BagFence_Short_F","Land_Sacks_heap_F","Land_Sacks_heap_F","Land_Grave_rocks_F","Land_Grave_rocks_F"]; + private _obj = [_posOfCrash,_missionLandscape] call GMS_fnc_spawnRandomLandscape; + _obj pushback _crashedVehicle; + private _containers = [_posOfCrash,call fn_selectCrateType /*_containerType*/,_level] call fn_spawnLootContainers; + { + [_x,_difficulty,_lootType,_level] call fn_fillContainer; + private _cutter0 = "Land_ClutterCutter_medium_F" createVehicle (getpos _x); + _cutter0 setVariable ["LAST_CHECK", 100000]; + _obj pushback _cutter0; + _obj pushback _x; + }forEach _containers; + #define waypointDimensions [60,60] + private _numberAI = [_minAI,_maxAI] call GMSCore_fnc_getIntegerFromRange; + + private _group = [_posOfCrash,_numberAI,_difficulty,waypointDimensions,_uniformsHC,_headGearHC] call GMS_fnc_spawnGroup; + GMS_monitoredMissionAIGroups pushBack _group; + + if (GMS_showCountAliveAI) then + { + [_markers select 1,_markerLabel,units _group] call GMS_fnc_updateMarkerAliveCount; + GMS_missionLabelMarkers pushBack [_markers select 1,_markerLabel,units _group]; + }; + if !(isNull _group) then + { + waitUntil{uiSleep 3; {(isPlayer _x) && (_x distance2d _posOfCrash) < 25 /*&& (vehicle _x == _x)*/} count allPlayers > 0}; + }; + [_posOfCrash] spawn GMS_fnc_missionCompleteMarker; + diag_log format["crashes2 (145) _crashName = %1",_crashName]; + [_markers select 1] call GMS_fnc_deleteMarker; + [["end",_endMsg,_markerLabel]] call GMS_fnc_messageplayers; + if ((GMS_debugLevel > 0)) then {diag_log format["<<--->> crash site %1 at %1 cleared",_CrashName,_posOfCrash];}; + [_obj, (diag_tickTime + GMS_cleanupCompositionTimer)] call GMSCore_fnc_addToDeletionCue; + GMS_liveMissionAI pushback [_posOfCrash,units _group, (diag_tickTime + GMS_AliveAICleanUpTimer)]; + GMS_recentMissionCoords pushback[_posOfCrash,diag_tickTime]; + GMS_ActiveMissionCoords = GMS_ActiveMissionCoords - _posOfCrash; + GMS_activeCrashSites = GMS_activeCrashSites - 1; +}; + +diag_log "[GMS] <<--->> starting crash site monitor"; + +private _index = 0; +private _lootNum = 5; + +while {true} do +{ + if (GMS_activeCrashSites < GMS_maxCrashSites) then // Spawn another site + { + uiSleep ((GMS_TMin_Crashes + random(GMS_TMax_Crashes)) - GMS_TMin_Crashes); + if (diag_FPS > GMS_minFPS) then + { + _index = _index + 1; + private _posOfCrash = [] call GMS_fnc_findSafePosn; + if !(_posOfCrash isEqualTo []) then + { + [_index,_posOfCrash] spawn _fn_spawnWreckMission; + }; + }; + }; + uiSleep 20; +}; diff --git a/@GMS/addons/GMS/Missions/Hunters/Hunters.sqf b/@GMS/addons/GMS/Missions/Hunters/Hunters.sqf new file mode 100644 index 0000000..8969da6 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Hunters/Hunters.sqf @@ -0,0 +1,55 @@ +/* + +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Hunters Mission"; + +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = [3,6,3,4,10,1]; +_startMsg = "A group of Bandit Hunters was sighted in a nearby sector! Check the Red Triangular marker on your map for the location!"; +_endMsg = "The Hunter Camp is under Survivor Control!"; +_markerLabel = "Hunters"; +_markerType = ["mil_triangle",[0,0]]; +_markerColor = "ColorRed"; +_markerMissionName = "Hunters"; +_missionLandscapeMode = "random"; // acceptable values are "none","random","precise" +_missionLandscape = ["Land_Cargo_Patrol_V1_F","Land_WoodPile_F","Land_BagFence_Short_F","Land_BagFence_Short_F","Land_BagFence_Short_F","Land_TentA_F","Land_HBarrier_3_F","Land_HBarrier_3_F","Land_HBarrier_3_F","Land_HBarrier_3_F","Land_HBarrier_3_F","Land_HBarrier_3_F","Land_Wreck_Truck_F","Land_Wreck_Hunter_F"]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_useMines = true; +_minNoAI = 9; +_maxNoAI = 12; +_noAIGroups = 3; +_noVehiclePatrols = -1; +_noEmplacedWeapons = -1; +_uniforms = ["U_OG_leader","U_O_PilotCoveralls","U_O_CombatUniform_ocamo","U_OG_leader","U_O_PilotCoveralls","U_O_CombatUniform_ocamo","U_OG_leader","U_O_PilotCoveralls","U_O_CombatUniform_ocamo","U_O_FullGhillie_lsh","U_O_FullGhillie_sard","U_O_FullGhillie_ard"]; + + +if (GMSCore_modtype isEqualTo "Epoch") then +{ + _headGear = ["H_39_EPOCH","H_40_EPOCH","H_41_EPOCH","H_43_EPOCH","H_44_EPOCH","H_45_EPOCH","H_46_EPOCH"]; + //_uniforms = _uniforms + GMS_femaleUniformsEpoch; +}; +if (GMSCore_modtype isEqualTo "Exile") then +{ + _headGear = ["H_Booniehat_dgtl","H_Booniehat_dirty","H_Booniehat_grn","H_Booniehat_indp","H_Booniehat_khk","H_Booniehat_khk_hs","H_Booniehat_mcamo","H_Booniehat_tan"]; +}; + +_chancePara = 0; +_noPara = 0; +_chanceHeli = 0; +_noChoppers = 0; +/* + "_spawnCratesTiming", + "_loadCratesTiming", + "_endCondition", +*/ +_endCondition = allKilledOrPlayerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/Ammunition_depot.sqf b/@GMS/addons/GMS/Missions/Orange/Ammunition_depot.sqf new file mode 100644 index 0000000..39674fb --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/Ammunition_depot.sqf @@ -0,0 +1,170 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Orange Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +_startMsg = "An Anemy Ammunition Depot was sighted in a nearby sector! Check the Orange marker on your map for the location!"; +_endMsg = "The Ammunition depot at the Orange Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorOrange"; +_markerMissionName = "Ammunition Depot"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_MilOffices_V1_F",[0.936035,53.2339,-0.00146103],0.0551743,true,true,[["B_HMG_01_high_F",[-14.6453,4.44092,0.48988],0.00164355],["B_HMG_01_high_F",[16.2224,2.84473,0.48988],0.00164314],["B_HMG_01_high_F",[16.2043,-18.5793,-0.0121188],360],["B_HMG_01_high_F",[19.0071,-25.5498,-0.0121188],360]],[]] +]; + + + +_missionLandscape = [ + //["babe_helper",[-3584.79,-2745.02,-0.00146103],0,true,true], + //["Sign_Arrow_Green_F",[-3582.29,-2745.52,-0.00146103],0,true,true], + //["Sign_Arrow_F",[-3582.29,-2745.52,-0.00146103],0,true,true], + //["Sign_Arrow_Yellow_F",[-3582.29,-2745.52,-0.00146103],0,true,true], + ["Land_dp_smallTank_F",[-23.4897,0.757568,-0.00146103],315.055,true,true], + ["Land_HBarrier_Big_F",[-30.251,0.998047,-0.00146103],90.6364,true,true], + ["Land_HBarrier_Big_F",[-30.0261,-4.99609,-0.00146103],88.8324,true,true], + ["Land_HBarrier_Big_F",[-24.3879,-7.97534,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[-15.9822,-8.03101,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[-7.62939,-8.03394,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[-30.4287,8.68091,-0.00146103],90.6364,true,true], + ["Land_HBarrier_Big_F",[-30.5715,17.0325,-0.00146103],90.6364,true,true], + ["Land_HBarrier_Big_F",[-30.8035,33.8059,-0.00146103],90.6364,true,true], + ["Land_HBarrier_Big_F",[-30.7122,25.4006,-0.00146103],90.6364,true,true], + ["Land_i_Barracks_V1_F",[-21.0911,25.2551,-0.00146103],270.055,true,true], + ["Land_LampHalogen_F",[-30.0498,68.0146,-0.00146055],240.055,true,true], + ["Land_Medevac_house_V1_F",[-25.7917,63.0088,-0.00146103],359.798,true,true], + ["Land_Medevac_house_V1_F",[-25.821,54.4678,-0.00146103],179.534,true,true], + ["Land_Tank_rust_F",[-26.2607,48.0527,-0.00146103],180.055,true,true], + ["Land_HBarrier_Big_F",[-26.0667,70.3225,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[-0.915771,70.2883,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[-9.30811,70.2639,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[-17.6609,70.2668,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[-30.9465,42.1575,-0.00146103],90.6364,true,true], + ["Land_HBarrier_Big_F",[-31.3367,67.2683,-0.00146103],90.6364,true,true], + ["Land_HBarrier_Big_F",[-31.1025,50.5112,-0.00146103],90.6364,true,true], + ["Land_HBarrier_Big_F",[-31.1938,58.9167,-0.00146103],90.6364,true,true], + ["Land_LampHalogen_F",[12.158,-7.74023,-0.00146055],90.0552,true,true], + ["Land_HBarrier_Big_F",[17.4336,-8.0415,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[25.7888,-8.03149,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[0.675049,-7.98291,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[9.08105,-8.03857,-0.00146103],181.637,true,true], + ["Land_HelipadSquare_F",[31.1362,2.08008,-0.00146103],180.086,true,true], + ["Land_BagFence_Long_F",[23.658,6.82251,-0.00146103],90.0552,true,true], + ["Land_BagFence_Long_F",[14.4004,5.9585,-0.00146103],90.0552,true,true], + ["Land_i_Shed_Ind_F",[0.762939,3.73413,-0.00146103],179.98,true,true], + ["Land_PortableLight_double_F",[19.6589,24.5911,-0.00146103],240.055,true,true], + ["Land_BagFence_Round_F",[13.7778,8.4668,-0.00146103],225.055,true,true], + ["Land_BagFence_Round_F",[24.2874,9.32739,-0.00146103],135.055,true,true], + ["Land_CncWall4_F",[19.353,37.1301,-0.00146103],269.856,true,true], + ["Land_CncWall4_F",[19.3921,31.9155,-0.00146103],269.856,true,true], + ["Land_BagFence_Long_F",[11.2759,9.09644,-0.00146103],180.055,true,true], + ["Land_BagFence_Long_F",[26.7832,9.94385,-0.00146103],0.0551743,true,true], + ["Land_LampHalogen_F",[19.0601,40.1711,-0.00146055],315.055,true,true], + ["Land_HBarrier_Big_F",[15.8428,70.2297,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[7.49023,70.2327,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[24.198,70.2397,-0.00146103],181.637,true,true], + ["Land_CncWall4_F",[22.377,40.0833,-0.00146103],0,true,true], + ["Land_CncWall4_F",[27.5962,40.116,-0.00146103],0,true,true], + ["Land_LampHalogen_F",[45.8774,-7.93433,-0.00146055],60.0552,true,true], + ["Land_LampHalogen_F",[45.5952,6.93604,-0.00146055],180.055,true,true], + ["Land_Tank_rust_F",[43.6697,0.581299,-0.00146103],90.0552,true,true], + ["Land_HBarrier_Big_F",[42.5474,-8.09009,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[47.6099,-4.77002,-0.00146103],90.055,true,true], + ["Land_HBarrier_Big_F",[34.1946,-8.08716,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[47.4333,3.63403,-0.00146103],90.055,true,true], + ["Land_BagFence_Round_F",[53.0293,5.18921,-0.00146103],315.055,true,true], + ["Land_BagFence_Long_F",[50.5286,4.56616,-0.00146103],180.055,true,true], + ["Land_BagFence_Long_F",[39.7786,6.70166,-0.00146103],90.0552,true,true], + ["Land_Wall_IndCnc_Pole_F",[46.9377,21.1001,-0.00146103],90.0552,true,true], + ["Land_Shed_Big_F",[31.9468,31.2043,-0.00146151],89.7488,true,true], + ["Land_HBarrier_Big_F",[46.9426,33.5571,-0.00146103],90.055,true,true], + ["Land_HBarrier_Big_F",[47.1191,25.1531,-0.00146103],90.055,true,true], + ["Land_BagFence_Round_F",[39.1563,9.17456,-0.00146103],225.055,true,true], + ["Land_BagFence_Round_F",[53.0469,24.4275,-0.00146103],225.055,true,true], + ["Land_BagFence_Long_F",[36.6648,9.80176,-0.00146103],180.055,true,true], + ["Land_BagFence_Long_F",[53.6729,21.9277,-0.00146103],90.0552,true,true], + ["Land_BagFence_Long_F",[50.5496,25.0559,-0.00146103],180.055,true,true], + ["Land_BagFence_Long_F",[53.6707,7.68921,-0.00146103],270.055,true,true], + ["Land_BarGate_F",[47.6548,14.5193,-0.00146103],90.0552,true,true], + ["Land_LampHalogen_F",[44.5273,41.2136,-0.00146055],60.0552,true,true], + ["Land_HBarrier_Big_F",[46.7148,41.9067,-0.00146103],90.055,true,true], + ["Land_HBarrier_Big_F",[46.2976,58.6626,-0.00146103],90.055,true,true], + ["Land_HBarrier_Big_F",[32.6038,70.1841,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[40.9565,70.1812,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[46.0698,67.0122,-0.00146103],90.055,true,true], + ["Land_HBarrier_Big_F",[46.4741,50.2585,-0.00146103],90.055,true,true], + ["Land_CncWall4_F",[37.9797,40.1345,-0.00146103],0,true,true], + ["Land_CncWall4_F",[32.7908,40.125,-0.00146103],0,true,true], + ["Land_CncWall4_F",[43.1743,40.1436,-0.00146103],0,true,true], + ["Land_TTowerBig_1_F",[33.9404,56.3271,-0.00146103],0.0551743,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehicles,[-51.5793,28.9631,0.00801468],179.03], + [selectRandom GMS_AIPatrolVehicles,[9.30664,88.3091,0.00802708],89.9029], + [selectRandom GMS_AIPatrolVehicles,[72.2974,6.63599,0.00802183],0.00106337] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +//_chancePara = GMS_chanceParaOrange; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Orange"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/Camp_Moreell.sqf b/@GMS/addons/GMS/Missions/Orange/Camp_Moreell.sqf new file mode 100644 index 0000000..473f787 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/Camp_Moreell.sqf @@ -0,0 +1,153 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Orange Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +_startMsg = "Enemy Camp Moreell was sighted in a nearby sector! Check the Orange marker on your map for the location!"; +_endMsg = "The Camp Moreell at the Orange Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorOrange"; +_markerMissionName = "Camp Moreell"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V3_F",[-3.45557,32.6038,-0.00143814],163.034,true,true,[["O_HMG_01_high_F",[-1.75244,0.382568,4.33092],0.00157772]],[]], + ["Land_Cargo_HQ_V3_F",[1.5835,1.53711,-0.00143814],90.021,true,true,[["O_HMG_01_high_F",[-4.53003,1.89331,3.1134],270.551],["O_Mortar_01_F",[0.884277,-5.92041,3.1624],178.341],["O_GMG_01_high_F",[-11.2842,-8.48218,-0.0118098],221.694],["O_HMG_01_high_F",[-12.6897,-6.82007,-0.0121179],236.126],["O_GMG_01_high_F",[10.885,-11.4487,-0.0118084],147.658],["O_GMG_01_high_F",[19.3098,-6.53003,-0.0118093],147.655]],[]], + ["Land_Cargo_Patrol_V3_F",[10.9478,34.4741,-0.00143814],195.395,true,true,[["O_HMG_01_high_F",[1.41943,0.690674,4.33092],359.999]],[]] +]; + + + +_missionLandscape = [ + ["Land_HBarrier_Big_F",[-14.1831,0.348877,-0.00143862],54.7855,true,true], + ["Land_HBarrier_1_F",[-7.70728,-8.24048,-0.00143862],295.873,true,true], + ["Land_BagFence_Long_F",[-11.6091,-6.83057,-0.00143862],45.3947,true,true], + ["Land_BagFence_Round_F",[-12.8318,-4.68042,-0.00143862],90.3947,true,true], + ["Land_BagFence_Round_F",[-9.44946,-8.13599,-0.00143862],0.394724,true,true], + ["Land_Cargo_House_V3_F",[-11.8579,27.8225,-0.00143862],341.505,true,true], + ["CamoNet_OPFOR_open_F",[-14.8772,18.198,-0.00143862],90.3947,true,true], + ["Land_HBarrier_Big_F",[-24.5461,25.9207,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[-7.8335,30.6655,-0.00143862],255.395,true,true], + ["Land_HBarrier_Big_F",[-24.0242,10.8638,-0.00143862],165.395,true,true], + ["Land_HBarrier_Big_F",[-18.0986,7.95679,-0.00143862],255.395,true,true], + ["Land_HBarrier_Big_F",[-19.7212,22.9065,-0.00143862],90.3947,true,true], + ["Land_HBarrier_Big_F",[-31.6633,25.0271,-0.00143862],150.395,true,true], + ["Land_HBarrier_Big_F",[-12.3518,34.6216,-0.00143862],345.395,true,true], + ["Land_HBarrier_Big_F",[-17.9399,30.3276,-0.00143862],300.395,true,true], + ["Land_HBarrier_Big_F",[-19.3733,16.4546,-0.00143862],90.3947,true,true], + ["Land_HBarrier_1_F",[-32.8965,12.5454,-0.00143862],42.5069,true,true], + ["Land_HBarrier_1_F",[-30.3511,10.0146,-0.00143862],42.5069,true,true], + ["CamoNet_OPFOR_big_F",[-27.2468,18.4834,-0.00143862],75.3947,true,true], + ["Land_BagFence_Round_F",[-33.3694,10.7087,-0.00143862],87.5069,true,true], + ["Land_BagFence_Round_F",[-31.8938,9.28491,-0.00143862],357.507,true,true], + ["Land_HBarrier_5_F",[9.15552,-4.91626,-0.00143862],269.593,true,true], + ["Land_HBarrier_5_F",[9.13477,0.585938,-0.00143862],269.593,true,true], + ["Land_Cargo_House_V3_F",[25.2329,2.59155,-0.00143862],105.395,true,true], + ["Land_HBarrier_Big_F",[-2.57373,-8.99463,-0.00143862],180.395,true,true], + ["Land_HBarrier_Big_F",[26.4961,-2.62256,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[5.79712,-8.80371,-0.00143862],180.395,true,true], + ["Land_HBarrier_1_F",[14.0208,-8.50757,-0.00143862],334.157,true,true], + ["Land_HBarrier_1_F",[22.1511,-3.42603,-0.00143862],324.626,true,true], + ["Land_HBarrier_1_F",[19.1423,-5.3833,-0.00143862],324.626,true,true], + ["Land_HBarrier_1_F",[10.7295,-9.9397,-0.00143862],334.157,true,true], + ["Land_BagFence_Round_F",[22.5408,-5.08765,-0.00143862],279.626,true,true], + ["Land_BagFence_Round_F",[20.8389,-6.23145,-0.00143862],9.62595,true,true], + ["Land_BagFence_Round_F",[14.1299,-10.2107,-0.00143862],289.157,true,true], + ["Land_BagFence_Round_F",[12.262,-11.0569,-0.00143862],19.157,true,true], + ["Land_HBarrier_5_F",[7.05835,9.52783,-0.00143862],181.048,true,true], + ["Land_HBarrier_5_F",[26.3564,29.2161,-0.00143862],195.395,true,true], + ["Land_HBarrier_5_F",[9.08203,5.92139,-0.00143862],269.593,true,true], + ["Land_HBarrier_Big_F",[18.55,34.8018,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[1.32568,35.1333,-0.00143862],255.395,true,true], + ["Land_HBarrier_Big_F",[7.22388,36.5254,-0.00143862],285.395,true,true], + ["Land_HBarrier_Big_F",[-4.35571,36.8228,-0.00143862],345.395,true,true], + ["Land_HBarrier_Big_F",[7.04761,30.9424,-0.00143862],195.395,true,true], + ["Land_BagFence_Long_F",[24.1768,15.7207,-0.00143862],105.395,true,true], + ["Land_BagFence_Long_F",[22.7461,10.5283,-0.00143862],285.395,true,true], + ["Land_HBarrier_3_F",[25.4558,17.1135,-0.00143862],195.395,true,true], + ["Land_HBarrier_3_F",[22.7898,29.1609,-0.00143862],285.395,true,true], + ["Land_HBarrier_3_F",[23.3201,8.88696,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[12.9075,38.3318,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[30.9158,1.41919,-0.00143862],105.395,true,true], + ["Land_HBarrier_5_F",[29.5054,24.8923,-0.00143862],269.593,true,true], + ["Land_HBarrier_5_F",[29.5303,19.5947,-0.00143862],269.593,true,true], + ["CamoNet_OPFOR_open_F",[28.1597,12.0786,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[31.4031,16.592,-0.00143862],0.394724,true,true], + ["Land_HBarrier_Big_F",[28.876,7.35913,-0.00143862],195.395,true,true], + ["Land_HBarrier_1_F",[33.3733,10.5449,-0.00143862],15.3947,true,true], + ["Land_HBarrier_1_F",[27.9988,12.1958,-0.00143862],195.395,true,true], + ["Land_BagFence_Long_F",[32.6428,9.11694,-0.00143862],285.395,true,true], + ["Land_BagFence_Long_F",[28.4683,13.8879,-0.00143862],105.395,true,true], + ["Land_HBarrier_3_F",[29.9619,29.1274,-0.00143862],105.395,true,true], + ["Land_HBarrier_3_F",[34.8462,14.4836,-0.00143862],90.3947,true,true], + ["Land_BagBunker_Large_F",[27.696,35.6018,-0.00143862],195.395,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + //["O_LSV_02_armed_F",[34.9805,-28.0225,-0.0376697],359.999] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + +]; + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; + +//_chancePara = GMS_chanceParaOrange; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "Orange"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +_spawnCratesTiming = "atMissionSpawnAir"; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/CommandersComplex.sqf b/@GMS/addons/GMS/Missions/Orange/CommandersComplex.sqf new file mode 100644 index 0000000..41b21d6 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/CommandersComplex.sqf @@ -0,0 +1,97 @@ +/* +Mission Compositions prepared for ghostridergaming by Ghostrider [GRG] +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; +diag_log "[GMS] Spawning Orange Mission with template = commandersComplex"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = [15,50,20,60,44,5]; // GMS_lootCountsOrange = [8,32,8,30,16,1]; +_startMsg = "An enemy Commander was sighted in a nearby sector! Check the Orange marker on your map for the location!"; +_endMsg = "The Sector at the Orange Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[250,250],"GRID"]; +_markerColor = "ColorOrange"; +_markerMissionName = "Commander"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + #ifdef GMS_milServer + ["Land_Cargo_HQ_V3_F",[8.32422,-11.2773,-0.00143886],0,true,true,[["B_static_AA_F",[-3.21094,2.91797,3.13029],359.986],["B_static_AT_F",[3.09961,3.7168,3.67582],320.819],["B_static_AT_F",[-2.95117,-5.06445,3.13029],0.00396196],["B_static_AA_F",[6.08203,2.0957,3.13441],359.809],["B_static_AA_F",[-12.6777,-1.39648,0.00477552],0.00115225],["B_T_HMG_01_F",[-5.99609,-11.9609,0.077373],359.996],["B_static_AA_F",[1.77344,13.498,0.00477648],359.997],["B_static_AT_F",[15.0996,-8.0293,0.00477219],0.000537688],["B_T_HMG_01_F",[15.2148,8.1875,0.077373],359.997],["B_HMG_01_A_F",[-18.8223,-10.2754,0.0773745],359.997]],[]] + #endif +]; + +_missionLandscape = [ + ["Land_BagBunker_Small_F",[-27.3281,-18.457,-0.299264],86.0005,true,true], + ["CamoNet_INDP_Curator_F",[-28.3281,-18.457,-0.299264],257.035,true,true], + ["Land_HBarrier_5_F",[-11.3281,-28.457,-0.299264],0,true,true], + ["Land_HBarrier_5_F",[-19.3281,-26.457,-0.299264],222.822,true,true], + ["Land_HBarrier_5_F",[-2.32813,-28.457,-0.299264],0,true,true], + ["RoadCone_L_F",[-4.37305,-1.61523,-0.299264],0,true,true], + ["Land_HBarrier_5_F",[-23.3281,5.54297,-0.299264],268.921,true,true], + ["Land_HBarrier_5_F",[-23.3281,-1.45703,-0.299264],268.921,true,true], + ["Land_HBarrier_5_F",[-23.3281,-8.45703,-0.299264],268.921,true,true], + ["Land_HBarrier_5_F",[-18.3281,11.543,-0.299264],148.179,true,true], + ["Flag_AAF_F",[-12.3281,1.54297,-0.299264],0,true,true], + ["Land_HBarrier_5_F",[3.67188,17.543,-0.299264],0,true,true], + ["Land_HBarrier_5_F",[-2.32813,17.543,-0.299264],0,true,true], + ["Land_BagBunker_Small_F",[-10.3281,15.543,-0.299264],0,true,true], + ["CamoNet_INDP_Curator_F",[-10.3281,15.543,-0.299264],336.06,true,true], + ["Land_HBarrier_5_F",[14.6719,-23.457,-0.299264],134.913,true,true], + ["Land_HBarrier_5_F",[20.6719,-18.457,-0.299264],133.549,true,true], + ["Land_BagBunker_Small_F",[5.67188,-30.457,-0.299264],0,true,true], + ["CamoNet_INDP_Curator_F",[5.67188,-32.457,-0.299264],169.022,true,true], + ["Land_HBarrier_5_F",[19.6719,6.54297,-0.299264],269.417,true,true], + ["Land_HBarrier_5_F",[20.6719,-12.457,-0.299264],269.417,true,true], + ["Land_HBarrier_5_F",[20.6719,-6.45703,-0.299264],269.417,true,true], + ["Land_BagBunker_Small_F",[23.6719,0.542969,-0.299264],265.618,true,true], + ["CamoNet_INDP_Curator_F",[26.6719,0.542969,-0.299264],80.5745,true,true], + ["Land_HBarrier_5_F",[10.6719,17.543,-0.299264],0,true,true], + ["Land_HBarrier_5_F",[15.6719,14.543,-0.299264],45.2335,true,true] +]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = [ + + ["B_HMG_01_A_F",[-16.1504,-23.7324,-0.221891],0.00624952], + ["B_T_HMG_01_F",[-3.32422,-25.418,-0.221891],359.997], + ["B_T_HMG_01_F",[-21.3145,5.49609,-0.22189],359.997], + ["B_static_AT_F",[-22.0508,8.89063,-0.294489],0.00423371], + ["B_static_AA_F",[4.44531,0.0410156,-0.294488],359.997], + ["B_static_AA_F",[-10.0059,-14.8535,-0.294491],359.999], + //["B_Radar_System_01_F",[-5.32813,7.54297,-0.326719],360], + ["B_static_AT_F",[17.7715,-21.4863,-0.294491],359.991], + ["B_T_HMG_01_F",[17.8867,-5.26953,-0.22189],359.997], + ["B_HMG_01_A_F",[10.0625,13.8516,-0.221892],359.996], + ["B_static_AT_F",[19.0977,10.4746,-0.294489],359.998], + ["B_T_GMG_01_F",[17.6973,4.7832,-0.195796],359.997] +]; + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehiclesOrange,[-47.8262,-23.5137,-0.321316],0.0016802], + [selectRandom GMS_AIPatrolVehiclesGreen,[-30.4395,13.2695,-0.321565],0.00168791] + //[selectRandom GMS_tracked_APC_ARMA3,[-14.084,-61.1504,-0.321593],0.0016711], + //[selectRandom GMS_Tanks_ARMA3,[-8.88086,27.3223,-0.312962],0.000197464], + //[selectRandom GMS_light_AT_ARMA3,[29.0449,-42.6465,-0.319407],0.00168023], + //[selectRandom GMS_tracked_APC_ARMA3,[25.6289,19.6641,-0.313045],0.000197989] +]; + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,25,25,0],[0,0,0,25,25,0],[20,30,0,0,0,0],[0,0,0,0,30,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/Operations_Command.sqf b/@GMS/addons/GMS/Missions/Orange/Operations_Command.sqf new file mode 100644 index 0000000..c61260c --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/Operations_Command.sqf @@ -0,0 +1,179 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Orange Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +_startMsg = "An Operations Command was sighted in a nearby sector! Check the Orange marker on your map for the location!"; +_endMsg = "The Operations Command at the Orange Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorOrange"; +_markerMissionName = "Operations Command"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V3_F",[-26.1375,13.395,-0.00143862],104.247,true,true,[["O_HMG_01_high_F",[-1.16919,-1.02051,4.33092],359.999]],[]], + ["Land_Cargo_Tower_V3_F",[0.0512695,-43.2329,-0.00143909],1.37485,true,true,[["O_HMG_01_high_F",[-11.6333,3.14819,-0.0121188],360],["O_Mortar_01_F",[-3.08325,4.21802,17.9254],0.000187431],["O_GMG_01_high_F",[-3.21069,-3.16113,17.8767],360],["O_GMG_01_high_F",[4.70557,-0.741943,17.8767],360]],[]], + ["Land_Cargo_Patrol_V3_F",[-22.3018,-36.6943,-0.00143862],16.3749,true,true,[["O_HMG_01_high_F",[-1.44019,-0.544922,4.33092],0.000570454],["O_HMG_01_high_F",[-6.95337,5.57886,-0.0121193],359.998]],[]], + ["Land_Cargo_HQ_V3_F",[0.157227,3.02832,-0.00143862],91.3748,true,true,[["O_Mortar_01_F",[1.9917,1.24707,3.16241],359.999],["O_HMG_01_high_F",[-4.22266,1.80176,3.1134],359.999],["O_HMG_01_high_F",[3.10205,-5.8584,3.1134],359.999],["O_HMG_01_high_F",[-6.48584,7.63452,-0.0121193],359.998],["O_HMG_01_high_F",[9.13306,15.3284,-0.0121193],359.998]],[]], + ["Land_Cargo_Tower_V3_F",[-16.1003,25.6072,-0.00143909],181.375,true,true,[["O_HMG_01_high_F",[3.25903,3.35229,17.8764],359.997],["O_GMG_01_high_F",[-4.9707,0.915771,17.8767],359.995]],[]], + ["Land_Cargo_Patrol_V3_F",[21.9438,-2.25854,-0.00143862],269.918,true,true,[["O_GMG_01_high_F",[1.11499,0.921387,4.33123],360]],[]], + ["Land_Cargo_House_V3_F",[7.7749,-26.0698,-0.00143909],1.37485,true,true,[["O_HMG_01_high_F",[2.2688,8.65552,-0.0121188],360]],[]] +]; + + + +_missionLandscape = [ + ["RoadCone_L_F",[0.914063,-0.908203,-0.00143838],0,true,true], + ["CamoNet_OPFOR_open_F",[-31.8352,-29.0081,-0.00143909],235.13,true,true], + ["CamoNet_OPFOR_open_F",[-43.8352,-16.6941,-0.00143909],181.375,true,true], + ["Land_HBarrier_Big_F",[-37.4087,-8.59814,-0.00143909],286.375,true,true], + ["Land_HBarrier_Big_F",[-29.3643,-37.0271,-0.00143909],37.1575,true,true], + ["Land_HBarrier_Big_F",[-35.4788,-31.5889,-0.00143909],50.6964,true,true], + ["Land_HBarrier_Big_F",[-38.9624,-25.2727,-0.00143909],255.154,true,true], + ["Land_BagBunker_Large_F",[-43.364,-16.4709,-0.00143909],91.3748,true,true], + ["Land_HBarrier_Big_F",[-34.405,-1.28906,-0.00143909],301.375,true,true], + ["Land_HBarrier_Big_F",[-29.0862,14.3416,-0.00143909],286.375,true,true], + ["Land_HBarrier_Big_F",[-31.1816,6.38184,-0.00143909],286.375,true,true], + ["Land_LampHalogen_F",[-29.8584,2.74854,-0.00143862],256.375,true,true], + ["Land_HBarrierWall_corridor_F",[-16.1533,-40.845,-0.00143909],106.375,true,true], + ["Land_HBarrier_Big_F",[-10.9395,-43.5535,-0.00143909],13.6286,true,true], + ["Land_HBarrier_Big_F",[-3.8855,-44.2878,-0.00143909],0.866833,true,true], + ["Land_HBarrier_Big_F",[-22.3318,-40.6543,-0.00143909],200.888,true,true], + ["Land_HBarrier_Big_F",[4.41016,-44.2852,-0.00143909],0.866833,true,true], + ["Land_HBarrier_5_F",[2.9043,-17.4326,-0.00143909],271.375,true,true], + ["Land_HBarrier_5_F",[-5.53174,-9.47681,-0.00143909],181.375,true,true], + ["Land_Cargo_House_V3_F",[-1.97241,-25.8367,-0.00143909],1.37485,true,true], + ["Land_HBarrier_Big_F",[-9.21558,-15.051,-0.00143909],271.375,true,true], + ["Land_HBarrier_Big_F",[-5.97168,-20.2385,-0.00143909],181.375,true,true], + ["Land_HBarrier_Big_F",[2.51318,-20.2158,-0.00143909],181.375,true,true], + ["Land_HBarrier_3_F",[2.83398,-22.9663,-0.00143909],91.3748,true,true], + ["Land_HBarrier_3_F",[2.75586,-26.2246,-0.00143909],91.3748,true,true], + ["Land_HBarrier_3_F",[2.94287,-10.5574,-0.00143909],271.375,true,true], + ["Land_HBarrier_3_F",[0.964355,-9.63477,-0.00143909],1.37485,true,true], + ["Land_HBarrier_3_F",[-6.09448,-25.2507,-0.00143909],271.375,true,true], + ["Land_HBarrier_3_F",[1.72021,-27.6951,-0.00143909],1.37485,true,true], + ["Land_HBarrier_3_F",[-6.02515,-22.2542,-0.00143909],271.375,true,true], + ["Land_HBarrier_3_F",[4.84912,-27.7708,-0.00143909],1.37485,true,true], + ["Land_HBarrier_3_F",[-5.15039,-27.5239,-0.00143909],1.37485,true,true], + ["Land_HelipadCircle_F",[-22.2104,-10.7046,-0.00143909],90.8075,true,true], + ["Land_TTowerBig_2_F",[-3.03882,-15.5251,-0.00143909],1.37485,true,true], + ["Land_HBarrier_5_F",[-24.4253,17.3018,-0.00143909],194.949,true,true], + ["Land_HBarrier_5_F",[-12.988,7.96045,-0.00143909],181.375,true,true], + ["Land_HBarrier_5_F",[-26.457,9.23633,-0.00143909],16.5662,true,true], + ["Land_Cargo_House_V3_F",[-15.2529,3.47607,-0.00143909],91.3748,true,true], + ["Land_HBarrier_Big_F",[-5.96069,14.4766,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[2.22437,14.509,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[-9.21826,9.43896,-0.00143909],271.375,true,true], + ["Land_HBarrier_Big_F",[-9.23389,1.12988,-0.00143909],271.375,true,true], + ["Land_HBarrier_Big_F",[-9.2439,-6.94019,-0.00143909],271.375,true,true], + ["Land_HBarrier_Big_F",[-26.9719,22.2693,-0.00143909],286.375,true,true], + ["Land_HBarrier_3_F",[-10.071,23.9849,-0.00143909],91.3748,true,true], + ["Land_HBarrier_Big_F",[-14.6584,26.7698,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[-22.5229,26.7314,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[-6.28784,26.8616,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[1.70752,25.8137,-0.00143909],16.375,true,true], + ["CamoNet_OPFOR_open_F",[13.4675,-46.5574,-0.00143909],256.375,true,true], + ["Land_BagBunker_Large_F",[13.6731,-46.6125,-0.00143909],346.375,true,true], + ["Land_HBarrier_Big_F",[25.0122,-8.42798,-0.00143909],89.245,true,true], + ["Land_HBarrier_Big_F",[20.2207,-26.6072,-0.00143909],346.375,true,true], + ["Land_HBarrier_Big_F",[10.3425,-20.1804,-0.00143909],181.375,true,true], + ["Land_HBarrier_Big_F",[13.3196,-15.1829,-0.00143909],91.375,true,true], + ["Land_HBarrier_Big_F",[25.2847,-22.1433,-0.00143909],89.8961,true,true], + ["Land_HBarrier_Big_F",[15.2939,-23.981,-0.00143909],61.375,true,true], + ["Land_HBarrier_Big_F",[17.6921,-30.4187,-0.00143909],261.124,true,true], + ["Land_HBarrier_Big_F",[18.2314,-37.9956,-0.00143909],275.055,true,true], + ["Land_HBarrier_1_F",[26.3027,-13.0132,-0.00143909],224.245,true,true], + ["Land_HBarrier_1_F",[26.3459,-17.553,-0.00143909],134.896,true,true], + ["Land_HBarrier_3_F",[24.4424,-13.2629,-0.00143909],179.245,true,true], + ["Land_HBarrier_3_F",[23.5449,-11.0381,-0.00143909],89.245,true,true], + ["Land_HBarrier_3_F",[23.5166,-19.6731,-0.00143909],269.896,true,true], + ["Land_HBarrier_3_F",[24.4841,-17.4751,-0.00143909],359.896,true,true], + ["Land_HBarrier_3_F",[26.4421,-11.2278,-0.00143909],89.245,true,true], + ["Land_HBarrier_3_F",[26.521,-19.3137,-0.00143909],269.896,true,true], + ["Land_Tank_rust_F",[17.9231,-22.1641,-0.00143909],238.726,true,true], + ["Land_LampHalogen_F",[25.1262,-18.7678,-0.00143862],151.326,true,true], + ["Land_LampHalogen_F",[25.188,-11.5505,-0.00143862],241.375,true,true], + ["Land_HBarrierWall_corridor_F",[8.88965,13.3088,-0.00143909],76.3748,true,true], + ["Land_HBarrierWall_corridor_F",[11.9426,4.98389,-0.00143909],1.37485,true,true], + ["Land_HBarrierWall_corridor_F",[14.0635,10.1843,-0.00143909],331.375,true,true], + ["CamoNet_OPFOR_open_F",[16.8806,13.8459,-0.00143909],46.3748,true,true], + ["Land_HBarrierWall4_F",[12.9727,17.2073,-0.00143909],301.375,true,true], + ["Land_HBarrierWall4_F",[13.927,14.678,-0.00143909],241.375,true,true], + ["Land_HBarrier_Big_F",[24.7051,-0.242188,-0.00143909],89.245,true,true], + ["Land_HBarrier_Big_F",[8.90503,22.6189,-0.00143909],33.6192,true,true], + ["Land_HBarrier_Big_F",[13.2727,-6.86401,-0.00143909],91.375,true,true], + ["Land_HBarrier_Big_F",[24.3503,8.13452,-0.00143909],89.245,true,true], + ["Land_HBarrier_Big_F",[13.3027,-0.90332,-0.00143909],91.375,true,true], + ["Land_BagBunker_Small_F",[20.2654,17.5417,-0.00143909],226.375,true,true], + ["Land_LampHalogen_F",[10.6421,2.27686,-0.00143862],241.375,true,true], + ["Land_LampHalogen_F",[11.4541,10.5645,-0.00143862],136.375,true,true], + ["Land_HBarrierWall_corner_F",[21.3845,12.748,-0.00143909],46.3748,true,true], + ["Land_HBarrierWall_corner_F",[15.5208,19.1467,-0.00143909],346.375,true,true], + ["Land_HBarrierWall_corner_F",[18.5425,9.32104,-0.00143909],136.375,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + //["O_LSV_02_unarmed_F",[-53.4402,-44.895,-0.037971],359.999], + //["O_LSV_02_armed_F",[7.56689,40.9209,-0.0379591],359.999], + //["O_LSV_02_armed_F",[38.9788,-44.417,-0.0373936],359.999] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. +_spawnCratesTiming = "atMissionSpawnGround"; + + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/Outpost.sqf b/@GMS/addons/GMS/Missions/Orange/Outpost.sqf new file mode 100644 index 0000000..4ed5170 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/Outpost.sqf @@ -0,0 +1,148 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Orange Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +_startMsg = "An Anemy Outpost was sighted in a nearby sector! Check the Orange marker on your map for the location!"; +_endMsg = "The Outpost at the Orange Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorOrange"; +_markerMissionName = "Outpost"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V3_F",[-25.0786,-7.48535,-0.00143814],91.041,true,true,[["B_HMG_01_high_F",[-1.1084,-1.16431,4.33092],0.000110027]],[]], + ["Land_Cargo_Patrol_V3_F",[-12.2451,10.7849,-0.00143814],181.041,true,true,[["B_HMG_01_high_F",[-1.25928,1.22339,4.33092],0.00719478],["B_HMG_01_high_F",[3.44727,7.05835,-0.0121179],0.0015095],["B_HMG_01_high_F",[12.4185,7.21094,-0.0121183],0.00126386]],[]], + ["Land_Cargo_Patrol_V3_F",[24.0273,-12.3459,-0.00143814],269.838,true,true,[["B_HMG_01_high_F",[1.03076,-1.20874,4.33092],359.999],["B_HMG_01_high_F",[-11.6992,1.96533,-0.0121193],0.00189448]],[]], + ["Land_Cargo_HQ_V3_F",[6.30029,-0.909424,-0.00143814],270.038,true,true,[["B_HMG_01_high_F",[4.31299,-1.39307,3.70484],47.4694],["B_HMG_01_high_F",[-9.66064,-15.759,-0.0121193],0.00274103]],[]] +]; + + + +_missionLandscape = [ + //["Sign_Arrow_F",[-5049.41,-2726.72,-0.00143862],0,true,true], + //["Sign_Arrow_Green_F",[-5049.41,-2726.72,-0.00143862],0,true,true], + //["Sign_Arrow_Yellow_F",[-5049.41,-2726.72,-0.00143862],0,true,true], + //["babe_helper",[-5051.91,-2726.22,-0.00143862],78.6345,true,true], + ["RoadCone_L_F",[0.914063,-0.908203,-0.00143838],0,true,true], + ["Land_HBarrier_Big_F",[-28.8394,-8.42627,-0.00143862],91.041,true,true], + ["Land_CncShelter_F",[-10.0513,-26.2283,-0.00143862],0.0913576,true,true], + ["Land_HBarrierWall6_F",[0.581543,-12.7048,-0.00143862],91.041,true,true], + ["Land_HBarrierWall6_F",[-19.6943,-14.0881,-0.00143862],271.041,true,true], + ["Land_HBarrierWall6_F",[-5.04932,-19.8594,-0.00143862],181.041,true,true], + ["Land_HBarrier_Big_F",[-25.6514,-11.7356,-0.00143862],181.041,true,true], + ["Land_BagFence_Round_F",[-3.4668,-15.3809,-0.00143862],166.041,true,true], + ["Land_BagFence_Round_F",[-14.3892,-29.0183,-0.00143862],31.041,true,true], + ["Land_BagFence_Round_F",[-7.70801,-28.5588,-0.00143862],46.041,true,true], + ["Land_BagFence_Round_F",[-14.9326,-26.8369,-0.00143862],121.041,true,true], + ["Land_BagFence_Round_F",[-12.2075,-28.4763,-0.00143862],301.041,true,true], + ["Land_BagFence_Round_F",[-4.56348,-17.2019,-0.00143862],76.041,true,true], + ["Land_BagFence_Round_F",[-5.41797,-26.3496,-0.00143862],226.041,true,true], + ["Land_BagFence_Round_F",[-5.45801,-28.5986,-0.00143862],316.041,true,true], + ["Land_HBarrierWall_corridor_F",[-10.1372,-24.7649,-0.00143862],271.041,true,true], + ["Land_HBarrierWall4_F",[-13.7993,-19.9495,-0.00143862],181.041,true,true], + ["Land_HBarrierWall_corner_F",[-19.2007,-20,-0.00143862],181.041,true,true], + ["Land_HBarrierWall_corner_F",[0.711426,-19.4619,-0.00143862],91.041,true,true], + ["Land_LampShabby_F",[-19.8394,5.67236,-0.00143862],136.041,true,true], + ["Land_CncShelter_F",[-5.49072,10.4077,-0.00143862],181.041,true,true], + ["Land_HBarrierWall6_F",[-19.7158,-1.58594,-0.00143862],271.041,true,true], + ["Land_HBarrier_Big_F",[-25.4941,-3.23608,-0.00143862],1.04101,true,true], + ["Land_HBarrier_Big_F",[-12.9121,14.7922,-0.00143862],181.041,true,true], + ["Land_HBarrier_Big_F",[-16.2207,11.6028,-0.00143862],271.041,true,true], + ["Land_HBarrier_Big_F",[-7.72217,11.448,-0.00143862],91.041,true,true], + ["Land_HelipadSquare_F",[-9.93359,-5.85596,-0.00143862],0.362537,true,true], + ["Land_BagFence_Round_F",[-9.72363,18.6138,-0.00143862],136.041,true,true], + ["Land_BagFence_Round_F",[0.90918,18.9221,-0.00143862],226.041,true,true], + ["Land_BagFence_Round_F",[-7.59863,18.5762,-0.00143862],226.041,true,true], + ["Land_BagFence_Round_F",[-1.21631,18.9595,-0.00143862],136.041,true,true], + ["Land_BagFence_Long_F",[-7.02197,15.9382,-0.00143862],91.041,true,true], + ["Land_BagFence_Long_F",[1.48633,16.2864,-0.00143862],91.041,true,true], + ["Land_BagFence_Long_F",[-1.88379,16.5967,-0.00143862],91.041,true,true], + ["Land_BagFence_Long_F",[-10.3921,16.2498,-0.00143862],91.041,true,true], + ["Land_HBarrierWall_corridor_F",[-1.52295,8.83716,-0.00143862],181.041,true,true], + ["Land_HBarrierWall4_F",[3.81348,13.4924,-0.00143862],1.04101,true,true], + ["Land_HBarrierWall4_F",[-6.83154,5.68286,-0.00143862],1.04101,true,true], + ["Land_HBarrierWall4_F",[-16.5835,5.60962,-0.00143862],1.04101,true,true], + ["Land_HBarrierWall_corner_F",[-19.8418,5.16846,-0.00143862],271.041,true,true], + ["Land_HBarrierWall_corner_F",[-0.694824,13.0745,-0.00143862],271.041,true,true], + ["Land_LampShabby_F",[9.37598,-10.3596,-0.00143862],1.04101,true,true], + ["Land_HBarrierWall6_F",[7.20605,-19.8293,-0.00143862],181.041,true,true], + ["Land_HBarrierWall6_F",[6.87402,-10.5664,-0.00143862],181.041,true,true], + ["Land_HBarrier_Big_F",[24.5322,-16.5854,-0.00143862],179.838,true,true], + ["Land_HBarrier_Big_F",[24.5107,-8.08472,-0.00143862],359.838,true,true], + ["Land_HBarrier_Big_F",[27.7676,-11.3262,-0.00143862],269.838,true,true], + ["Land_BagFence_Round_F",[13.2651,-9.68359,-0.00143862],226.041,true,true], + ["Land_BagFence_Round_F",[11.1396,-9.64404,-0.00143862],136.041,true,true], + ["Land_HBarrierWall4_F",[13.9541,-19.9521,-0.00143862],181.041,true,true], + ["Land_Cargo_House_V3_F",[7.46289,-15.906,-0.00143862],271.041,true,true], + ["Land_HBarrierWall_corner_F",[18.2109,-19.53,-0.00143862],91.041,true,true], + ["Land_LampShabby_F",[18.0684,13.9841,-0.00143862],226.041,true,true], + ["Land_HBarrierWall6_F",[17.8833,3.73438,-0.00143862],91.041,true,true], + ["Land_HBarrierWall6_F",[17.9854,-4.51611,-0.00143862],91.041,true,true], + ["Land_HBarrierWall6_F",[10.5679,13.6208,-0.00143862],1.04101,true,true], + ["Land_HBarrierWall4_F",[17.7358,9.23999,-0.00143862],91.041,true,true], + ["Land_HBarrierWall_corner_F",[17.3179,13.7493,-0.00143862],1.04101,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + ///["B_G_Offroad_01_armed_F",[35.8379,4.96387,0.00813246],0.00104452] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. +//_spawnCratesTiming = "atMissionSpawnAir"; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/bunker.sqf b/@GMS/addons/GMS/Missions/Orange/bunker.sqf new file mode 100644 index 0000000..518b197 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/bunker.sqf @@ -0,0 +1,146 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Thomas TKO + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +diag_log "[GMS] Spawning Orange Mission with template = bunkerMission"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = [15,50,20,60,44,5]; // GMS_lootCountsOrange = [8,32,8,30,16,1]; +_startMsg = "A Mafia General is building a heavily defended bunker. Stop him and claim a reward!"; +_endMsg = "The Mafia General has been defeated!"; +_markerLabel = ""; +_markerType = ["ellipse",[300,300],"GRID"]; +_markerColor = "ColorBlack"; +_markerMissionName = " Bunker"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +_garrisonedBuildings_BuildingPosnSystem = []; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Bunker_01_big_F",[-19.0896,9.22754,0.760561],90.071,true,true,[["O_HMG_01_high_F",[-1.09302,-0.0102539,3.2837],0.00152979],["O_HMG_01_high_F",[-5.45947,-3.38574,0.109706],359.994],["O_HMG_01_high_F",[-0.41333,-10.5659,-0.774119],360],["O_HMG_01_high_F",[-0.826416,11.6274,-0.774119],0.00143682],["O_HMG_01_high_F",[11.355,-8.68066,-0.774117],0.000274398]],[]], + ["Land_Bunker_01_tall_F",[-18.5415,-8.59961,-0.00143909],90.071,true,true,[["O_HMG_01_high_F",[5.50562,-2.54395,-0.0121188],359.999],["O_HMG_01_high_F",[-1.72095,-0.109375,4.96893],359.998],["O_HMG_01_high_F",[11.7644,-6.72168,-0.0121179],0.000580947]],[]], + ["Land_Bunker_01_tall_F",[-18.9246,28.8105,-0.00143909],90.071,true,true,[["O_HMG_01_high_F",[5.47437,2.47559,-0.0121174],0.000287307],["O_HMG_01_high_F",[-1.38867,-0.0722656,4.967],359.999],["O_HMG_01_high_F",[10.5693,2.00635,-0.0121202],0.00145235],["O_HMG_01_high_F",[11.8271,5.87988,-0.0121174],0.000287344]],[]], + ["Land_Bunker_01_big_F",[17.0344,10.9336,0.760561],270.416,true,true,[["O_HMG_01_high_F",[0.966064,0.202148,3.2837],0.000261147],["O_HMG_01_high_F",[5.86353,3.25586,0.109696],0.000366296],["O_HMG_01_high_F",[-0.366211,10.3037,-0.774117],0.000287276],["O_HMG_01_high_F",[0.436768,-11.6377,-0.774117],0.000287533],["O_HMG_01_high_F",[-11.8674,-9.59229,-0.774119],359.999]],[]], + ["Land_Bunker_01_tall_F",[16.7253,-8.66455,-0.00143909],270.416,true,true,[["O_HMG_01_high_F",[-5.13818,-2.33496,-0.0121202],0.00145227],["O_HMG_01_high_F",[1.45801,0.0512695,4.96698],360],["O_HMG_01_high_F",[-10.4924,-6.61719,-0.0121179],0.000581377]],[]], + ["Land_Bunker_01_tall_F",[16.5664,28.7466,-0.00143909],270.416,true,true,[["O_HMG_01_high_F",[-5.00977,2.1792,-0.0121174],0.000287538],["O_HMG_01_high_F",[1.80957,0.26709,4.96756],0.000969946],["O_HMG_01_high_F",[-10.7739,2.07715,-0.0121174],0.000287469],["O_HMG_01_high_F",[-12.0127,6.1333,-0.0121188],360]],[]] +]; + +_missionLandscape = [ + //["Sign_Arrow_F",[-3166.38,-5166.64,-0.00143909],0,true,true], + //["Sign_Arrow_Green_F",[-3166.38,-5166.64,-0.00143909],0,true,true], + // ["Sign_Arrow_Yellow_F",[-3166.38,-5166.64,-0.00143909],0,true,true], + //["babe_helper",[-3168.88,-5166.14,-0.00143909],87.9418,true,true], + ["Land_Bunker_01_blocks_3_F",[-16.9785,-4.23682,-0.00143909],270.35,true,true], + ["Land_Bunker_01_blocks_3_F",[-8.35254,-12.7046,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[-3.26245,-12.6987,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.3396,-12.7207,-0.502439],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[-16.9604,0.749512,-0.00143909],270.35,true,true], + ["Land_Bunker_01_blocks_3_F",[-16.9265,17.7563,-0.00143909],270.35,true,true], + ["CamoNet_INDP_big_F",[-0.926514,-2.50049,-0.00143909],182.545,true,true], + ["Land_Bunker_01_blocks_3_F",[-8.79468,32.8765,-0.00143909],0.106,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.7825,32.8735,-0.432439],0.106,true,true], + ["Land_Bunker_01_blocks_3_F",[-5.68066,30.3096,-0.00143909],90.192,true,true], + ["Land_Bunker_01_blocks_3_F",[-16.9097,22.7437,-0.00143909],270.35,true,true], + ["Land_Bunker_01_blocks_3_F",[1.72437,-12.6807,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[14.7463,-2.58447,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[6.82544,-12.6665,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[14.7935,2.40039,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[11.8125,-12.6494,-0.529439],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[3.42236,30.3735,-0.00143909],269.774,true,true], + ["Land_Bunker_01_blocks_3_F",[14.9304,19.4072,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[6.38452,32.8735,-0.00143909],0.106,true,true], + ["Land_Bunker_01_blocks_3_F",[14.9763,24.3936,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[11.3713,32.8774,-0.363439],0.106,true,true] +]; + +_missionLootBoxes = [ + ["B_supplyCrate_F",[0.0446777,-1.31494,-0.001441],_crateLoot,_lootCounts,0.00167282] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + // ["O_LSV_02_armed_F",[-40.6245,8.75732,-0.0378561],359.999], + // ["O_LSV_02_unarmed_F",[35.2053,8.41943,-0.0378113],359.999] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + ["O_HMG_01_high_F",[-6.7771,-15.3213,-0.013557],0.000580947], + ["O_HMG_01_high_F",[-7.73462,0.546875,-0.0135565],0.000274398], + ["O_HMG_01_high_F",[-19.5029,-1.33838,-0.0135579],360], + ["O_HMG_01_high_F",[-4.04785,-6.94092,-0.0135589],0.00145283], + ["O_HMG_01_high_F",[-13.0359,-11.1436,-0.0135579],359.999], + ["O_HMG_01_high_F",[-8.35522,30.8169,-0.0135593],0.00145235], + ["O_HMG_01_high_F",[-7.09741,34.6904,-0.0135565],0.000287344], + ["O_HMG_01_high_F",[-13.4502,31.2861,-0.0135565],0.000287307], + ["O_HMG_01_high_F",[-19.916,20.855,-0.0135579],0.00143682], + ["O_HMG_01_high_F",[6.23291,-15.2817,-0.013557],0.000581377], + ["O_HMG_01_high_F",[5.16699,1.34131,-0.0135579],359.999], + ["O_HMG_01_high_F",[11.5872,-10.9995,-0.0135593],0.00145227], + ["O_HMG_01_high_F",[17.4712,-0.704102,-0.0135565],0.000287533], + ["O_HMG_01_high_F",[2.62817,-6.73193,-0.0135579],359.999], + ["O_HMG_01_high_F",[4.55371,34.8799,-0.0135579],360], + ["O_HMG_01_high_F",[11.5566,30.9258,-0.0135565],0.000287538], + ["O_HMG_01_high_F",[16.6682,21.2373,-0.0135565],0.000287276], + ["O_HMG_01_high_F",[5.79248,30.8237,-0.0135565],0.000287469] +]; + +_missionGroups = [ + [[-7.90332,-2.77295,0],3,6,"Orange",30,45], + [[-0.937012,12.8022,0],3,6,"Orange",30,45], + [[-9.20801,24.0776,0],3,6,"Orange",30,45], + [[8.76147,-1.29004,0],3,6,"Orange",30,45], + [[-0.792725,7.7959,0],3,6,"Orange",30,45], + [[-0.269531,30.3203,0],3,6,"Orange",30,45], + [[8.71509,21.3311,0],3,6,"Orange",30,45] +]; + +_scubaGroupParameters = [ +]; + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; + +_chanceHeliPatrol = GMS_chanceHeliPatrolOrange; // Setting this in the mission file overrides the defaults +_noChoppers = GMS_noPatrolHelisOrange; +_missionHelis = GMS_patrolHelisOrange; + +//_chancePara = GMS_chanceParaOrange; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "orange"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,25,25,0],[0,0,0,25,25,0],[20,30,0,0,0,0],[0,0,0,0,30,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +diag_log format["[GMS] Bunker Mission Parameters Loaded at %1",diag_tickTime]; \ No newline at end of file diff --git a/@GMS/addons/GMS/Missions/Orange/colonel2.sqf b/@GMS/addons/GMS/Missions/Orange/colonel2.sqf new file mode 100644 index 0000000..06fe7a6 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/colonel2.sqf @@ -0,0 +1,274 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Orange Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = [15,50,20,60,44,5]; // GMS_lootCountsOrange = [8,32,8,30,16,1]; +_startMsg = "A rogue Colonel is staging for an attack. Players must stop him. !"; +_endMsg = "The rogue Colonel has been defeated!"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorBlack"; +_markerMissionName = " Colonel"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V3_F",[-80.123,-79.1797,0.00650382],41.0018,true,true,[["I_HMG_01_high_F",[-0.265625,-1.86914,4.33092],200.657],["I_HMG_01_high_F",[-2.2168,0.0878906,4.33275],245.993],["B_HMG_01_high_F",[-2.79688,12.1953,-0.0121188],360]],[]], + ["Land_Cargo_Patrol_V3_F",[-79.123,82.8203,0.00650382],136.862,true,true,[["I_HMG_01_high_F",[-2.17188,0.255859,4.3317],288.907],["I_HMG_01_high_F",[0.113281,2.24414,4.33242],0.00515014],["B_HMG_01_A_F",[9.94531,4.00781,0.0773745],359.997]],[]], + ["Land_Cargo_HQ_V3_F",[-29.2402,-60.6777,0.00650382],0,true,true,[["B_GMG_01_A_F",[3.21875,0.00390625,3.23014],359.993],["B_HMG_01_A_F",[16.0078,10.1953,0.0773726],359.997]],[]], + ["Land_Cargo_Tower_V3_F",[-4.12305,20.8203,0.0065043],0,true,true,[["B_HMG_01_A_F",[-3.17383,-5.20313,12.7981],64.3438],["B_HMG_01_high_F",[2.53125,3.69727,15.3515],0.0011765],["B_HMG_01_high_F",[-4.17969,-2.68555,15.3515],0.000256189],["B_T_Static_AA_F",[-3.1582,-5.75391,17.5147],15.2718],["B_T_Static_AA_F",[3.53125,3.41211,17.8956],0.00359767],["B_T_Static_AT_F",[4.65234,-2.37109,17.8982],359.987],["B_T_Static_AT_F",[-3.42578,4.68164,17.9467],0.0688143],["B_static_AA_F",[4.33008,-21.1309,0.00477314],0.00196657],["B_Mortar_01_F",[-21.1992,-21.166,0.0368805],360],["B_HMG_01_F",[-15.1777,30.7109,0.0773726],0.00624776]],[]], + ["Land_Cargo_HQ_V3_F",[21.375,67.9941,0.00650382],0,true,true,[["B_GMG_01_high_F",[-0.0683594,-2.80469,3.11371],0.000898623],["B_GMG_01_F",[-5.77344,-9.79492,0.103469],359.997]],[]], + ["Land_Cargo_Patrol_V3_F",[82.877,-78.1797,0.00650382],309.337,true,true,[["I_HMG_01_high_F",[2.16797,0.177734,4.33095],112.642],["I_HMG_01_high_F",[-0.078125,-2.33984,4.33268],155.598],["B_HMG_01_high_F",[-5.76172,-2.82813,-0.0121188],359.999]],[]], + ["Land_Cargo_Patrol_V3_F",[81.877,83.8203,0.00650382],227.142,true,true,[["I_HMG_01_high_F",[0.175781,2.11133,4.33095],27.6518],["I_HMG_01_high_F",[2.22461,-0.253906,4.3326],72.8333],["B_HMG_01_high_F",[-9.48047,2.01953,-0.0121188],360]],[]] +]; +_missionLandscape = [ + ["Flag_AAF_F",[5,5,0],0,[false,false]], + ["Land_HBarrierWall6_F",[-87.123,-60.1797,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,-76.1797,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-84.123,-86.1797,0.00650382],179.747,true,true], + ["Land_HBarrierWall6_F",[-68.123,-86.1797,0.00650382],179.747,true,true], + ["Land_HBarrierWall6_F",[-87.123,-84.1797,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-76.123,-86.1797,0.00650382],179.747,true,true], + ["Land_HBarrierWall6_F",[-87.123,-68.1797,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,-52.1797,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,-36.1797,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,-44.1797,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,-4.17969,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,-28.1797,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,-20.1797,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,-12.1797,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,15.8203,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,7.82031,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,23.8203,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,55.8203,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,39.8203,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,47.8203,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,31.8203,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,63.8203,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-77.123,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[-85.123,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[-61.123,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[-87.123,71.8203,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-87.123,79.8203,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-69.123,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[-87.123,87.8203,0.00650382],270.187,true,true], + ["Land_HBarrierWall6_F",[-52.123,-86.1797,0.00650382],179.747,true,true], + ["Land_HBarrierWall6_F",[-44.123,-86.1797,0.00650382],179.053,true,true], + ["Land_HBarrierWall6_F",[-36.123,-86.1797,0.00650382],179.053,true,true], + ["Land_HBarrierWall6_F",[-60.123,-86.1797,0.00650382],179.747,true,true], + ["Land_BluntRock_apart",[-47.123,-39.1797,0.00650406],0,true,true], + ["ShootingPos_F",[-49.123,28.8203,0.00650382],270.296,true,true], + ["ShootingPos_F",[-49.123,24.8203,0.00650382],270.296,true,true], + ["ShootingPos_F",[-49.127,30.6289,0.00650406],270.296,true,true], + ["ShootingPos_F",[-49.123,22.8203,0.00650382],270.296,true,true], + ["ShootingPos_F",[-49.123,26.8203,0.00650382],270.296,true,true], + ["Land_BluntRock_apart",[-49.123,1.82031,0.00650406],0,true,true], + ["Land_BluntRock_apart",[-49.123,44.8203,0.00650406],0,true,true], + ["Land_HBarrierWall6_F",[-45.123,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[-37.123,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[-53.123,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[-12.123,-86.1797,0.00650382],179.053,true,true], + ["Land_HBarrierWall6_F",[-20.123,-86.1797,0.00650382],179.053,true,true], + ["Land_HBarrierWall6_F",[-4.12305,-86.1797,0.00650382],179.053,true,true], + ["Land_HBarrierWall6_F",[-28.123,-86.1797,0.00650382],179.053,true,true], + ["RoadCone_L_F",[-1.80664,1.30859,0.00650382],0,true,true], + ["Land_Cargo_House_V3_F",[-27.123,-24.1797,0.00650382],0,true,true], + ["Land_Cargo_House_V3_F",[-19.123,-24.1797,0.00650382],0,true,true], + ["Land_Cargo_House_V3_F",[-19.123,-15.1797,0.00650382],180,true,true], + ["Land_Cargo_House_V3_F",[-27.123,-15.1797,0.00650382],180,true,true], + ["Land_Medevac_house_V1_F",[-29.123,25.8203,0.00650382],180,true,true], + ["Land_Medevac_house_V1_F",[-22.123,25.8203,0.00650382],180,true,true], + ["Land_Medevac_house_V1_F",[-29.123,16.8203,0.00650382],0,true,true], + ["Land_Medevac_house_V1_F",[-22.123,16.8203,0.00650382],0,true,true], + ["Land_BluntRock_apart",[-1.12305,43.8203,0.00650406],0,true,true], + ["Land_Medevac_HQ_V1_F",[-26.4199,67.7988,0.00650358],0,true,true], + ["Land_HBarrierWall6_F",[-29.123,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[-5.12305,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[-13.123,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[-21.123,90.8203,0.00650382],0,true,true], + ["Land_Research_HQ_F",[23.9355,-61.9063,0.00650358],0,true,true], + ["Land_HBarrierWall6_F",[15.877,-86.1797,0.00650382],179.053,true,true], + ["Land_HBarrierWall6_F",[23.877,-86.1797,0.00650382],179.053,true,true], + ["Land_HBarrierWall6_F",[7.87695,-86.1797,0.00650382],179.053,true,true], + ["Land_BluntRock_apart",[-0.123047,-40.1797,0.00650406],0,true,true], + ["Land_Research_house_V1_F",[22.877,-25.1797,0.00650382],0,true,true], + ["Land_Research_house_V1_F",[15.877,-16.1797,0.00650382],180,true,true], + ["Land_Research_house_V1_F",[15.877,-25.1797,0.00650382],0,true,true], + ["Land_Research_house_V1_F",[22.877,-16.1797,0.00650382],180,true,true], + ["Land_Cargo_House_V3_F",[16.877,16.8203,0.00650382],0,true,true], + ["Land_Cargo_House_V3_F",[16.877,25.8203,0.00650382],180,true,true], + ["Land_Cargo_House_V3_F",[24.877,25.8203,0.00650382],180,true,true], + ["Land_Cargo_House_V3_F",[24.877,16.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[14.877,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[6.87695,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[22.877,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[39.877,-86.1797,0.00650382],179.053,true,true], + ["Land_HBarrierWall6_F",[55.877,-86.1797,0.00650382],179.053,true,true], + ["Land_HBarrierWall6_F",[47.877,-86.1797,0.00650382],179.053,true,true], + ["Land_HBarrierWall6_F",[31.877,-86.1797,0.00650382],179.053,true,true], + ["Land_BluntRock_apart",[44.877,-40.1797,0.00650406],0,true,true], + ["Land_BluntRock_apart",[45.877,1.82031,0.00650406],0,true,true], + ["Land_BluntRock_apart",[43.877,41.8203,0.00650406],0,true,true], + ["Land_HBarrierWall6_F",[54.877,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[38.877,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[46.877,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[30.877,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[87.877,-86.1797,0.00650382],179.053,true,true], + ["Land_HBarrierWall6_F",[79.877,-86.1797,0.00650382],179.053,true,true], + ["Land_HBarrierWall6_F",[63.877,-86.1797,0.00650382],179.053,true,true], + ["Land_HBarrierWall6_F",[71.877,-86.1797,0.00650382],179.053,true,true], + ["StorageBladder_01_fuel_sand_F",[63.877,0.820313,0.00650358],0,true,true], + ["Land_HBarrierWall6_F",[88.877,16.8203,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[88.877,8.82031,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[88.877,24.8203,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[88.877,56.8203,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[88.877,40.8203,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[88.877,48.8203,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[88.877,32.8203,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[88.877,72.8203,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[70.877,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[88.877,80.8203,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[86.877,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[78.877,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[88.877,64.8203,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[88.877,88.8203,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[62.877,90.8203,0.00650382],0,true,true], + ["Land_HBarrierWall6_F",[89.877,-59.1797,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[89.877,-75.1797,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[89.877,-67.1797,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[89.877,-83.1797,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[89.877,-43.1797,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[89.877,-35.1797,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[89.877,-51.1797,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[89.877,-3.17969,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[89.877,-19.1797,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[89.877,-11.1797,0.00650382],89.9661,true,true], + ["Land_HBarrierWall6_F",[89.877,-27.1797,0.00650382],89.9661,true,true] +]; // list of objects to spawn as landscape +if (GMSCore_modtype isEqualTo "Exile") then +{ + _missionLandscape = _missionLandscape + [ + ["TargetBootcampHuman_F_Preview",[57.5684,-24.2852,0],271.664,[false,false]], + ["TargetBootcampHuman_F_Preview",[57.5684,-26.2852,0],271.664,[false,false]], + ["TargetBootcampHuman_F_Preview",[57.5684,-28.2852,0],271.664,[false,false]], + ["TargetBootcampHuman_F_Preview",[57.5684,-30.2852,0],271.664,[false,false]], + ["TargetBootcampHuman_F_Preview",[57.5684,-32.2852,0],271.664,[false,false]] + ]; +}; +_missionLootBoxes = [ + [/*"Land_Bunker_F"*/ selectRandom GMS_crateTypes,[62.877,-20.1797,0.00650358],_crateLoot,_lootCounts,89.743], + [/*"Land_Bunker_F"*/ selectRandom GMS_crateTypes,[63.877,22.8203,0.00650358],_crateLoot,_lootCounts,89.743] +]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. + +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. + +_missionEmplacedWeapons = + [ + #ifdef GMS_milServer + ["B_HMG_01_high_F",[-82.9199,-66.9844,-0.005615],360], + ["B_HMG_01_A_F",[-69.1777,86.8281,0.0838783],359.997], + ["B_GMG_01_F",[-54.8164,-9.12891,0.109973],359.995], + ["B_HMG_01_high_F",[-52.1445,13.166,-0.00561595],0.00143266], + ["B_HMG_01_A_F",[-13.2324,-50.4824,0.0838764],359.997], + ["B_Mortar_01_F",[-25.3223,-0.345703,0.0433848],360], + ["B_HMG_01_F",[-19.3008,51.5313,0.0838768],0.00624776], + ["B_GMG_01_F",[13.5703,-52.0176,0.109974],359.996], + ["B_static_AA_F",[0.207031,-0.310547,0.0112774],0.00196657], + ["B_Radar_System_01_F",[0.96875,-21.998,-0.020952],2.25309e-006], + ["B_GMG_01_F",[15.6016,58.1992,0.109973],359.997], + ["B_T_Mortar_01_F",[29.9648,0.337891,0.0433924],0.000177332], + ["B_GMG_01_A_F",[52.4199,-10.2988,0.109972],359.995], + ["B_HMG_01_high_F",[77.1152,-81.0078,-0.005615],359.999], + ["B_HMG_01_F",[66.9297,11.4141,0.0838761],359.991], + ["B_HMG_01_high_F",[72.3965,85.8398,-0.005615],360] + #else + ["B_HMG_01_high_F",[-82.9199,-66.9844,-0.005615],360], + ["B_HMG_01_A_F",[-69.1777,86.8281,0.0838783],359.997], + ["B_GMG_01_F",[-54.8164,-9.12891,0.109973],359.995], + ["B_HMG_01_high_F",[-52.1445,13.166,-0.00561595],0.00143266], + ["B_HMG_01_A_F",[-13.2324,-50.4824,0.0838764],359.997], + ["B_Mortar_01_F",[-25.3223,-0.345703,0.0433848],360], + ["B_HMG_01_F",[-19.3008,51.5313,0.0838768],0.00624776], + ["B_GMG_01_F",[13.5703,-52.0176,0.109974],359.996], + ["B_GMG_01_F",[15.6016,58.1992,0.109973],359.997], + ["B_T_Mortar_01_F",[29.9648,0.337891,0.0433924],0.000177332], + ["B_GMG_01_A_F",[52.4199,-10.2988,0.109972],359.995], + ["B_HMG_01_high_F",[77.1152,-81.0078,-0.005615],359.999], + ["B_HMG_01_F",[66.9297,11.4141,0.0838761],359.991], + ["B_HMG_01_high_F",[72.3965,85.8398,-0.005615],360] + #endif + ]; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used + +_missionGroups = + [ + //_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"]; + //[[-52.6523,15.8281,-0.00143838],2,3,"Orange",10,15], + [[-48.6113,-38.877,-0.00143886],2,3,"Orange",10,15], + //[[18.4492,-39.5684,-0.00143838],2,3,"Orange",10,15], + [[42.6504,31.6621,-0.00143886],2,3,"Orange",10,15], + //[[7.51563,46.4531,-0.001438864],2,3,"Orange",10,15], + [[-8.99219,-11.623,-0.00143838],2,3,"Orange",10,15], + //[[5.70898,46.9668,-0.00143886],2,3,"Orange",10,15], + [[-48.9297,48.3809,-0.00143886],2,3,"Orange",10,15], + //[[-63.0859,58.8594,-0.00143886],2,3,"Orange",10,15], + [[15.0547,58.5723,-0.00143886],2,3,"Orange",10,15], + //[[-8.16211,6.19727,-0.00143886],2,3,"Orange",10,15], + [[-39.8711,6.19727,-0.00143886],2,3,"Orange",10,15], + //[[-34.4902,-20.1328,-0.00143886],2,3,"Orange",10,15], + [[-9.00977,-17.8652,-0.00143886],2,3,"Orange",10,15] + ]; // Can be used to define spawn positions of AI patrols + + + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehiclesOrange,[-124.51,3.77344,-0.0159559],0.00168412], + [selectRandom GMS_AIPatrolVehiclesOrange,[-109.133,115.871,-0.03388],315.002] + //[selectRandom GMS_tracked_AA_ARMA3,[106.887,113.871,-0.028933],45.0024], + //[selectRandom GMS_Tanks_ARMA3,[129.93,-141.285,-0.015038],0.0016877], + //[selectRandom GMS_light_AT_ARMA3,[180.85,2.07617,-0.0159585],0.00167379], + //[selectRandom GMS_tracked_APC_ARMA3,[-120.836,-109.834,0.00836205],360] + + +]; // can be used to define the spawn positions of vehicle patrols + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; + +_chanceHeliPatrol = GMS_chanceHeliPatrolBlue; // Setting this in the mission file overrides the defaults +_noChoppers = GMS_noPatrolHelisOrange; +_missionHelis = GMS_patrolHelisOrange; + +//_chancePara = GMS_chanceParaOrange; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "orange"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,25,25,0],[0,0,0,25,25,0],[20,30,0,0,0,0],[0,0,0,0,30,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + + +//_endCondition = playerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/dashq.sqf b/@GMS/addons/GMS/Missions/Orange/dashq.sqf new file mode 100644 index 0000000..4d9de86 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/dashq.sqf @@ -0,0 +1,240 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Thomas TKO + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Orange Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +_startMsg = "An enemy Operations Base was sighted in a nearby sector! Check the Orange marker on your map for the location!"; +_endMsg = "The Operations Base at the Orange Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorOrange"; +_markerMissionName = "Operations Base"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_HQ_V1_F",[-0.358154,-18.6514,-0.00143862],179.905,true,true,[["B_HMG_01_high_F",[-6.5437,1.09253,3.11855],145.121],["B_HMG_01_high_F",[-13.9094,-10.7791,-0.0121183],206.716]],[]] +]; + +_missionLandscape = [ + ["Land_PortableLight_double_F",[-42.614,-26.0178,-0.00143909],225.577,true,true], + ["Land_CncWall4_F",[-45.3523,-21.509,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-33.5913,-28.1145,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[-38.842,-28.124,-0.00143909],359.905,true,true], + ["Land_CncWall1_F",[-44.093,-26.7578,-0.00143909],44.9051,true,true], + ["Land_CncWall1_F",[-43.0923,-27.5063,-0.00143909],29.9051,true,true], + ["Land_CncWall1_F",[-45.2207,-24.6689,-0.00143909],74.9051,true,true], + ["Land_CncWall1_F",[-44.845,-25.7581,-0.00143909],59.9051,true,true], + ["Land_CncWall1_F",[-41.9668,-28.0046,-0.00143909],14.9051,true,true], + ["Land_BagBunker_01_large_green_F",[-49.7271,-16.9226,-0.00143909],90.2555,true,true], + ["Land_Cargo_Tower_V1_F",[-36.3582,-19.3394,-0.00143909],89.905,true,true], + ["Land_CncWall4_F",[-33.4968,-9.73975,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-45.3792,-5.75879,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-45.3867,-0.508789,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-45.3694,-11.0095,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-45.3955,4.74121,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-45.4041,9.99072,-0.00143909],89.9051,true,true], + ["Land_CncWall1_F",[-32.0076,1.70923,-0.00143909],74.9051,true,true], + ["Land_CncWall1_F",[-31.6313,0.61792,-0.00143909],59.9051,true,true], + ["Land_BagBunker_01_large_green_F",[-49.7959,14.4089,-0.00143909],90.2555,true,true], + ["Land_Cargo_HQ_V1_F",[-34.4014,20.1455,-0.00143862],269.491,true,true], + ["Land_CncWall4_F",[-45.4214,20.4915,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-45.4302,25.7415,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-38.8159,32.2512,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-33.5662,32.2607,-0.00143909],179.905,true,true], + ["Land_CncWall1_F",[-43.0654,31.7451,-0.00143909],149.905,true,true], + ["Land_CncWall1_F",[-41.9753,32.1199,-0.00143909],164.905,true,true], + ["Land_CncWall1_F",[-44.0635,30.9924,-0.00143909],134.905,true,true], + ["Land_CncWall1_F",[-44.8127,29.991,-0.00143909],119.905,true,true], + ["Land_CncWall1_F",[-45.3108,28.8672,-0.00143909],104.905,true,true], + ["Land_BagFence_Round_F",[-15.3367,-30.4338,-0.00143909],44.9051,true,true], + ["Land_BagFence_Round_F",[-25.8376,-30.2017,-0.00143909],314.905,true,true], + ["Land_PortableLight_double_F",[-2.30811,-29.9211,-0.00143909],44.7366,true,true], + ["Land_CncWall4_F",[-2.09229,-28.0632,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[-26.9856,-16.3538,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[-13.8528,-21.4565,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-26.9783,-21.6038,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[-7.34155,-28.0718,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[-13.8606,-16.2065,-0.00143909],89.9051,true,true], + ["Land_CncWall1_F",[-13.3455,-25.7068,-0.00143909],59.9051,true,true], + ["Land_CncWall1_F",[-12.593,-26.7058,-0.00143909],44.9051,true,true], + ["Land_CncWall1_F",[-27.5952,-25.8552,-0.00143909],299.905,true,true], + ["Land_CncWall1_F",[-27.0967,-24.7288,-0.00143909],284.905,true,true], + ["Land_CncWall1_F",[-13.7209,-24.6165,-0.00143909],74.9051,true,true], + ["Land_CncWall1_F",[-10.4666,-27.9514,-0.00143909],14.9051,true,true], + ["Land_CncWall1_F",[-29.3428,-27.6084,-0.00143909],329.905,true,true], + ["Land_CncWall1_F",[-30.4331,-27.9832,-0.00143909],344.905,true,true], + ["Land_CncWall1_F",[-11.592,-27.4541,-0.00143909],29.9051,true,true], + ["Land_CncWall1_F",[-28.3438,-26.855,-0.00143909],314.905,true,true], + ["Land_BagFence_Long_F",[-25.2168,-27.7002,-0.00143909],269.905,true,true], + ["Land_BagFence_Long_F",[-15.9658,-27.9348,-0.00143909],269.905,true,true], + ["Land_BagFence_Long_F",[-12.8359,-31.0559,-0.00143909],359.905,true,true], + ["Land_BagFence_Long_F",[-28.3364,-30.8318,-0.00143909],179.905,true,true], + ["Land_BagFence_Round_F",[-7.19092,10.5073,-0.00143909],44.9051,true,true], + ["Land_PortableLight_double_F",[-11.7207,0.158936,-0.00143909],135.598,true,true], + ["Land_PortableLight_double_F",[-29.4041,0.418701,-0.00143909],218.658,true,true], + ["Land_CncWall4_F",[-7.24731,-9.69678,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-20.376,-1.73682,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[-25.6274,-1.74609,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[-15.1272,-1.72925,-0.00143909],359.905,true,true], + ["Land_CncWall1_F",[-10.4058,-9.82935,-0.00143909],164.905,true,true], + ["Land_CncWall1_F",[-10.8779,-1.22144,-0.00143909],329.905,true,true], + ["Land_CncWall1_F",[-9.13086,0.531982,-0.00143909],299.905,true,true], + ["Land_CncWall1_F",[-11.4956,-10.2031,-0.00143909],149.905,true,true], + ["Land_CncWall1_F",[-8.63257,1.65747,-0.00143909],284.905,true,true], + ["Land_CncWall1_F",[-11.9688,-1.59668,-0.00143909],344.905,true,true], + ["Land_CncWall1_F",[-27.4932,-12.1047,-0.00143909],239.905,true,true], + ["Land_CncWall1_F",[-12.4951,-10.9553,-0.00143909],134.905,true,true], + ["Land_CncWall1_F",[-13.2424,-11.9563,-0.00143909],119.905,true,true], + ["Land_CncWall1_F",[-29.8777,-1.12744,-0.00143909],29.9051,true,true], + ["Land_CncWall1_F",[-9.87939,-0.470703,-0.00143909],314.905,true,true], + ["Land_CncWall1_F",[-30.3708,-9.86011,-0.00143909],194.905,true,true], + ["Land_CncWall1_F",[-30.8787,-0.378906,-0.00143909],44.9051,true,true], + ["Land_CncWall1_F",[-29.2468,-10.3582,-0.00143909],209.905,true,true], + ["Land_CncWall1_F",[-13.7417,-13.0818,-0.00143909],104.905,true,true], + ["Land_CncWall1_F",[-28.2449,-11.1069,-0.00143909],224.905,true,true], + ["Land_CncWall1_F",[-27.1179,-13.1948,-0.00143909],254.905,true,true], + ["Land_CncWall1_F",[-28.7524,-1.62573,-0.00143909],14.9051,true,true], + ["Land_BagFence_Long_F",[-7.8208,13.0066,-0.00143909],269.905,true,true], + ["Land_BagFence_Long_F",[-4.69067,9.88257,-0.00143909],359.905,true,true], + ["Land_Cargo_Patrol_V1_F",[-19.8857,1.92358,-0.00143862],359.905,true,true], + ["Land_Cargo_HQ_V1_F",[-17.6404,20.1672,-0.00143862],269.491,true,true], + ["Land_HelipadSquare_F",[0.169189,17.6489,-0.00143909],359.936,true,true], + ["Land_BagFence_Round_F",[-7.21484,25.1335,-0.00143909],134.905,true,true], + ["Land_BagFence_Round_F",[-8.354,36.8232,-0.00143909],134.905,true,true], + ["Land_CncWall4_F",[-23.0659,32.2773,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-12.615,32.3005,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-17.8164,32.2856,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-7.396,32.3115,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-2.25146,35.2305,-0.00143909],179.977,true,true], + ["Land_CncWall4_F",[-28.3167,32.269,-0.00143909],179.905,true,true], + ["Land_CncWall1_F",[-4.03638,32.6663,-0.00143909],149.461,true,true], + ["Land_BagFence_Long_F",[-4.71533,25.7625,-0.00143909],359.905,true,true], + ["Land_BagFence_Long_F",[-5.85449,37.4521,-0.00143909],359.905,true,true], + ["Land_BagFence_Long_F",[-7.83618,22.6321,-0.00143909],89.9051,true,true], + ["Land_BagFence_Long_F",[-8.97534,34.3218,-0.00143909],89.9051,true,true], + ["Land_PortableLight_double_F",[12.1106,-26.1833,-0.00143909],149.905,true,true], + ["Land_CncWall4_F",[15.0215,-21.5349,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[8.38428,-28.1101,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[15.0137,-16.2847,-0.00143909],269.905,true,true], + ["Land_CncWall1_F",[14.9031,-24.6597,-0.00143909],284.905,true,true], + ["Land_CncWall1_F",[12.6567,-27.5383,-0.00143909],329.905,true,true], + ["Land_CncWall1_F",[11.5676,-27.9133,-0.00143909],344.905,true,true], + ["Land_CncWall1_F",[14.4038,-25.7854,-0.00143909],299.905,true,true], + ["Land_CncWall1_F",[13.656,-26.7861,-0.00143909],314.905,true,true], + ["Land_BagFence_Long_F",[12.5037,-23.1807,-0.00143909],89.3707,true,true], + ["Land_BagFence_Long_F",[11.072,-24.5706,-0.00143909],359.905,true,true], + ["Land_BagFence_Long_F",[10.9707,-21.8315,-0.00143909],179.371,true,true], + ["Land_BagFence_Long_F",[9.56812,-23.1921,-0.00143909],269.905,true,true], + ["Land_BagBunker_01_large_green_F",[3.83936,-32.5405,-0.00143909],0,true,true], + ["Land_TTowerSmall_2_F",[11.5024,-23.7861,-0.00143909],179.905,true,true], + ["Land_Cargo_House_V1_F",[9.00171,-10.2603,-0.00143909],89.905,true,true], + ["Land_Cargo_House_V1_F",[8.98071,2.86475,-0.00143909],89.905,true,true], + ["Land_Medevac_house_V1_F",[8.99219,-3.76099,-0.00143909],90.3921,true,true], + ["Land_BagFence_Round_F",[8.05933,10.2788,-0.00143909],314.905,true,true], + ["Land_PortableLight_double_F",[12.8176,7.44629,-0.00143909],134.905,true,true], + ["Land_CncWall4_F",[14.9788,4.71558,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[15.0054,-11.0347,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[14.9961,-5.78418,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[14.9878,-0.533936,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[14.9705,9.96558,-0.00143909],269.905,true,true], + ["Land_BagFence_Long_F",[8.68018,12.7852,-0.00143909],269.905,true,true], + ["Land_BagFence_Long_F",[5.55933,9.6499,-0.00143909],179.905,true,true], + ["Land_BagBunker_01_large_green_F",[19.272,16.1316,-0.00143909],269.832,true,true], + ["Land_BagFence_Round_F",[7.91089,24.9097,-0.00143909],224.905,true,true], + ["Land_BagFence_Round_F",[9.05054,36.9314,-0.00143909],224.905,true,true], + ["Land_PortableLight_double_F",[11.8816,29.2671,-0.00143909],44.7366,true,true], + ["Land_CncWall4_F",[14.9529,20.4653,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[8.43433,32.3303,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[2.95288,35.22,-0.00143909],179.977,true,true], + ["Land_CncWall4_F",[14.9443,25.7156,-0.00143909],269.905,true,true], + ["Land_CncWall1_F",[14.4373,29.9646,-0.00143909],239.905,true,true], + ["Land_CncWall1_F",[14.813,28.8745,-0.00143909],254.905,true,true], + ["Land_CncWall1_F",[13.6853,30.9644,-0.00143909],224.905,true,true], + ["Land_CncWall1_F",[12.6843,31.7119,-0.00143909],209.905,true,true], + ["Land_CncWall1_F",[11.5593,32.2114,-0.00143909],194.905,true,true], + ["Land_CncWall1_F",[5.11841,32.7061,-0.00143909],209.905,true,true], + ["Land_BagFence_Long_F",[8.54004,22.4104,-0.00143909],89.9051,true,true], + ["Land_BagFence_Long_F",[9.67969,34.4321,-0.00143909],89.9051,true,true], + ["Land_BagFence_Long_F",[5.40894,25.5288,-0.00143909],179.905,true,true], + ["Land_BagFence_Long_F",[6.54858,37.5505,-0.00143909],179.905,true,true] +]; + +_missionLootBoxes = [ + //["B_supplyCrate_F",[0.0717773,16.9431,-0.00143814],_crateLoot,_lootCounts,0.000320471] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehiclesOrange,[-62.7971,0.422119,-0.0236669],0.00164848], + [selectRandom GMS_AIPatrolVehiclesGreen,[31.9084,-7.18774,-0.0238085],0.00168349] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + ["B_static_AA_F",[-27.1521,-29.2402,-0.0135579],154.874], + ["B_HMG_01_high_F",[-14.2676,-29.4304,-0.013557],206.716], + ["B_HMG_01_high_F",[-12.8362,1.83374,-0.0135579],25.3994], + ["B_HMG_01_high_F",[-26.5833,1.45483,-0.0135574],336.99], + ["B_static_AA_F",[-26.2922,25.8635,-0.0135584],25.3994], + ["B_HMG_01_high_F",[-5.00732,29.4277,-0.0135579],359.999], + ["B_HMG_01_high_F",[-7.33691,36.0117,-0.0135584],357.806], + ["B_HMG_01_high_F",[8.54346,36.1248,-0.0135579],359.962] +]; + +_missionGroups = [ + [[-41.0581,-3.45898,0],2,3,"Orange",30,45], + [[-37.6394,8.57202,0],2,3,"Orange",30,45], + [[-21.9045,-23.5044,0],2,3,"Orange",30,45], + [[-4.78564,-4.45728,0],2,3,"Orange",30,45], + [[-12.2888,11.2847,0],2,3,"Orange",30,45], + [[-19.8623,-10.6353,0],2,3,"Orange",30,45], + [[4.07446,-4.8584,0],2,3,"Orange",30,45] +]; + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/default.sqf b/@GMS/addons/GMS/Missions/Orange/default.sqf new file mode 100644 index 0000000..09199bf --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/default.sqf @@ -0,0 +1,53 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; +//diag_log "[GMS] Spawning Orange Mission with template = default"; +//diag_log "[GMS] Spawning Orange Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +_startMsg = "A group of Bandits was sighted in a nearby sector! Check the Orange marker on your map for the location!"; +_endMsg = "The Sector at the Orange Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[250,250],"GRID"]; +_markerColor = "ColorOrange"; +_markerMissionName = "Bandit Patrol"; +_missionLandscapeMode = "random"; // acceptable values are "none","random","precise" +_missionLandscape = ["Land_WoodPile_F","Land_BagFence_Short_F","Land_WoodPile_F","Land_BagFence_Short_F","Land_WoodPile_F","Land_BagFence_Short_F","Land_FieldToilet_F","Land_TentDome_F","Land_TentDome_F","Land_TentDome_F","Land_TentDome_F","Land_CargoBox_V1_F","Land_CargoBox_V1_F"]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +//_chancePara = 0.75; // Setting this in the mission file overrides the defaults +//_noPara = 5; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "orange"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. + +//_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/derbunker.sqf b/@GMS/addons/GMS/Missions/Orange/derbunker.sqf new file mode 100644 index 0000000..62ba9d2 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/derbunker.sqf @@ -0,0 +1,112 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Orange Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +_startMsg = "An enemy Bunker was sighted in a nearby sector! Check the Orange marker on your map for the location!"; +_endMsg = "The Bunker at the Orange Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorOrange"; +_markerMissionName = "DerBunker"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Bunker_01_big_F",[-15.925,9.02295,0.760561],90.071,true,true,[["O_HMG_01_high_F",[-5.45947,-3.38574,0.109706],359.994]],[]], + ["Land_Bunker_01_tall_F",[-15.377,-8.8042,-0.00143909],90.071,true,true,[["O_HMG_01_high_F",[5.50562,-2.54395,-0.0121193],0.00145215],["O_HMG_01_high_F",[-1.72095,-0.109375,4.96893],0.00948966]],[]], + ["Land_Bunker_01_tall_F",[-15.76,28.606,-0.00143909],90.071,true,true,[["O_HMG_01_high_F",[5.47437,2.47559,-0.0121179],0.000581241],["O_HMG_01_high_F",[-1.38867,-0.0722656,4.967],359.999],["O_HMG_01_high_F",[11.8271,5.87988,-0.0121188],0.00143633]],[]], + ["Land_Bunker_01_big_F",[20.199,10.729,0.760561],270.416,true,true,[["O_HMG_01_high_F",[5.86328,3.25586,0.109697],0.0117801]],[]], + ["Land_Bunker_01_tall_F",[19.8899,-8.86914,-0.00143909],270.416,true,true,[["O_HMG_01_high_F",[-5.13818,-2.33496,-0.0121174],0.0002874],["O_HMG_01_high_F",[1.45801,0.0512695,4.96698],360]],[]], + ["Land_Bunker_01_tall_F",[19.731,28.542,-0.00143909],270.416,true,true,[["O_HMG_01_high_F",[-5.00977,2.1792,-0.0121188],0.00143735],["O_HMG_01_high_F",[1.80957,0.26709,4.96756],360],["O_HMG_01_high_F",[-12.0127,6.1333,-0.0121193],0.00145178]],[]] +]; + +_missionLandscape = [ + //["Sign_Arrow_F",[-3163.22,-5166.85,-0.00143909],0,true,true], + //["Sign_Arrow_Green_F",[-3163.22,-5166.85,-0.00143909],0,true,true], + //["Sign_Arrow_Yellow_F",[-3163.22,-5166.85,-0.00143909],0,true,true], + //["babe_helper",[-3165.72,-5166.35,-0.00143909],90.8645,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.762,17.5518,-0.00143909],270.35,true,true], + ["Land_Bunker_01_blocks_3_F",[-0.0979004,-12.9033,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[-5.18799,-12.9092,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[-10.175,-12.9253,-0.502439],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.814,-4.44141,-0.00143909],270.35,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.7959,0.544922,-0.00143909],270.35,true,true], + ["CamoNet_INDP_big_F",[2.23804,-2.70508,-0.00143909],182.545,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.7451,22.5391,-0.00143909],270.35,true,true], + ["Land_Bunker_01_blocks_3_F",[-2.51611,30.105,-0.00143909],90.192,true,true], + ["Land_Bunker_01_blocks_3_F",[-10.6179,32.6689,-0.432439],0.106,true,true], + ["Land_Bunker_01_blocks_3_F",[-5.63013,32.6719,-0.00143909],0.106,true,true], + ["Land_Bunker_01_blocks_3_F",[17.958,2.1958,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[14.9771,-12.854,-0.529439],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[4.88892,-12.8853,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[17.9109,-2.78906,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[9.98999,-12.8711,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[6.58691,30.1689,-0.00143909],269.774,true,true], + ["Land_Bunker_01_blocks_3_F",[18.095,19.2026,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[18.1409,24.189,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[9.54907,32.6689,-0.00143909],0.106,true,true], + ["Land_Bunker_01_blocks_3_F",[14.5359,32.6729,-0.363439],0.106,true,true] +]; + +_missionLootBoxes = [ + //["Exile_Container_SupplyBox",[0.0446777,-1.31494,-0.001441],_crateLoot,_lootCounts,0.00167282] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + //["O_LSV_02_armed_F",[-37.46,8.55273,-0.0378561],359.999], + //["O_LSV_02_unarmed_F",[38.3699,8.21484,-0.0378113],359.999] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/generalsCamp.sqf b/@GMS/addons/GMS/Missions/Orange/generalsCamp.sqf new file mode 100644 index 0000000..1c6b09a --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/generalsCamp.sqf @@ -0,0 +1,123 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; +//diag_log "[GMS] Spawning Orange Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = [15,50,20,60,44,5]; ; +_startMsg = "An enemy General was sighted in a nearby sector! Check the Orange marker on your map for the location!"; +_endMsg = "The Sector at the Orange Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[250,250],"GRID"]; +_markerColor = "ColorOrange"; +_markerMissionName = "General"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_HQ_V3_F",[-19.5625,12.75,-0.00143886],0,true,true, + [ + #ifdef GMS_milServer + ["B_static_AT_F",[-2.19141,2.61328,3.12619],0], + ["B_static_AA_F",[18.8105,0.414063,4.76837e-007],0], + #else + ["B_HMG_01_high_F",[-2.19141,2.61328,3.12619],0], + ["B_HMG_01_high_F",[18.8105,0.414063,4.76837e-007],0], + #endif + ["B_G_Mortar_01_F",[4.44531,-1.23633,3.12661],0], + ["B_T_GMG_01_F",[10.5313,8.77148,4.76837e-007],0] + + ],[] + ] +]; +_missionLandscape = [ + ["Land_Cargo_House_V3_F",[-22.584,-5.57813,-0.00143886],274.124,true,true], + ["CamoNet_INDP_big_F",[-24.7871,-6.60547,-0.00143862],274.124,true,true], + ["Land_StoneWall_01_s_10m_F",[-18.334,-29.9805,-0.00143886],205.753,true,true], + ["Land_HBarrierWall6_F",[-25.7559,-24.4082,1.16748],236.075,true,true], + ["Land_HBarrierWall6_F",[-8.11523,-33.877,-0.00143886],192.539,true,true], + ["Land_HBarrier_5_F",[-15.0684,-23.7363,-0.00143886],37.9792,true,true], + ["Land_Cargo_House_V3_F",[10.4727,-31.4297,-0.00143886],0,true,true], + ["CamoNet_INDP_big_F",[9.28906,-29.3066,-0.00143862],0,true,true], + ["Flag_AAF_F",[1.36328,-9.5918,-0.00143886],0,true,true], + ["Land_HBarrier_5_F",[-0.244141,23.9629,-0.00143886],136.596,true,true], + ["Land_StoneWall_01_s_10m_F",[-17.1445,22.707,-0.00143886],126.293,true,true], + ["RoadCone_L_F",[0.914063,-0.908203,-0.00143838],0,true,true], + ["Land_StoneWall_01_s_10m_F",[-5.76367,33.9297,-0.00143886],149.724,true,true], + ["Land_HBarrierWall6_F",[3.26758,32.4668,-0.00143886],343.996,true,true], + ["Land_HBarrierWall6_F",[-7.77734,27.0352,1.1692],330.052,true,true], + ["Land_HBarrier_5_F",[25.5332,-18.2188,-0.00143886],136.596,true,true], + ["Land_StoneWall_01_s_10m_F",[30.209,-21.5527,0.788476],316.253,true,true], + ["Land_HBarrierWall6_F",[38.3105,-17.6387,-0.00143886],145.55,true,true], + ["Land_HBarrierWall6_F",[25.752,-28.7578,-0.00143886],145.21,true,true], + ["Land_HBarrier_5_F",[31.0332,16.5156,-0.00143886],37.9792,true,true], + ["Land_Cargo_House_V3_F",[36.7344,-2.48047,-0.00143886],0,true,true], + ["CamoNet_INDP_big_F",[36.8828,-1.53125,-0.00143862],0,true,true], + ["Land_StoneWall_01_s_10m_F",[34.7969,22.2148,-0.00143886],39.3743,true,true], + ["Land_BagBunker_Tower_F",[13.6211,-1.86523,-0.00143886],0,true,true], + ["Land_HBarrierWall6_F",[41.2773,14.2363,-0.00143886],46.4321,true,true], + ["Land_HBarrierWall6_F",[27.1191,25.123,-0.00143886],43.3727,true,true], + ["Land_StoneWall_01_s_10m_F",[21.6309,31.3789,-0.00143886],0,true,true], + ["Land_BagBunker_Tower_F",[13.6699,28.5684,-0.00143886],0,true,true] +]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + #ifdef GMS_milServer + [selectRandom GMS_AIPatrolVehiclesOrange,[-53.3984,-32.1953,-0.0238545],0.00168023], + [selectRandom GMS_AIPatrolVehiclesGreen,[-41.373,21.6543,-0.023375],0.00167416] + //[selectRandom GMS_tracked_AA_ARMA3,[3.89844,48.4082,-0.0219693],0.00167182], + //[selectRandom GMS_Tanks_ARMA3,[12.877,-54.4258,-0.0238872],0.00167124], + //[selectRandom GMS_light_AT_ARMA3,[55.5371,-12.541,-0.0210321],0.00167126], + //[selectRandom GMS_tracked_APC_ARMA3,[50.2324,21.9902,-0.0222204],0.00167786] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + ["B_T_Static_AT_F",[-17.7773,-27.4141,0.00333524],359.999], + ["B_static_AA_F",[-0.751953,13.1641,0.00333142],0.000330652], + ["B_static_AA_F",[9.62305,-17.4297,0.00333142],0.000328912], + ["B_Radar_System_01_F",[11.6035,13.4375,-0.0288956],1.31836e-005], + ["B_T_Static_AT_F",[-4.125,30.8418,0.00333095],0.00263487], + ["B_T_Static_AT_F",[28.8594,-20.3203,0.00333095],0.0122616], + ["B_static_AT_F",[38.6895,12.291,0.00333142],0.00263745], + ["B_T_Static_AT_F",[33.5723,20.9922,0.00333142],0.00263668], +]; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,25,25,0],[0,0,0,25,25,0],[20,30,0,0,0,0],[0,0,0,0,30,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/medicalCamp.sqf b/@GMS/addons/GMS/Missions/Orange/medicalCamp.sqf new file mode 100644 index 0000000..b92d86b --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/medicalCamp.sqf @@ -0,0 +1,65 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +////diag_log "[GMS] Spawning Orange Mission with template = medicalCamp"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +_startMsg = "A Bandit Medical camp has been spotted. Check the Orange marker on your map for its location"; +_endMsg = "The Bandit Medical camp at the Orange Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[250,250],"GRID"]; +_markerColor = "ColorOrange"; +_markerMissionName = "Medical Camp"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AAF_F",[4,4,0],0,[false,true]], + ["Land_dp_transformer_F",[1.698242,-10.4668,-0.00763702],271.32,[true,true]], + ["Land_Wreck_BRDM2_F",[1.37012,13.498,0.00109863],184.487,[true,true]], + ["Land_BagBunker_Small_F",[18.4512,-3.66406,0.00780487],305.003,[true,true]], + ["Land_Cargo_HQ_V1_F",[-20.1367,11.7539,0],90.8565,[true,false]], + ["Land_BagBunker_Small_F",[-22.707,-3.75586,-0.0130234],44.9901,[true,true]], + ["Land_Cargo_House_V1_F",[24.3584,7.45313,0.00111389],91.6329,[true,true]], + ["StorageBladder_01_fuel_forest_F",[1.29492,29.3184,0.000999451],179.65,[false,true]], + ["Land_GarbageBags_F",[-9.45996,31.252,0.02005],184.595,[false,true]], + ["Land_GarbageBags_F",[-13.0459,32.668,-0.0283051],184.595,[false,false,true]], + ["Land_GarbageBags_F",[-11.5957,33.125,-0.598007],184.595,[false,false,true]], + ["Land_GarbageBags_F",[-8.98145,34.5801,-0.00514221],184.592,[false,true]], + ["Land_Addon_02_V1_ruins_F",[24.8369,24.6582,-0.00820923],90.9637,[false,true]], + ["Land_GarbageBags_F",[-10.9443,35.0449,0.577057],184.592,[false,true]], + ["Land_Cargo20_military_green_F",[14.6533,32.9004,0.000480652],90.0989,[false,true]], + ["Land_BagBunker_Small_F",[-23.0186,28.6738,-0.0271301],120.012,[false,true]], + ["Land_BagBunker_Small_F",[37.1504,34.5742,0.0146866],255,[false,true]] + ]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines;_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; + diff --git a/@GMS/addons/GMS/Missions/Orange/officeComplex.sqf b/@GMS/addons/GMS/Missions/Orange/officeComplex.sqf new file mode 100644 index 0000000..faade3f --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/officeComplex.sqf @@ -0,0 +1,154 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +_startMsg = "The enemy have occupied an office complex in a nearby sector! Check the Black marker on your map for the location!"; +_endMsg = "The Sector at the Pink Marker is under survivor control!"; + +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorPink"; +_markerMissionName = "Office Complex"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here + + +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Offices_01_V1_F",[47119.1,35868.7,4.76837e-007],269.862,true,true,[["O_HMG_01_high_F",[1.91211,10.3887,0.915],96.7764],["O_HMG_01_F",[-6.00781,11.4434,0.915001],186.886],["O_Mortar_01_F",[-0.0390625,-2.37891,17.852],208.222],["O_HMG_01_high_F",[-7.19141,11.9668,17.8518],308.501],["O_GMG_01_high_F",[-7.29492,-15.7617,17.8518],232.577],["O_Radar_System_02_F",[27.1289,15.6582,-2.38419e-007],0]],[]], + ["Land_Offices_01_V1_F",[47126.1,35910.6,4.76837e-007],0,true,true,[["O_HMG_01_high_F",[10.4004,-2.66406,0.914999],181.335],["O_HMG_01_F",[11.4473,5.94141,0.915],272.565],["O_static_AA_F",[-2.10938,0.380859,17.6633],308.394],["O_HMG_01_high_F",[11.7383,7.01758,17.8518],58.5428],["O_GMG_01_high_F",[-15.666,7.14453,17.8518],322.918]],[]], + ["Land_Offices_01_V1_F",[47161.2,35860.4,4.76837e-007],179.838,true,true,[["O_HMG_01_high_F",[-10.3906,2.07813,0.915],0],["O_HMG_01_F",[-11.4414,-5.97852,0.915001],90.6397],["O_static_AA_F",[3.31055,0.535156,17.8518],130.28],["O_HMG_01_high_F",[-11.709,-6.99219,17.8518],230.558],["O_GMG_01_high_F",[15.8945,-7.25195,17.8518],144.952]],[]], + ["Land_Offices_01_V1_F",[47171.3,35902.4,4.76837e-007],89.712,true,true,[["O_HMG_01_high_F",[-2.4082,-10.3828,0.915],272.89],["O_HMG_01_F",[6.36328,-11.4355,0.915001],0],["O_Mortar_01_F",[-0.0273438,2.89258,17.8518],30.2156],["O_HMG_01_high_F",[7.41211,-11.8789,17.8518],151.994],["O_GMG_01_high_F",[7.23828,15.8262,17.8518],53.1106]],[]] +]; + +_missionLandscape = [ + ["Land_SandbagBarricade_01_hole_F",[47124.4,35890.2,0],85.991,true,true], + ["Land_HBarrier_01_line_5_green_F",[47102.9,35890.1,0],271.072,true,true], + ["Land_HBarrier_01_line_5_green_F",[47106.1,35896.8,0],130.91,true,true], + ["Land_HBarrier_01_line_5_green_F",[47107.1,35884.1,0],35.5083,true,true], + ["Land_HBarrier_01_line_5_green_F",[47145.7,35848,0],316.085,true,true], + ["Land_HBarrier_01_line_5_green_F",[47132.8,35847.6,0],39.0453,true,true], + ["Land_HBarrier_01_line_5_green_F",[47138.8,35844.5,0],0,true,true], + ["Land_SandbagBarricade_01_hole_F",[47139.1,35864.5,0],0,true,true], + ["Land_SandbagBarricade_01_hole_F",[47147.1,35895.6,0],0,true,true], + ["Land_HBarrier_01_line_5_green_F",[47149.3,35924.9,0],0,true,true], + ["Land_HBarrier_01_line_5_green_F",[47141.7,35922.3,0],320.811,true,true], + ["Land_SandbagBarricade_01_hole_F",[47155.4,35879.7,0],269.802,true,true], + ["Land_HBarrier_01_line_5_green_F",[47182.4,35874,0],314.213,true,true], + ["Land_HBarrier_01_line_5_green_F",[47183.6,35887.4,0],237.111,true,true], + ["Land_HBarrier_01_line_5_green_F",[47157.3,35923.2,0],207.1,true,true], + ["Land_HBarrier_01_line_5_green_F",[47186.2,35880.4,0],89.2182,true,true] +]; + +_missionlootvehicles = []; + +_missionLootBoxes = [ +]; + +#ifdef GMS_milServer +private _CUP_Tanks = [ + "CUP_O_T90_RU", + "CUP_B_M1A1_DES_US_Army", + "CUP_B_M1A2_TUSK_MG_DES_US_Army", + "CUP_B_Leopard2A6_GER", + "CUP_B_Challenger2_NATO" +]; +#endif +_missionPatrolVehicles = [ + ["O_T_LSV_02_armed_F",[47086.9,35887,0],205.251], + ["O_T_LSV_02_AT_F",[47207.8,35877.4,0],0], + ["O_T_APC_Tracked_02_AA_ghex_F",[47094.1,35924.2,2.38419e-007],297.601], + [selectRandom GMS_Tanks_ARMA3,[47099.8,35845.4,0],227.158], + [selectRandom GMS_Tanks_ARMA3,[47184.5,35932.1,0],29.7763], + ["O_T_APC_Tracked_02_AA_ghex_F",[47194.1,35850.3,2.38419e-007],109.403] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ + ["O_Heli_Attack_02_dynamicLoadout_F",[47048.6,35934.3,186.215],0], + ["O_Heli_Light_02_dynamicLoadout_F",[47209,35907.2,121.794],221.059] +]; + +_missionEmplacedWeapons = [ + ["O_GMG_01_high_F",[47111.8,35852.9,17.8518],232.577], + ["O_HMG_01_high_F",[47111.9,35880.7,17.8518],308.501], + ["O_Mortar_01_F",[47119.1,35866.3,17.852],208.222], + ["O_HMG_01_F",[47113.1,35880.1,0.915001],186.886], + ["O_HMG_01_high_F",[47121,35879.1,0.915001],96.7764], + ["O_static_AA_F",[47124,35910.9,17.6633],308.394], + ["O_GMG_01_high_F",[47110.4,35917.7,17.8518],322.918], + ["O_HMG_01_high_F",[47149.5,35853.4,17.8518],230.558], + ["O_HMG_01_F",[47149.8,35854.4,0.915002],90.6397], + ["O_HMG_01_high_F",[47150.8,35862.4,0.915],0], + ["O_HMG_01_high_F",[47136.5,35907.9,0.915],181.335], + ["O_Radar_System_02_F",[47146.2,35884.4,2.38419e-007],0], + ["O_HMG_01_high_F",[47137.8,35917.6,17.8518],58.5428], + ["O_HMG_01_F",[47137.5,35916.5,0.915],272.565], + ["O_GMG_01_high_F",[47177.1,35853.1,17.8518],144.952], + ["O_static_AA_F",[47164.5,35860.9,17.8518],130.28], + ["O_HMG_01_high_F",[47178.7,35890.5,17.8518],151.994], + ["O_Mortar_01_F",[47171.3,35905.3,17.8518],30.2156], + ["O_HMG_01_F",[47177.7,35890.9,0.915001],0], + ["O_HMG_01_high_F",[47168.9,35892,0.915],272.89], + ["O_GMG_01_high_F",[47178.5,35918.2,17.8518],53.1106] +]; + +_missionGroups = [ + [[44613.6,37206.4,4577.72],3,6,"Red",30,45], + [[47114.9,35887.8,0.00143886],3,6,"Red",30,45], + [[47137.3,35857.1,0.00143886],3,6,"Red",30,45], + [[47142,35867.3,0.00143886],3,6,"Red",30,45], + [[47129.4,35894.9,0.00143886],3,6,"Red",30,45], + [[47154.4,35899.7,0.00143886],3,6,"Red",30,45], + [[47145.3,35913.5,0.00143886],3,6,"Red",30,45], + [[47173.1,35881.2,0.00143886],3,6,"Red",30,45], + [[47162,35877.3,0.00143886],3,6,"Red",30,45] +]; + +_scubaGroupParameters = [ +]; + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_minNoAI = GMS_MinAI_Blue; // Setting this in the mission file overrides the defaults such as GMS_MinAI_Blue +_maxNoAI = GMS_MaxAI_Blue; // Setting this in the mission file overrides the defaults +_noAIGroups = GMS_AIGrps_Blue; // Setting this in the mission file overrides the defaults +_noVehiclePatrols = GMS_SpawnVeh_Blue; // Setting this in the mission file overrides the defaults +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; // Setting this in the mission file overrides the defaults +// Change _useMines to true/false below to enable mission-specific settings. + +_chanceHeliPatrol = GMS_chanceHeliPatrolBlue; // Setting this in the mission file overrides the defaults +_noChoppers = GMS_noPatrolHelisBlue; +_missionHelis = GMS_patrolHelisBlue; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/operationShutdown.sqf b/@GMS/addons/GMS/Missions/Orange/operationShutdown.sqf new file mode 100644 index 0000000..1c92a1c --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/operationShutdown.sqf @@ -0,0 +1,182 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Orange Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = [15,50,20,60,44,5]; +_startMsg = "Operation Shutdown reported in a nearby sector ! Check the marker on your map for the location!"; +_endMsg = "Operation Shutdown has been shutout: time to claim your loot!"; + +_markerMissionName = "Operation Shutdown"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here + + +_markerType =["ellipse",[250,250],"GRID"]; +_markerColor = "ColorOrange"; +_markerLabel = ""; + +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_MilOffices_V1_F",[-25.8965,-17.3301,-0.00136375],90.0716,true,true,[["B_HMG_01_high_F",[-4.85742,3.48145,0.559855],100.573],["B_HMG_01_high_F",[0.591797,15.7725,0.643467],123.4],["B_GMG_01_high_F",[3.26953,-15.627,0.471853],360]],[]], + ["Land_Cargo_Tower_V1_F",[19.8242,-40.0908,-0.00136375],352.947,true,true,[["I_Mortar_01_F",[3.14453,0.788086,18.0422],359.998],["I_HMG_01_high_F",[5.16797,-2.8291,18.2109],0.00196825],["I_GMG_01_high_F",[4.45508,4.51367,17.98],0.00289071],["I_HMG_01_high_F",[-5.30078,3.69629,17.6744],0.000505428],["I_HMG_01_high_F",[-3.58008,-5.88281,17.9417],0.00144037]],[]], + ["Land_Cargo_Tower_V1_F",[17.0313,6.15039,-0.00136375],351.39,true,true,[["I_Mortar_01_F",[2.70508,2.4043,18.001],359.998],["I_HMG_01_high_F",[-4.55664,3.79785,17.9989],359.997],["I_GMG_01_high_F",[5.7832,-2.44629,17.8822],0.00181586],["I_HMG_01_high_F",[-3.38672,-6.18652,17.6068],359.996],["B_HMG_01_F",[-5.00391,-22.5283,0.0824738],359.923],["B_Mortar_01_F",[-16.3105,20.4473,0.0377121],359.999]],[]], + ["Land_Unfinished_Building_01_F",[11.3477,24.6777,-0.00136375],169.294,true,true,[["B_HMG_01_high_F",[4.23438,-3.06641,3.56936],270.931]],[]] +]; + +_missionLandscape = [ + ["Land_ReservoirTank_V1_F",[-9.26367,-39.2754,-0.00136375],244.206,true,true], + ["Land_HBarrier_Big_F",[-15.8281,-41.0605,-0.00157738],265.38,true,true], + ["Land_HBarrier_Big_F",[-4.43164,-49.2871,-0.0026722],10.0179,true,true], + ["Land_HBarrier_Big_F",[-12.2578,-46.6807,0.00488663],213.338,true,true], + ["CamoNet_BLUFOR_F",[-6.46875,-28.1533,0.00206184],168.592,true,true], + ["Land_HBarrierWall_corridor_F",[-16.7266,18.7031,-0.0011692],0,true,true], + ["Land_HBarrier_Big_F",[-13.4531,24.8301,-0.00104141],266.695,true,true], + ["Land_HBarrier_Big_F",[-4.40625,29.875,-0.00246048],173.065,true,true], + ["Land_HBarrier_Big_F",[-13.0449,12.5234,-0.00254822],93.6756,true,true], + ["Land_HBarrier_Big_F",[-15.6582,4.66699,-0.00362968],126.31,true,true], + ["Land_HBarrierWall_corridor_F",[-11.1387,32.3838,-0.000656128],82.9818,true,true], + ["Land_ReservoirTank_V1_F",[1.94922,-38.4463,-0.00136566],259.29,true,true], + ["Land_HBarrier_Big_F",[11.8809,-49.3164,-0.00117302],0,true,true], + ["Land_HBarrier_Big_F",[3.52539,-49.5029,-0.00395203],0,true,true], + ["Land_HBarrier_Big_F",[19.9004,-48.7939,-0.00250816],355.002,true,true], + ["Land_spp_Transformer_F",[24.9414,-6.0332,-0.00136185],349.747,true,true], + ["Land_wpp_Turbine_V2_F",[24.9531,-11.9004,-0.00136185],51.29,true,true], + ["Land_Cargo_House_V1_F",[14.5938,-7.68945,-0.00136566],77.5545,true,true], + ["Land_Cargo_House_V1_F",[15.8164,-15.9072,-0.00136185],78.4109,true,true], + ["RoadCone_L_F",[-2.56055,-4.59375,-0.00134468],0,true,true], + ["Land_Research_HQ_F",[9.47266,-24.6211,-0.0160942],80.1824,true,true], + ["Land_HBarrier_Big_F",[26.1367,20.8623,0.00174904],83.0022,true,true], + ["Land_HBarrier_Big_F",[24.584,29.0156,-0.0016098],81.3427,true,true], + ["Land_HBarrier_Big_F",[3.70117,31.0693,0.00167847],174.851,true,true], + ["Land_HBarrier_Big_F",[20.5078,33.3701,-0.000528336],172.741,true,true], + ["Land_HBarrier_Big_F",[12.1328,32.1318,0.00290108],173.105,true,true], + ["Land_HBarrier_Big_F",[33.8301,-43.0059,0.00152016],302.399,true,true], + ["Land_HBarrier_Big_F",[36.8027,-35.3555,-0.00325966],281.67,true,true], + ["Land_HBarrier_Big_F",[28.002,-47.5791,0.00681686],353.003,true,true], + ["Land_HBarrier_Big_F",[33.5449,-11.457,-0.000713348],76.6347,true,true], + ["Land_HBarrier_Big_F",[31.373,-3.59375,0.000671387],77.9265,true,true], + ["Land_HBarrier_Big_F",[37.2676,-27.3936,0.00816154],83.1633,true,true], + ["Land_HBarrier_Big_F",[35.709,-19.5088,0.0026722],77.9577,true,true], + ["Land_HBarrier_Big_F",[29.5215,4.58691,0.00392151],79.8717,true,true], + ["Land_HBarrier_Big_F",[27.7344,12.5332,0.0039463],80.8132,true,true] +]; + +_missionLootBoxes = [ + ["Box_NATO_Support_F",[-1.32813,-18.2129,-0.00100327],_crateLoot,_lootCounts,0.00164539], + ["O_supplyCrate_F",[5.16602,-14.0596,0.000209808],_crateLoot,_lootCounts,0.00196599], + ["Box_East_AmmoVeh_F",[1.7168,-16.6084,0.0303707],_crateLoot,_lootCounts,0.00182862] +]; +/* +_countBoxes = 0; +_missionLootBoxes = []; +while {_countBoxes < 3} do +{ + _b = _missionLootBoxChoices deleteAt round(random(count _missionLootBoxChoices)); + if (typeName _b isEqualTo "ARRAY") then + { + _missionLootBoxes pushBack _b; + _countBoxes = _countBoxes + 1; + }; +}; +*/ +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehiclesOrange,[-48.9414,-27.9336,-0.00839043],0.014744], + [selectRandom GMS_AIPatrolVehiclesGreen,[-43.2539,15.6504,0.0234108],359.996] + //[selectRandom GMS_light_AT_ARMA3,[-27.0313,26.8213,-0.022541],0.00204721], + //[selectRandom GMS_tracked_AA_ARMA3,[-12.9023,47.8105,0.0262032],359.999], + //[selectRandom GMS_tracked_APC_ARMA3,[-0.851563,-70.9072,-0.02915],0.0194982], + //[selectRandom GMS_light_AT_ARMA3,[38.2285,-66.7969,0.00758934],0.0237408], + //[selectRandom GMS_tracked_APC_ARMA3,[52.9941,22.5596,0.00379944],359.96] +]; +/* +_missionPatrolVehicles = []; +_countVeh = 0; +while {_countVeh < 4} do +{ + _v = _missionPatrolVehicleChoices deleteAt round(random(count _missionPatrolVehicleChoices)); + if (typeName _v isEqualTo "ARRAY") then + { + _missionPatrolVehicles pushBack _v; + _countVeh = _countVeh + 1; + }; +}; +*/ +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + ["B_Mortar_01_F",[12.0469,-28.3496,3.16158],0.00667729], + ["B_Mortar_01_F",[6.47852,-23.5,3.16113],0.003515] +]; + +_missionGroups = [ + /* + [[-12.8398,-3.60938,0.195612],5,7,"Orange",30,45], + [[-7.64844,-13.6992,0.00148582],5,7,"Orange",30,45], + [[-10.002,-23.3262,0.0013752],5,7,"Orange",30,45], + [[-5.22461,-21.748,0.00135231],5,7,"Orange",30,45], + [[-10.4883,12.6191,0.00148392],5,7,"Orange",30,45], + [[-11.6211,5.80371,0.00148773],5,7,"Orange",30,45], + [[19.4023,-2.00293,0.00139618],5,7,"Orange",30,45], + [[7.00977,-16.7656,0.00152206],5,7,"Orange",30,45], + [[0.720703,-24.2539,0.00136185],5,7,"Orange",30,45], + [[11.1895,-4.08594,0.00141716],5,7,"Orange",30,45], + [[7.80273,20.1484,0.00143051],5,7,"Orange",30,45], + [[10.6133,6.76855,0.00151634],5,7,"Orange",30,45], + [[2.57227,24.1533,0.00146866],5,7,"Orange",30,45], + [[6.16406,11.458,0.00152779],5,7,"Orange",30,45], + [[3.69727,5.59766,0.00153351],5,7,"Orange",30,45], + [[10.0039,17.5674,0.00144386],5,7,"Orange",30,45], + [[2.69922,16.2793,0.00151825],5,7,"Orange",30,45], + [[0.707031,20.6504,0.0015049],5,7,"Orange",30,45] + */ +]; + +_scubaGroupParameters = [ +]; + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +_minNoAI = GMS_MinAI_Orange; // Setting this in the mission file overrides the defaults such as GMS_MinAI_Orange +_maxNoAI = GMS_MaxAI_Orange; // Setting this in the mission file overrides the defaults +_noAIGroups = GMS_AIGrps_Orange; // Setting this in the mission file overrides the defaults +_noVehiclePatrols = GMS_SpawnVeh_Orange; // Setting this in the mission file overrides the defaults +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; // Setting this in the mission file overrides the defaults +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; // Setting this in the mission file overrides the defaults + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/operationTakeover.sqf b/@GMS/addons/GMS/Missions/Orange/operationTakeover.sqf new file mode 100644 index 0000000..4c17177 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/operationTakeover.sqf @@ -0,0 +1,327 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = [15,50,20,60,44,5]; +_startMsg = "Operation Takeover: An enemy jail was sighted in a nearby sector! Check the marker on your map for the location!"; +_endMsg = "The jail is under survivor control!"; + +_markerMissionName = "Jail"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here + +_markerType =["ellipse",[250,250],"GRID"]; +_markerColor = "ColorOrange"; +_markerLabel = ""; + +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Unfinished_Building_02_F",[-15.6624,-10.8792,-0.00143909],89.8576,true,true,[["B_HMG_01_high_F",[2.9436,-4.19751,0.249719],85.418],["B_HMG_01_high_F",[4.25854,10.7007,-0.0121183],107.99]],[]], + ["Land_WIP_F",[84.3376,0.854004,-0.00143909],270.203,true,true,[["B_HMG_01_high_F",[-16.3564,-6.18042,5.0093],214.565],["B_Mortar_01_F",[8.48633,-16.2366,12.3663],359.991],["B_Mortar_01_F",[-9.48633,-15.9546,12.3559],359.988],["B_HMG_01_high_F",[-31.4385,-6.68115,-0.0121188],176.778]],[]], + ["Land_Cargo_Tower_V1_F",[66.4109,31.2339,-0.00143909],271.07,true,true,[["B_HMG_01_high_F",[5.58789,-1.63867,17.7788],52.3841],["B_HMG_01_high_F",[3.34668,4.95532,17.8811],63.0442],["B_HMG_01_high_F",[-4.08008,4.99731,17.877],321.497]],[]], + ["Land_Cargo_Tower_V3_F",[99.6174,-41.1125,-0.00143909],0,true,true,[["B_HMG_01_high_F",[-2.48486,-7.05713,-0.0121193],254.877],["B_HMG_01_high_F",[-2.81348,-5.27686,17.779],159.791],["B_HMG_01_high_F",[4.88477,-2.86499,17.8809],146.137],["B_HMG_01_high_F",[4.8916,4.13135,17.8771],70.1525],["B_HMG_01_high_F",[-18.8633,-21.7476,-0.0121183],315.734]],[]] +]; + +_missionLandscape = [ + ["Land_Mil_WallBig_4m_F",[-25.6218,-44.9497,-0.00143909],90.5574,true,true], + ["Land_Mil_WallBig_4m_F",[-20.2351,-54.4512,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[-25.6846,-48.8169,-0.00143909],90.3037,true,true], + ["Land_Mil_WallBig_4m_F",[-16.3848,-54.4353,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[-25.7229,-52.6709,-0.00143909],90.9224,true,true], + ["Land_Mil_WallBig_4m_F",[-24.0747,-54.4482,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[-25.5706,-41.0916,-0.00143909],91.1335,true,true], + ["Land_Mil_WallBig_4m_F",[-12.5391,-54.4216,-0.00143909],0,true,true], + ["Land_Cargo_Tower_V1_F",[-20.4404,-47.0542,-0.00143909],89.7627,true,true], + ["Land_Mil_WallBig_4m_F",[-25.5747,-21.7837,-0.00143909],89.2839,true,true], + ["Land_Mil_WallBig_4m_F",[-25.5562,-14.042,-0.00143909],88.7977,true,true], + ["Land_Mil_WallBig_4m_F",[-25.5674,-10.189,-0.00143909],91.0597,true,true], + ["Land_Mil_WallBig_4m_F",[-25.5811,-17.9224,-0.00143909],90.1169,true,true], + ["Land_Mil_WallBig_4m_F",[-25.5415,-25.6711,-0.00143909],89.3976,true,true], + ["Land_Mil_WallBig_4m_F",[-25.5608,-37.2422,-0.00143909],90.6833,true,true], + ["Land_Mil_WallBig_4m_F",[-25.5505,-29.5605,-0.00143909],90.3716,true,true], + ["Land_Mil_WallBig_4m_F",[-25.5417,-33.4167,-0.00143909],89.936,true,true], + ["Land_Cargo_House_V1_F",[-10.2043,-23.6084,-0.00143909],180.346,true,true], + ["Land_CncWall4_F",[-23.0144,-23.7795,-0.00143909],179.602,true,true], + ["Land_CncWall4_F",[-19.0422,-23.6968,-0.00143909],179.911,true,true], + ["Land_Unfinished_Building_02_F",[-15.8108,8.7002,-0.00143909],89.4718,true,true], + ["Land_Tank_rust_F",[-12.1223,19.7793,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[-25.4087,1.35474,-0.00143909],90.2255,true,true], + ["Land_Mil_WallBig_4m_F",[-25.4517,-2.47998,-0.00143909],91.3237,true,true], + ["Land_Mil_WallBig_4m_F",[-25.4546,12.8894,-0.00143909],89.8502,true,true], + ["Land_Mil_WallBig_4m_F",[-25.4043,24.4805,-0.00143909],90.9879,true,true], + ["Land_Mil_WallBig_4m_F",[-25.4102,5.19336,-0.00143909],90.1038,true,true], + ["Land_Mil_WallBig_4m_F",[-25.4407,9.05786,-0.00143909],89.8212,true,true], + ["Land_Mil_WallBig_4m_F",[-25.4539,16.7576,-0.00143909],90.3499,true,true], + ["Land_Mil_WallBig_4m_F",[-25.4167,20.6194,-0.00143909],89.9787,true,true], + ["Land_Mil_WallBig_4m_F",[-25.5024,-6.34741,-0.00143909],90.8206,true,true], + ["Land_Mil_WallBig_4m_F",[-23.689,39.2095,-0.00143909],178.343,true,true], + ["Land_Mil_WallBig_4m_F",[-25.3411,36.0029,-0.00143909],89.4836,true,true], + ["Land_Mil_WallBig_4m_F",[-19.8511,39.3264,-0.00143909],179.252,true,true], + ["Land_Mil_WallBig_4m_F",[-25.3647,37.3989,-0.00143909],89.3358,true,true], + ["Land_Mil_WallBig_4m_F",[-16.0049,39.3398,-0.00143909],180.355,true,true], + ["Land_Mil_WallBig_4m_F",[-25.384,28.3328,-0.00143909],89.9441,true,true], + ["Land_Mil_WallBig_4m_F",[-12.165,39.3589,-0.00143909],179.26,true,true], + ["Land_Mil_WallBig_4m_F",[-25.3564,32.1672,-0.00143909],90.9313,true,true], + ["Land_Cargo_Tower_V1_F",[-18.2283,34.3713,-0.00143909],180.174,true,true], + ["Land_BagFence_01_short_green_F",[5.54907,-46.251,7.51595],0,true,true], + ["Land_BagFence_01_short_green_F",[1.23413,-46.3071,7.51595],0,true,true], + ["Land_u_Barracks_V2_F",[9.35254,-40.5249,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[10.5942,-54.3667,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[14.457,-54.3647,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[2.87915,-54.3865,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[18.3137,-54.395,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[-4.85254,-54.3916,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[-8.70947,-54.415,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[6.73193,-54.3596,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[22.2026,-54.3877,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[-0.981445,-54.3999,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-7.59619,-46.8728,-0.00143909],92.1306,true,true], + ["Land_CncWall4_F",[8.18066,-51.8826,-0.00143909],90.7022,true,true], + ["Land_BagFence_01_long_green_F",[3.39453,-46.2769,7.51595],0,true,true], + ["Land_BagFence_01_round_green_F",[-0.501221,-45.5088,7.51595],48.0621,true,true], + ["Land_BagFence_01_round_green_F",[7.2478,-45.5496,7.51595],316.485,true,true], + ["Land_Wreck_Offroad_F",[16.4475,-18.2986,-0.00143909],213.965,true,true], + ["Land_Wreck_Ural_F",[3.0271,-14.1841,-0.00143909],68.7277,true,true], + ["Land_Wreck_Ural_F",[11.0854,-11.3347,-0.00143909],261.493,true,true], + ["Land_Cargo_House_V1_F",[-3.42944,-23.7334,-0.00143909],179.662,true,true], + ["Land_Cargo_House_V1_F",[3.12793,-23.6558,-0.00143909],178.217,true,true], + ["Land_Dome_Small_F",[21.0325,-7.55688,-0.00143957],272.316,true,true], + ["Land_u_Barracks_V2_F",[18.9722,19.9775,-0.00143909],181.425,true,true], + ["Land_wpp_Turbine_V2_F",[3.396,35.6704,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[7.06934,39.5085,-0.00143909],179.921,true,true], + ["Land_Mil_WallBig_4m_F",[10.9307,39.5386,-0.00143909],179.553,true,true], + ["Land_Mil_WallBig_4m_F",[-4.4729,39.4163,-0.00143909],179.302,true,true], + ["Land_Mil_WallBig_4m_F",[3.24536,39.5002,-0.00143909],179.366,true,true], + ["Land_Mil_WallBig_4m_F",[18.6409,39.561,-0.00143909],180.541,true,true], + ["Land_Mil_WallBig_4m_F",[-8.32104,39.3909,-0.00143909],179.834,true,true], + ["Land_Mil_WallBig_4m_F",[-0.615723,39.4468,-0.00143909],179.484,true,true], + ["Land_Mil_WallBig_4m_F",[14.7954,39.5732,-0.00143909],179.487,true,true], + ["Land_Mil_WallBig_4m_F",[49.3889,-76.9695,-0.00143909],325.345,true,true], + ["Land_Mil_WallBig_4m_F",[31.1492,-76.7305,-0.00143909],43.3328,true,true], + ["Land_Mil_WallBig_4m_F",[46.03,-78.1506,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[28.3752,-74.0544,-0.00143909],43.519,true,true], + ["Land_Mil_WallBig_4m_F",[38.3196,-78.1423,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[34.4573,-78.1128,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[52.5569,-74.7258,-0.00143909],324.1,true,true], + ["Land_Mil_WallBig_4m_F",[25.5408,-71.3877,-0.00143909],43.4082,true,true], + ["Land_CncWall1_F",[42.0989,-78.1572,-0.00143909],0,true,true], + ["Land_SM_01_shed_F",[37.3293,-66.2454,-0.00143909],0.0480932,true,true], + ["Land_u_Barracks_V2_F",[42.8025,-39.1938,-0.00143909],358.616,true,true], + ["Land_Mil_WallBig_4m_F",[24.2136,-68.2488,-0.00143909],91.9564,true,true], + ["Land_Mil_WallBig_4m_F",[24.3582,-60.4778,-0.00143909],90.566,true,true], + ["Land_Mil_WallBig_4m_F",[24.3811,-56.5706,-0.00143909],90.3304,true,true], + ["Land_Mil_WallBig_4m_F",[24.304,-64.3923,-0.00143909],90.7831,true,true], + ["Land_CncWall4_F",[25.3616,-45.5017,-0.00143909],270.546,true,true], + ["Land_CncWall4_F",[27.9128,-54.6401,-0.00143909],270.307,true,true], + ["Land_CncWall4_F",[40.8362,-47.5654,-0.00143909],269.182,true,true], + ["Land_BagFence_01_long_green_F",[35.6218,-45.1611,7.51595],0,true,true], + ["Land_BagFence_01_long_green_F",[38.3987,-45.1914,7.51595],0,true,true], + ["Land_BagFence_01_round_green_F",[33.2014,-44.5037,7.51595],43.3613,true,true], + ["Land_BagFence_01_round_green_F",[40.7102,-44.5537,7.51595],315.456,true,true], + ["Land_Wreck_HMMWV_F",[37.8445,-12.6602,-0.00143909],278.667,true,true], + ["Land_Wreck_Hunter_F",[23.2332,-17.229,-0.00143909],147.866,true,true], + ["Land_Wreck_CarDismantled_F",[28.2317,-14.96,-0.00143909],125.911,true,true], + ["Land_CncWall4_F",[43.7595,-15.0066,-0.00143909],269.92,true,true], + ["Land_CncWall4_F",[43.7122,-9.87109,-0.00143909],269.085,true,true], + ["Land_CncWall4_F",[43.7571,-20.1973,-0.00143909],270.789,true,true], + ["Land_CncWall4_F",[43.4875,3.43115,-0.00143909],269.816,true,true], + ["Land_CncWall4_F",[43.3259,18.8848,-0.00143909],270.259,true,true], + ["Land_CncWall4_F",[43.4128,8.56201,-0.00143909],268.648,true,true], + ["Land_CncWall4_F",[43.3352,24.0342,-0.00143909],268.694,true,true], + ["Land_CncWall4_F",[43.5203,-1.73486,-0.00143909],269.753,true,true], + ["Land_CncWall4_F",[43.3337,13.7087,-0.00143909],269.562,true,true], + ["Land_wpp_Turbine_V2_F",[27.9275,36.1262,-0.00143909],0,true,true], + ["Land_HBarrier_5_F",[53.0066,31.1021,-0.00143909],35.0142,true,true], + ["Land_HBarrier_5_F",[49.8499,31.4099,-0.00143909],214.908,true,true], + ["Land_Mil_WallBig_4m_F",[36.0867,38.9634,-0.00143909],183.051,true,true], + ["Land_Mil_WallBig_4m_F",[42.7273,38.8213,-0.00143909],179.137,true,true], + ["Land_Mil_WallBig_4m_F",[46.5554,38.8215,-0.00143909],181.136,true,true], + ["Land_Mil_WallBig_4m_F",[50.3962,38.7686,-0.00143909],179.812,true,true], + ["Land_Mil_WallBig_4m_F",[26.3621,39.5454,-0.00143909],179.347,true,true], + ["Land_Mil_WallBig_4m_F",[34.1282,39.1008,-0.00143909],184.569,true,true], + ["Land_Mil_WallBig_4m_F",[22.4915,39.5171,-0.00143909],180.559,true,true], + ["Land_Mil_WallBig_4m_F",[39.6497,38.8247,-0.00143909],180.607,true,true], + ["Land_Mil_WallBig_4m_F",[54.2034,38.7107,-0.00143909],181.636,true,true], + ["Land_Mil_WallBig_4m_F",[30.2043,39.4126,-0.00143909],183.852,true,true], + ["Land_CncWall4_F",[43.2561,29.1914,-0.00143909],269.364,true,true], + ["Land_CncWall4_F",[43.2688,33.1768,-0.00143909],271.356,true,true], + ["Land_FuelStation_02_workshop_F",[76.0867,-79.1956,-0.00143909],0,true,true], + ["Land_FuelStation_02_pump_F",[85.7585,-90.7917,0.283561],0,true,true], + ["Land_Mil_WallBig_4m_F",[55.2029,-71.9141,-0.00143909],301.646,true,true], + ["Land_CncBarrierMedium4_F",[63.2322,-79.2183,-0.00143909],0,true,true], + ["Land_CncBarrierMedium4_F",[67.1223,-90.1548,-0.00143909],268.364,true,true], + ["Land_CncBarrierMedium4_F",[57.0212,-76.5386,-0.00143909],227.033,true,true], + ["Land_CncBarrierMedium4_F",[66.9114,-82.8267,-0.00143909],269.101,true,true], + ["Land_HaulTruck_01_abandoned_F",[62.9519,-61.5913,-0.00143909],0,true,true], + ["Land_dp_smallFactory_F",[65.3167,-39.0195,-0.00143909],269.426,true,true], + ["Land_Mil_WallBig_4m_F",[77.761,-69.821,-0.00143909],359.434,true,true], + ["Land_Mil_WallBig_4m_F",[81.6306,-69.7976,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[85.4851,-69.7607,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[56.3547,-68.3474,-0.00143909],269.589,true,true], + ["Land_CncWall4_F",[58.8967,-50.2258,-0.00143909],0,true,true], + ["Land_CncWall4_F",[73.114,-69.9243,-0.00143909],358.188,true,true], + ["Land_CncWall4_F",[70.8757,-67.8301,-0.00143909],89.4653,true,true], + ["Land_CncWall4_F",[82.8904,-46.2607,-0.00143909],359.942,true,true], + ["Land_CncWall4_F",[70.676,-57.4424,-0.00143909],89.3567,true,true], + ["Land_CncWall4_F",[56.1536,-53.5227,-0.00143909],270.031,true,true], + ["Land_CncWall4_F",[75.0486,-50.0579,-0.00143909],0,true,true], + ["Land_CncWall4_F",[56.1086,-58.6951,-0.00143909],270.559,true,true], + ["Land_CncWall4_F",[56.0569,-63.8562,-0.00143909],270.677,true,true], + ["Land_CncWall4_F",[77.739,-46.2271,-0.00143909],0,true,true], + ["Land_CncWall4_F",[70.7776,-62.6362,-0.00143909],88.5215,true,true], + ["Land_CncWall4_F",[71.7937,-25.135,-0.00143909],269.97,true,true], + ["Land_CncWall4_F",[82.5583,-24.5293,-0.00143909],359.566,true,true], + ["Land_MobileCrane_01_hook_F",[66.5007,1.50269,-0.00143909],180.212,true,true], + ["Land_Mil_WallBig_4m_F",[84.9871,38.4023,-0.00143909],180.102,true,true], + ["Land_Mil_WallBig_4m_F",[77.3025,38.4841,-0.00143909],180.867,true,true], + ["Land_Mil_WallBig_4m_F",[65.8308,38.5754,-0.00143909],180.422,true,true], + ["Land_Mil_WallBig_4m_F",[81.1663,38.3958,-0.00143909],179.854,true,true], + ["Land_Mil_WallBig_4m_F",[61.9387,38.6233,-0.00143909],180.4,true,true], + ["Land_Mil_WallBig_4m_F",[73.4739,38.4922,-0.00143909],180.548,true,true], + ["Land_Mil_WallBig_4m_F",[58.0447,38.6448,-0.00143909],181.262,true,true], + ["Land_Mil_WallBig_4m_F",[69.6365,38.5254,-0.00143909],181.242,true,true], + ["Land_FuelStation_02_pump_F",[89.5042,-90.8567,0.283562],0,true,true], + ["Land_FuelStation_02_pump_F",[87.7141,-90.8413,0.283562],0,true,true], + ["Land_FuelStation_02_roof_F",[87.679,-90.8042,-0.00143909],0,true,true], + ["Land_i_Stone_HouseSmall_V2_F",[90.5725,-56.283,-0.00143909],156.696,true,true], + ["Land_Mil_WallBig_4m_F",[100.975,-69.8276,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[106.496,-64.0249,-0.00143909],267.43,true,true], + ["Land_Mil_WallBig_4m_F",[104.815,-69.7993,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[106.515,-67.8875,-0.00143909],270.727,true,true], + ["Land_Mil_WallBig_4m_F",[97.0959,-69.7969,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[93.2571,-69.8044,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[89.406,-69.7959,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[106.4,-60.1755,-0.00143909],269.062,true,true], + ["Land_Mil_WallBig_4m_F",[106.326,-56.325,-0.00143909],267.987,true,true], + ["Land_Mil_WallBig_4m_F",[106.219,-52.4221,-0.00143909],268.201,true,true], + ["Land_Mil_WallBig_4m_F",[106.111,-48.6047,-0.00143909],269.759,true,true], + ["Land_Mil_WallBig_4m_F",[106.033,-44.7388,-0.00143909],268.547,true,true], + ["Land_Mil_WallBig_4m_F",[105.948,-40.8303,-0.00143909],268.68,true,true], + ["Land_CncWall4_F",[98.4236,-46.2131,-0.00143909],0,true,true], + ["Land_CncWall4_F",[103.595,-46.2366,-0.00143909],0,true,true], + ["Land_CncWall4_F",[93.2253,-46.2332,-0.00143909],0,true,true], + ["Land_CncWall4_F",[88.051,-46.2412,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[105.816,-25.3701,-0.00143909],269.477,true,true], + ["Land_Mil_WallBig_4m_F",[105.779,-17.6262,-0.00143909],268.733,true,true], + ["Land_Mil_WallBig_4m_F",[105.804,-21.5227,-0.00143909],270.373,true,true], + ["Land_Mil_WallBig_4m_F",[105.87,-36.9236,-0.00143909],268.997,true,true], + ["Land_Mil_WallBig_4m_F",[105.725,-9.91504,-0.00143909],269.514,true,true], + ["Land_Mil_WallBig_4m_F",[105.74,-13.781,-0.00143909],269.451,true,true], + ["Land_Mil_WallBig_4m_F",[105.813,-29.2317,-0.00143909],271.015,true,true], + ["Land_Mil_WallBig_4m_F",[105.81,-33.0771,-0.00143909],268.423,true,true], + ["Land_CncWall4_F",[93.2327,-24.6128,-0.00143909],0,true,true], + ["Land_CncWall4_F",[87.7546,-24.5105,-0.00143909],0,true,true], + ["Land_CncWall4_F",[103.336,-24.499,-0.00143909],0,true,true], + ["Land_CncWall4_F",[98.157,-24.5168,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[105.958,17.1277,-0.00143909],270.902,true,true], + ["Land_Mil_WallBig_4m_F",[105.826,1.69678,-0.00143909],269.728,true,true], + ["Land_Mil_WallBig_4m_F",[105.907,13.2976,-0.00143909],270.146,true,true], + ["Land_Mil_WallBig_4m_F",[105.786,-2.146,-0.00143909],269.827,true,true], + ["Land_Mil_WallBig_4m_F",[105.837,9.40601,-0.00143909],270.501,true,true], + ["Land_Mil_WallBig_4m_F",[105.849,5.54126,-0.00143909],269.744,true,true], + ["Land_Mil_WallBig_4m_F",[106.08,20.9805,-0.00143909],271.554,true,true], + ["Land_Mil_WallBig_4m_F",[105.74,-6.04346,-0.00143909],270.449,true,true], + ["Land_Mil_WallBig_4m_F",[106.081,24.8704,-0.00143909],269.849,true,true], + ["Land_Mil_WallBig_4m_F",[106.051,28.7131,-0.00143909],270.76,true,true], + ["Land_Mil_WallBig_4m_F",[100.443,38.1624,-0.00143909],180.17,true,true], + ["Land_Mil_WallBig_4m_F",[106.098,36.4336,-0.00143909],269.107,true,true], + ["Land_Mil_WallBig_4m_F",[96.5701,38.1743,-0.00143909],179.915,true,true], + ["Land_Mil_WallBig_4m_F",[106.109,32.5681,-0.00143909],269.967,true,true], + ["Land_Mil_WallBig_4m_F",[92.7083,38.2605,-0.00143909],180.966,true,true], + ["Land_Mil_WallBig_4m_F",[104.322,38.1194,-0.00143909],179.93,true,true], + ["Land_Mil_WallBig_4m_F",[88.8699,38.3325,-0.00143909],181.016,true,true] +]; + +_missionLootBoxes = [ + //["Box_FIA_Wps_F",[20.4143,-5.66016,-0.00143909],_crateLoot,_lootCounts,0.000109423], + //["B_supplyCrate_F",[17.8198,-6.08936,-0.00143909],_crateLoot,_lootCounts,360], + ["Box_FIA_Ammo_F",[23.3816,-5.58154,-0.00143909],_crateLoot,_lootCounts,0.000104757], + ["Box_FIA_Support_F",[26.1409,-5.81836,-0.00143909],_crateLoot,_lootCounts,360] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehiclesOrange,[-63.8125,-49.1621,-0.0237918],0.00168037], + [selectRandom GMS_AIPatrolVehiclesGreen,[-40.9814,84.885,-0.0230246],0.0016978] + //[selectRandom GMS_tracked_AA_ARMA3,[3.84229,-126.072,-0.0232677],0.00169533], + //[selectRandom GMS_tracked_APC_ARMA3,[88.3411,-129.767,-0.0238881],0.00167844], + //[selectRandom GMS_light_AT_ARMA3,[147.447,-71.3848,-0.0238895],0.00165085], + //[selectRandom GMS_Tanks_ARMA3,[127.943,69.7148,-0.0238514],0.00166813] +]; +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + ["B_static_AA_F",[0.477783,-44.9006,7.50247],0.110129], + ["B_static_AT_F",[4.42529,-44.637,1.08487],299.726], + ["B_HMG_01_high_F",[14.1465,-16.2568,-0.0135579],38.4716], + ["B_static_AA_F",[40.0945,-44.1187,7.52176],359.535], + //["B_HMG_01_high_F",[39.2375,-46.1826,-0.0135565],220.639], + ["B_HMG_01_high_F",[42.5383,-44.104,-0.0135584],142.408], + //["B_static_AT_F",[34.2683,-44.0796,7.52284],359.944], + ["B_HMG_01_high_F",[34.7786,20.2935,7.94141],114.285] +]; +_missionGroups = [ + /* + [[-51.2781,2.46313,0.00143909],5,7,"Orange",30,45], + [[-11.7485,-30.1338,0.00143909],5,7,"Orange",30,45], + [[-11.9927,0.826416,0.00143909],5,7,"Orange",30,45], + [[-5.37646,13.8989,0.00143909],5,7,"Orange",30,45], + [[0.439941,18.3259,0.00143909],5,7,"Orange",30,45], + [[-6.35693,40.8398,0.00143909],5,7,"Orange",30,45], + [[9.86279,-1.10864,0.00143909],5,7,"Orange",30,45], + [[19.6943,15.1899,0.00143909],5,7,"Orange",30,45], + [[10.9971,12.2664,0.00143909],5,7,"Orange",30,45], + [[18.1143,45.5303,0.00143909],5,7,"Orange",30,45], + [[19.3877,25.3489,0.00143909],5,7,"Orange",30,45], + [[10.3965,54.8899,0.00143909],5,7,"Orange",30,45] + */ +]; + +_scubaGroupParameters = [ +]; + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +_minNoAI = GMS_MinAI_Orange; // Setting this in the mission file overrides the defaults such as GMS_MinAI_Orange +_maxNoAI = GMS_MaxAI_Orange; // Setting this in the mission file overrides the defaults +_noAIGroups = GMS_AIGrps_Orange; // Setting this in the mission file overrides the defaults +_noVehiclePatrols = GMS_SpawnVeh_Orange; // Setting this in the mission file overrides the defaults +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; // Setting this in the mission file overrides the defaults +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; // Setting this in the mission file overrides the defaults + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/pinkPoison.sqf b/@GMS/addons/GMS/Missions/Orange/pinkPoison.sqf new file mode 100644 index 0000000..c816d67 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/pinkPoison.sqf @@ -0,0 +1,143 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +_startMsg = "An enemy research center was sighted in a nearby sector! Check the Orange marker on your map for the location!"; +_endMsg = "The Sector at the Orange Marker is under survivor control!"; + +_markerType = ["ellipse",[250,250],"Cross"]; +_markerColor = "ColorPink"; +_markerLabel = ""; +_markerMissionName = "Soylent Green"; + +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Offices_01_V1_F",[-37.4473,-24.3594,4.76837e-007],269.862,true,true, + [ + #ifdef GMS_milServer + ["O_Radar_System_02_F",[27.1289,15.6582,-2.38419e-007],0], + #endif + ["O_HMG_01_high_F",[1.91211,10.3887,0.915],96.7764], + ["O_HMG_01_F",[-6.00781,11.4434,0.915001],186.886], + ["O_Mortar_01_F",[-0.0390625,-2.37891,17.852],208.222], + ["O_HMG_01_high_F",[-7.19141,11.9668,17.8518],308.501], + ["O_GMG_01_high_F",[-7.29492,-15.7617,17.8518],232.577] + ], + []], + ["Land_Offices_01_V1_F",[-30.4688,17.5137,4.76837e-007],0,true,true,[["O_HMG_01_high_F",[10.4004,-2.66406,0.914999],181.335],["O_HMG_01_F",[11.4473,5.94141,0.915],272.565],["O_static_AA_F",[-2.10938,0.380859,17.6633],308.394],["O_HMG_01_high_F",[11.7383,7.01758,17.8518],58.5428],["O_GMG_01_high_F",[-15.666,7.14453,17.8518],322.918]],[]], + ["Land_Offices_01_V1_F",[4.64063,-32.6953,4.76837e-007],179.838,true,true,[["O_HMG_01_high_F",[-10.3906,2.07813,0.915],0],["O_HMG_01_F",[-11.4414,-5.97852,0.915001],90.6397],["O_static_AA_F",[3.31055,0.535156,17.8518],130.28],["O_HMG_01_high_F",[-11.709,-6.99219,17.8518],230.558],["O_GMG_01_high_F",[15.8945,-7.25195,17.8518],144.952]],[]], + ["Land_Offices_01_V1_F",[14.7305,9.32617,4.76837e-007],89.712,true,true,[["O_HMG_01_high_F",[-2.4082,-10.3828,0.915],272.89],["O_HMG_01_F",[6.36328,-11.4355,0.915001],0],["O_Mortar_01_F",[-0.0273438,2.89258,17.8518],30.2156],["O_HMG_01_high_F",[7.41211,-11.8789,17.8518],151.994],["O_GMG_01_high_F",[7.23828,15.8262,17.8518],53.1106]],[]] +]; + +_missionLandscape = [ + ["Land_HBarrier_01_line_5_green_F",[-49.4258,-8.95898,0],35.5083,true,true], + ["Land_HBarrier_01_line_5_green_F",[-50.459,3.74805,0],130.91,true,true], + ["Land_HBarrier_01_line_5_green_F",[-53.6367,-2.9082,0],271.072,true,true], + ["Land_SandbagBarricade_01_hole_F",[-32.1289,-2.82031,0],85.991,true,true], + ["Land_HBarrier_01_line_5_green_F",[-10.8418,-45.0996,0],316.085,true,true], + ["Land_HBarrier_01_line_5_green_F",[-23.8027,-45.4668,0],39.0453,true,true], + ["Land_HBarrier_01_line_5_green_F",[-17.7578,-48.5176,0],0,true,true], + ["Land_SandbagBarricade_01_hole_F",[-17.4551,-28.5508,0],0,true,true], + ["Land_SandbagBarricade_01_hole_F",[-9.41406,2.51953,0],0,true,true], + ["Land_HBarrier_01_line_5_green_F",[-7.30664,31.8574,0],0,true,true], + ["Land_HBarrier_01_line_5_green_F",[-14.8711,29.2754,0],320.811,true,true], + ["Land_HBarrier_01_line_5_green_F",[25.8145,-19.0801,0],314.213,true,true], + ["Land_SandbagBarricade_01_hole_F",[-1.125,-13.3516,0],269.802,true,true], + ["Land_HBarrier_01_line_5_green_F",[27.041,-5.65234,0],237.111,true,true], + ["Land_HBarrier_01_line_5_green_F",[0.744141,30.1113,0],207.1,true,true], + ["Land_HBarrier_01_line_5_green_F",[29.6445,-12.6523,0],89.2182,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +#ifdef GMS_milServer +private _CUP_Tanks = [ + "CUP_O_T90_RU", + "CUP_B_M1A1_DES_US_Army", + "CUP_B_M1A2_TUSK_MG_DES_US_Army", + "CUP_B_Leopard2A6_GER", + "CUP_B_Challenger2_NATO" +]; +#endif + +_missionPatrolVehicles = [ + #ifdef GMS_milServer + ["O_Radar_System_02_F",[27.1289,15.6582,-2.38419e-007],0], + ["O_T_APC_Tracked_02_AA_ghex_F",[-62.4141,31.1484,2.38419e-007],297.601], + [selectRandom GMS_Tanks_ARMA3,[-56.8105,-47.6035,0],227.158], + [selectRandom GMS_Tanks_ARMA3,[27.918,39.0273,0],29.7763], + ["O_T_APC_Tracked_02_AA_ghex_F",[37.4941,-42.7852,2.38419e-007],109.403], + ["O_T_LSV_02_armed_F",[-69.6152,-6.05859,0],205.251], + ["O_T_LSV_02_AT_F",[51.2461,-15.6367,0],0] + #else + + #endif +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ + ["O_Heli_Attack_02_dynamicLoadout_F",[-107.992,41.2598,186.215],0], + ["O_Heli_Light_02_dynamicLoadout_F",[52.3965,14.125,121.794],221.059] +]; + +_missionEmplacedWeapons = [ + +]; + +_missionGroups = [ + [[-2542.97,1313.37,4577.72],3,6,"Orange",30,45], + [[-41.7031,-5.2207,0.00143886],3,6,"Orange",30,45], + [[-19.2266,-35.998,0.00143886],3,6,"Orange",30,45], + [[-14.5547,-25.7461,0.00143886],3,6,"Orange",30,45], + [[-2.14453,6.67773,0.00143886],3,6,"Orange",30,45], + [[-27.1367,1.83398,0.00143886],3,6,"Orange",30,45], + [[-11.2852,20.4746,0.00143886],3,6,"Orange",30,45], + [[16.5527,-11.834,0.00143886],3,6,"Orange",30,45], + [[5.4375,-15.7051,0.00143886],3,6,"Orange",30,45] +]; + +_scubaGroupParameters = [ +]; + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/redCamp.sqf b/@GMS/addons/GMS/Missions/Orange/redCamp.sqf new file mode 100644 index 0000000..0011e89 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/redCamp.sqf @@ -0,0 +1,90 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +////diag_log "[GMS] Spawning Orange Mission with template = redCamp"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +_startMsg = "A temporary Bandit camp has been spotted. Check the Orange marker on your map for its location"; +_endMsg = "The temporary Bandit Orange camp at the Orange Marker is under player control"; +_markerLabel = ""; +_markerType = ["ellipse",[250,250],"GRID"]; +_markerColor = "ColorOrange"; +_markerMissionName = "Bandit Camp"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Land_CampingChair_V1_F",[1.32227,2.07813,8.2016e-005],108.293,[false,true]], + ["Land_CampingChair_V1_F",[-2.01465,2.91992,3.05176e-005],236.049,[false,true]], + ["FirePlace_burning_F",[0.0302734,4.26563,2.47955e-005],359.997,[false,true]], + ["Land_CampingChair_V1_F",[2.47168,4.21484,0.000102997],108.293,[false,true]], + ["Land_CampingChair_V1_F",[-1.86816,5.07422,3.05176e-005],319.489,[false,true]], + ["Land_CampingChair_V1_F",[0.915039,6.20898,1.71661e-005],51.7207,[false,true]], + ["Land_Sleeping_bag_brown_F",[8.27441,0.609375,0.00414658],98.0314,[false,true]], + ["Land_Sleeping_bag_brown_F",[8.27344,2.76758,0.00447083],91.7928,[false,true]], + ["Land_Sleeping_bag_brown_F",[7.9082,4.95898,-0.00173759],85.1176,[false,true]], + ["Land_Garbage_square3_F",[-4.95508,8.24023,0.00018692],60.0024,[false,true]], + ["Land_Camping_Light_F",[8.92773,3.80273,-0.000205994],344.236,[false,true]], + ["Land_Sleeping_bag_brown_F",[7.32129,7.55859,-0.0051899],60.1216,[false,true]], + ["Land_TentDome_F",[-9.75488,3.13477,0.00125313],146.574,[false,true]], + ["Land_WoodPile_F",[-0.322266,9.97266,-0.000553131],35.0017,[false,true]], + ["Land_Razorwire_F",[-0.0185547,-9.84961,0.0752335],1.7831,[false,true]], + ["Land_CampingChair_V1_folded_F",[3.8584,9.59375,0],60,[false,true]], + ["Land_TentDome_F",[-8.76855,7.85156,-0.00471497],207.522,[false,true]], + ["Land_BagFence_Round_F",[8.99707,-8.01367,-0.00951576],326.002,[false,true]], + ["Land_BagFence_Round_F",[-10.8164,-6.33594,-0.0038681],59.9991,[false,true]], + ["Land_TentDome_F",[-7.12207,11.8398,-0.00328445],231.101,[false,true]], + ["Land_CampingTable_small_F",[-4.62598,13.2754,7.62939e-005],344.243,[false,true]], + ["Land_Camping_Light_F",[-4.5957,13.332,0.687943],344.243,[false,true]], + ["Land_Razorwire_F",[15.5459,0.605469,0.145557],102.505,[false,true]], + ["Land_BagFence_Round_F",[7.16211,13.8516,0.000429153],221.639,[false,true]], + ["Land_Razorwire_F",[15.9678,8.35938,0.0635166],85.7459,[false,true]], + ["Land_Razorwire_F",[-19.1553,-1.61328,-0.0238552],70.0997,[false,true]], + ["Land_Razorwire_F",[-12.3906,-15.4492,0.0128002],19.2641,[false,true]], + ["Land_Razorwire_F",[-19.4629,5.67969,0.0492821],102.505,[false,true]], + ["Land_BagFence_Round_F",[-11.2891,17.6777,-0.00759888],128.563,[false,true]], + ["Land_Razorwire_F",[15.2949,-14.3027,0.0502853],139.224,[false,true]], + ["Land_Razorwire_F",[15.2852,16.2656,-0.0208111],85.1363,[false,true]], + ["Land_Razorwire_F",[4.80273,21.8223,-0.0563145],49.2133,[false,true]], + ["Land_Razorwire_F",[-17.7891,13.4863,-0.0646877],102.5,[false,true]], + ["Land_Razorwire_F",[-14.7109,20.2871,0.0674477],306.189,[false,true]], + ["Land_BagFence_Round_F",[25.3975,-6.08008,0.00466537],272.26,[false,true]], + ["Land_Wreck_Truck_F",[26.6289,12.2441,0.00333214],344.243,[false,true]], + ["Land_GarbageBags_F",[-24.9463,17.3066,0.000968933],60.0003,[false,true]], + ["Land_BagFence_Round_F",[11.167,28.832,-0.00405121],178.394,[false,true]], + ["Land_BagFence_Round_F",[-6.36914,30.6953,-0.000207901],178.378,[false,true]], + ["Land_Wreck_Hunter_F",[21.0391,25.9707,0.0118179],325.412,[false,true]], + ["Land_Camping_Light_F",[-33.7852,10.0371,0.000759125],344.235,[false,true]], + ["Land_BagFence_Round_F",[-34.3232,10.1035,0.00181007],60.0012,[false,true]] + ]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; + + diff --git a/@GMS/addons/GMS/Missions/Orange/resupplyCamp.sqf b/@GMS/addons/GMS/Missions/Orange/resupplyCamp.sqf new file mode 100644 index 0000000..cb3b139 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/resupplyCamp.sqf @@ -0,0 +1,55 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Orange Mission with template = resupplyCamp"; + +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +_startMsg = "A Bandit resupply camp has been spotted. Check the Orange marker on your map for its location"; +_endMsg = "The Bandit resupply camp at the Orange Marker is under player control"; +_markerLabel = ""; +_markerType = ["ellipse",[250,250],"GRID"]; +_markerColor = "ColorOrange"; +_markerMissionName = "Resupply Camp"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Land_Cargo_Patrol_V1_F",[-29.41016,0.13477,-0.0224228],359.992,[true,true]], + ["Land_Cargo_House_V1_F",[29.2988,-0.1,0.150505],54.9965,[true,true]], + ["CamoNet_INDP_big_F",[-20.4346,15.43164,-0.00395203],54.9965,[false,true]], + ["Land_BagBunker_Small_F",[-20.4346,15.43164,-0.0138168],119.996,[false,true]], + ["Land_BagBunker_Small_F",[-20.3604,-15.6035,-0.0130463],44.9901,[false,true]], + ["Land_BagBunker_Small_F",[18.4453,-15.791,0.00744629],305.003,[false,true]], + ["Land_BagBunker_Small_F",[18.3711,15.5703,0.0101624],254.999,[false,true]], + ["CamoNet_INDP_big_F",[18.3711,15.5703,-0.00395203],54.9965,[false,true]] + ]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/stronghold.sqf b/@GMS/addons/GMS/Missions/Orange/stronghold.sqf new file mode 100644 index 0000000..3f69742 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/stronghold.sqf @@ -0,0 +1,167 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; +//diag_log "[GMS] Spawning Orange Mission with template = default"; +//diag_log "[GMS] Spawning Orange Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = [15,50,20,60,44,5]; +_startMsg = "The enemy is building a new stronghold in a nearby sector! Check the Orange marker on your map for the location!"; +_endMsg = "The Sector at the Orange Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[250,250],"GRID"]; +_markerColor = "ColorOrange"; +_markerMissionName = "Stronghold"; + +_garrisonedBuildings_BuildingPosnSystem = [ + // ["Land_Unfinished_Building_02_F",[-28.137,-48.6494,0],0,true,true,0.67,3,[],4], + //["Land_i_Shop_02_V2_F",[22.688,35.2515,0],0,true,true,0.67,3,[],4] + + //["Land_Cargo_HQ_V3_F",[-27.8406,0.277832,-4.76837e-007],0,true,true,0.67,3,[],4], + //["Land_Cargo_HQ_V3_F",[1.40454,31.6079,-4.76837e-007],0,true,true,0.67,3,[],4], + //["Land_Cargo_HQ_V3_F",[33.1689,-0.558105,-4.76837e-007],0,true,true,0.67,3,[],4], + //["Land_Cargo_Tower_V3_F",[0.176514,-0.358887,-1.2105],0,true,true,0.67,3,[],4], + //["Land_Cargo_HQ_V3_F",[1.03589,-33.1763,-4.76837e-007],0,true,true,0.67,3,[],4] +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_HQ_V3_F",[-37.3086,-12.8696,4.76837e-007],0,true,true, + [ + #ifdef GMS_milServer + ["B_static_AT_F",[-1.71509,1.4873,3.12675],0], + #endif + ["B_HMG_01_high_F",[2.66113,2.0166,3.12652],0], + ["B_HMG_01_A_F",[-13.3926,0.108887,-4.76837e-007],0] + ],[]], + ["Land_Cargo_HQ_V3_F",[-5.54419,-45.0356,4.76837e-007],0,true,true, + [ + ["B_HMG_01_high_F",[3.21777,-0.104004,3.12652],0], + ["B_HMG_01_A_F",[-1.41528,-15.2954,-4.76837e-007],0], + #ifdef GMS_milServer + ["B_Radar_System_01_F",[0.416748,17.1714,-4.76837e-007],0], + ["B_T_Static_AA_F",[11.8047,12.9712,-4.76837e-007],0], + #endif + ["B_T_Mortar_01_F",[-14.7686,12.3579,-4.76837e-007],0] + ],[]], + ["Land_Cargo_Tower_V3_F",[-1.83765,-3.36035,0],0,true,true, + [ + ["B_HMG_01_high_F",[-2.81006,2.229,8.58897],0], + #ifdef GMS_milServer + ["B_static_AA_F",[-13.0447,12.3276,0],0], + #endif + ["B_HMG_01_high_F",[4.09497,3.12305,17.8895],0], + ["B_T_Mortar_01_F",[18.2783,10.4458,0],0] + ],[]], + ["Land_Cargo_HQ_V3_F",[-5.17554,19.7485,4.76837e-007],0,true,true, + [ + ["B_HMG_01_high_F",[-0.204346,0.493164,3.12652],0], + ["B_GMG_01_F",[2.15771,17.373,-4.76837e-007],0] + ],[]], + ["Land_Cargo_HQ_V3_F",[23.7009,-13.7056,4.76837e-007],0,true,true, + [ + ["B_HMG_01_high_F",[-0.497314,-2.94531,3.12652],0], + #ifdef GMS_milServer + ["B_T_Static_AT_F",[5.53101,2.83936,3.1267],0], + #endif + ["B_HMG_01_F",[17.8198,0.767578,-4.76837e-007],0] + ],[]] +]; + +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Land_Addon_02_ruins_F",[-64.209,-12.1621,0],184.217,true,true], + ["Land_HBarrier_5_F",[-39.2524,-40.6089,0],244.965,true,true], + ["Land_HBarrier_5_F",[-31.7334,-48.7769,0],209.272,true,true], + ["Land_HBarrier_5_F",[-26.9553,-51.3354,0],209.272,true,true], + ["Land_HBarrier_5_F",[-41.386,-36.4707,0],244.965,true,true], + ["Land_HBarrier_5_F",[-22.6301,-53.6025,0],209.272,true,true], + ["Land_HBarrier_5_F",[-43.7583,-31.4077,0],244.965,true,true], + ["Land_Addon_02_ruins_F",[-43.6665,-55.3164,0],307.664,true,true], + ["Land_HBarrier_5_F",[-45.866,-5.80811,0],297.369,true,true], + ["Land_HBarrier_5_F",[-45.9487,-27.043,0],244.965,true,true], + ["Land_HBarrier_5_F",[-48.3364,-22.1772,0],244.965,true,true], + ["Land_HBarrier_5_F",[-43.8884,-1.59229,0],297.369,true,true], + ["Land_HBarrier_5_F",[-24.8247,22.6909,0],333.062,true,true], + ["Land_HBarrier_5_F",[-41.3245,3.37646,0],297.369,true,true], + ["Land_HBarrier_5_F",[-36.8042,12.6348,0],297.369,true,true], + ["Land_HBarrier_5_F",[-28.8904,20.4214,0],333.062,true,true], + ["Land_HBarrier_5_F",[-39.2024,7.7749,0],297.369,true,true], + ["Land_Addon_02_ruins_F",[-44.2246,32.7935,0],231.256,true,true], + ["Land_Addon_02_ruins_F",[-1.76978,-73.6221,0],78.2878,true,true], + ["Land_HBarrier_5_F",[7.1582,-56.229,0],152.755,true,true], + ["Land_HBarrier_5_F",[-13.6016,-58.4463,0],209.272,true,true], + ["Land_HBarrier_5_F",[-17.749,-56.3296,0],209.272,true,true], + ["Land_HBarrier_5_F",[2.38843,-58.8027,0],152.755,true,true], + ["RoadCone_L_F",[-3,-3,0],0,true,true], + ["Land_HBarrier_5_F",[-10.7703,30.1123,0],333.062,true,true], + ["Land_HBarrier_5_F",[-19.8433,25.23,0],333.062,true,true], + ["Land_HBarrier_5_F",[-15.554,27.5645,0],333.062,true,true], + ["Land_HBarrier_5_F",[7.39819,30.313,0],28.3223,true,true], + ["Land_Addon_02_ruins_F",[-4.67432,45.1021,0],78.2878,true,true], + ["Land_HBarrier_5_F",[30.082,-37.1455,0],117.061,true,true], + ["Land_HBarrier_5_F",[16.4028,-51.3062,0],152.755,true,true], + ["Land_HBarrier_5_F",[11.4351,-53.8721,0],152.755,true,true], + ["Land_HBarrier_5_F",[20.4561,-49.0146,0],152.755,true,true], + ["Land_HBarrier_5_F",[32.1804,-32.7358,0],117.061,true,true], + ["Land_HBarrier_5_F",[27.71,-42.0186,0],117.061,true,true], + ["Land_Addon_02_ruins_F",[38.1423,-60.2046,0],224.576,true,true], + ["Land_HBarrier_5_F",[38.4685,1.19434,0],64.016,true,true], + ["Land_HBarrier_5_F",[40.9368,-3.63086,0],64.016,true,true], + ["Land_HBarrier_5_F",[34.7178,-27.7534,0],117.061,true,true], + ["Land_HBarrier_5_F",[36.6726,-23.5273,0],117.061,true,true], + ["Land_HBarrier_5_F",[20.8679,23.4243,0],28.3223,true,true], + ["Land_HBarrier_5_F",[25.6877,20.9453,0],28.3223,true,true], + ["Land_HBarrier_5_F",[31.5483,14.6479,0],64.016,true,true], + ["Land_HBarrier_5_F",[36.2058,5.52197,0],64.016,true,true], + ["Land_HBarrier_5_F",[16.5059,25.6191,0],28.3223,true,true], + ["Land_HBarrier_5_F",[11.5803,28.2656,0],28.3223,true,true], + ["Land_HBarrier_5_F",[33.75,10.5449,0],64.016,true,true], + ["Land_Addon_02_ruins_F",[34.0081,26.3223,0],133.368,true,true], + ["Land_HelipadCircle_F",[16.9146,49.8833,0],0,true,true], + ["Banner_01_F",[11.9451,45.4272,0],0,true,true], + ["Land_Addon_02_ruins_F",[55.3616,-22.4351,0],189.292,true,true] +]; // list of objects to spawn as landscape + +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = [ + #ifdef GMS_milServer + ["B_Radar_System_01_F",[-5.12744,-27.8643,0],0], + ["B_static_AA_F",[-14.8823,8.96729,0],0], + ["B_HMG_01_A_F",[-50.7012,-12.7607,0],0], + ["B_T_Static_AA_F",[6.2605,-32.0645,0],0], + #endif + ["B_GMG_01_A_F",[-33.8472,17.8364,0],0], + ["B_T_Mortar_01_F",[-20.3127,-32.6777,0],0], + ["B_HMG_01_A_F",[-6.95947,-60.3311,0],0], + ["B_GMG_01_F",[-3.01782,37.1216,0],0], + ["B_GMG_01_A_F",[24.8743,-45.9937,0],0], + ["B_HMG_01_F",[41.5208,-12.938,0],0], + ["B_T_Mortar_01_F",[16.4407,7.08545,0],0] +]; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,25,25,0],[0,0,0,25,25,0],[20,30,0,0,0,0],[0,0,0,0,30,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/template.sqf b/@GMS/addons/GMS/Missions/Orange/template.sqf new file mode 100644 index 0000000..5fd0b17 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/template.sqf @@ -0,0 +1,104 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An enemy research center was sighted in a nearby sector! Check the Green marker on your map for the location!"; +_endMsg = "The Sector at the Green Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorGreen"; +_markerMissionName = "Research Center"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AltisColonial_F",[12.9492,-14.2676,0],0,[true,false]], + ["Land_Research_HQ_F",[-40.4258,-57.4492,-7.15256e-007],0,[true,false]], + ["Land_Research_HQ_F",[79.9063,68.1406,2.38419e-007],0,[true,false]], + ["Land_Research_house_V1_F",[-27.6895,70.9883,0],0,[true,false]], + ["Land_Research_house_V1_F",[-110.166,14.3926,0],0,[true,false]], + ["Land_Research_house_V1_F",[54.5078,-70.8457,0],0,[true,false]], + ["Land_Cargo_Patrol_V1_F",[111.865,11.9375,9.53674e-007],0,[true,false]], + ["Land_Cargo_HQ_V2_F",[-115.473,-44.5977,-4.76837e-007],0,[true,false]], + ["Land_SharpRock_apart",[-59.6836,-59.5996,-4.76837e-007],0,[true,false]], + ["Land_W_sharpRock_apart",[-81.6973,-42.4082,-4.76837e-007],0,[true,false]], + ["Land_SharpRock_apart",[-96.2168,-5.32031,4.76837e-007],0,[true,false]], + ["Land_Limestone_01_apart_F",[-79.2305,43.4219,0],0,[true,false]], + ["Land_Limestone_01_apart_F",[-50.2344,82.4746,0],0,[true,false]], + ["Land_BluntRock_apart",[3.88281,-71.5488,-2.38419e-007],0,[true,false]], + ["Land_Limestone_01_apart_F",[35.8926,-77.5918,0],0,[true,false]], + ["Land_Limestone_01_apart_F",[78.541,-52.3926,-4.76837e-007],0,[true,false]], + ["Land_Limestone_01_apart_F",[103.91,-6.88867,0],0,[true,false]], + ["Land_BluntRock_apart",[-11.5586,93.9688,-2.38419e-007],0,[true,false]], + ["Land_W_sharpStone_02",[54.7344,96.7012,0],0,[true,false]], + ["Land_BluntRock_apart",[77.4453,88.8301,-2.38419e-007],0,[true,false]], + ["Land_SharpRock_apart",[104.758,45.668,0],0,[true,false]], + ["Land_Limestone_01_02_F",[99.5117,23.752,-4.76837e-007],0,[true,false]], + ["Land_Limestone_01_02_F",[49.8477,50.0039,0],0,[true,false]], + ["Land_Limestone_01_02_F",[-8.14844,32.2227,4.76837e-007],0,[true,false]], + ["Land_Limestone_01_02_F",[-35.334,35.1465,-2.38419e-007],0,[true,false]], + ["Land_SharpStone_02",[-28.6523,1.33398,4.76837e-007],0,[true,false]], + ["Land_SharpStone_02",[-58.707,-7.46094,-4.76837e-007],0,[true,false]], + ["Land_Limestone_01_02_F",[64.5078,31.9707,0],0,[true,false]], + ["Land_Limestone_01_02_F",[33.7246,11.5469,0],0,[true,false]], + ["Land_SharpStone_02",[69.4277,-3.20313,0],0,[true,false]], + ["Land_SharpStone_02",[53.7227,-40.1777,-2.38419e-007],0,[true,false]], + ["Land_Limestone_01_02_F",[-6.26563,-46.0996,-4.76837e-007],0,[true,false]] +]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = + [ + ["B_HMG_01_high_F",[27.8945,100.275,0],0,[true,false]], + ["B_HMG_01_high_F",[-84.7793,72.2617,9.53674e-007],0,[true,false]], + ["B_G_Mortar_01_F",[76.0586,66.9414,-3.1265],0,[true,false]] + ]; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used + +_missionGroups = + [ + //_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"]; + //[[-52.6523,15.8281,-0.00143838],4,6,"Green",4,8], + //[[-48.6113,-38.877,-0.00143886],4,6,"Green",4,8], + //[[18.4492,-39.5684,-0.00143838],4,6,"Green",4,8], + //[[42.6504,31.6621,-0.00143886],4,6,"Green",4,8], + //[[7.51563,46.4531,-0.001438864],4,6,"Green",4,8], + [[-8.99219,-11.623,-0.00143838],4,6,"Green",4,8] + ]; // Can be used to define spawn positions of AI patrols + +_missionPatrolVehicles = [ + //[selectRandom GMS_AIPatrolVehiclesGreen,[27.8945,100.275,0],0,[true,false]], + //[selectRandom GMS_AIPatrolVehiclesGreen,[-84.7793,72.2617,9.53674e-007],0,[true,false]], + [selectRandom GMS_AIPatrolVehiclesGreen,[-87.8457,-109.947,7.15256e-007],0,[true,false]] +]; // can be used to define the spawn positions of vehicle patrols + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +_chanceLoot = 0.6; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. +//_endCondition = allKilledOrPlayerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear +//_timeOut = -1; +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/temple.sqf b/@GMS/addons/GMS/Missions/Orange/temple.sqf new file mode 100644 index 0000000..15c6a69 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/temple.sqf @@ -0,0 +1,616 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +_startMsg = " Altis Forces uncovered a temple. Built long ago, it holds untouched treasures. Players are tasked with stopping them from robbing the site and take the loot for themselves.!"; +_endMsg = "The Temple has been secured from Altis Forces!"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorBlack"; +_markerMissionName = " Temple"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AAF_F",[1,1,0],0,[false,false]], + ["Land_Fortress_01_innerCorner_90_F",[-87.7422,-85.7188,-0.000429153],0,[false,false]], + ["Land_Fortress_01_5m_F",[-91.791,-70.9648,-0.000429153],90,[false,false]], + ["Land_Fortress_01_10m_F",[-93.8574,-75.9688,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[-91.7676,-50.9063,-0.000429153],90,[false,false]], + ["Land_Fortress_01_10m_F",[-93.8223,-55.9375,-0.000429153],270,[false,false]], + ["Land_Fortress_01_outterCorner_90_F",[-93.8809,-91.918,-0.000430107],270,[false,false]], + ["Land_Fortress_01_5m_F",[-91.7754,-60.9297,-0.000429153],90,[false,false]], + ["Land_Fortress_01_5m_F",[-91.7227,-31.0723,-0.000429153],90,[false,false]], + ["Land_Fortress_01_10m_F",[-93.7773,-36.1035,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[-91.7305,-41.0957,-0.000429153],90,[false,false]], + ["Land_Fortress_01_5m_F",[-91.7949,-11.0859,-0.000429153],90,[false,false]], + ["Land_Fortress_01_10m_F",[-93.8496,-16.1172,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[-91.7285,-21.1055,0],90,[false,false]], + ["Land_Fortress_01_5m_F",[-91.7832,8.91406,-0.000429153],90,[false,false]], + ["Land_Fortress_01_10m_F",[-93.8379,3.88281,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[-91.791,-1.10938,-0.000429153],90,[false,false]], + ["Land_Fortress_01_5m_F",[-91.7949,28.7207,-0.000429153],90,[false,false]], + ["Land_Fortress_01_10m_F",[-93.8496,23.6895,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[-91.8027,18.6973,-0.000429153],90,[false,false]], + ["Land_Fortress_01_5m_F",[-91.75,48.5547,-0.000429153],90,[false,false]], + ["Land_Fortress_01_10m_F",[-93.8047,43.5234,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[-91.7578,38.5313,-0.000429153],90,[false,false]], + ["Land_Fortress_01_5m_F",[-91.8223,68.541,-0.000429153],90,[false,false]], + ["Land_Fortress_01_10m_F",[-93.877,63.5098,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[-91.8301,58.5176,-0.000429153],90,[false,false]], + ["Land_Fortress_01_5m_F",[-91.8105,88.541,-0.000429153],90,[false,false]], + ["Land_Fortress_01_10m_F",[-93.8652,83.5098,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[-91.8184,78.5176,-0.000429153],90,[false,false]], + ["Land_Fortress_01_innerCorner_90_F",[-87.6406,93.0625,0],90,[false,false]], + ["Land_Fortress_01_outterCorner_90_F",[-93.8398,99.2012,-9.53674e-007],0,[false,false]], + ["Land_Fortress_01_5m_F",[-72.7949,97.125,0],180,[false,false]], + ["Land_Fortress_01_10m_F",[-77.7988,99.1914,0],0,[false,false]], + ["Land_Fortress_01_5m_F",[-52.7363,97.1016,0],180,[false,false]], + ["Land_Fortress_01_10m_F",[-57.7676,99.1563,0],0,[false,false]], + ["Land_Fortress_01_5m_F",[-62.7598,97.1094,0],180,[false,false]], + ["Land_Fortress_01_5m_F",[-32.9023,97.0566,0],180,[false,false]], + ["Land_Fortress_01_10m_F",[-37.9336,99.1113,0],0,[false,false]], + ["Land_Fortress_01_5m_F",[-42.9258,97.0645,0],180,[false,false]], + ["Land_Fortress_01_5m_F",[-12.916,97.1289,0],180,[false,false]], + ["Land_Fortress_01_10m_F",[-17.9473,99.1836,0],0,[false,false]], + ["Land_Fortress_01_5m_F",[-22.9395,97.1367,0],180,[false,false]], + ["Land_Fortress_01_5m_F",[7.08398,97.1172,0],180,[false,false]], + ["Land_Fortress_01_10m_F",[2.05273,99.1719,0],0,[false,false]], + ["Land_Fortress_01_5m_F",[-2.93945,97.125,0],180,[false,false]], + ["Land_Fortress_01_5m_F",[26.8906,97.1289,0],180,[false,false]], + ["Land_Fortress_01_10m_F",[21.8594,99.1836,0],0,[false,false]], + ["Land_Fortress_01_5m_F",[16.8672,97.1367,0],180,[false,false]], + ["Land_Fortress_01_5m_F",[46.7246,97.084,0],180,[false,false]], + ["Land_Fortress_01_10m_F",[41.6934,99.1387,0],0,[false,false]], + ["Land_Fortress_01_5m_F",[36.7012,97.0918,0],180,[false,false]], + ["Land_Fortress_01_5m_F",[66.7109,97.1563,0],180,[false,false]], + ["Land_Fortress_01_10m_F",[61.6797,99.2109,0],0,[false,false]], + ["Land_Fortress_01_5m_F",[56.6875,97.1641,0],180,[false,false]], + ["Land_Fortress_01_5m_F",[86.7109,97.1445,0],180,[false,false]], + ["Land_Fortress_01_10m_F",[81.6797,99.1992,0],0,[false,false]], + ["Land_Fortress_01_5m_F",[76.6875,97.1523,0],180,[false,false]], + ["Land_Fortress_01_innerCorner_90_F",[91.2324,92.9746,0],180,[false,false]], + ["Land_Fortress_01_outterCorner_90_F",[97.3711,99.1738,0],90,[false,false]], + ["Land_Fortress_01_5m_F",[95.3027,78.209,0],270,[false,false]], + ["Land_Fortress_01_10m_F",[97.3691,83.2129,0],90,[false,false]], + ["Land_Fortress_01_5m_F",[95.2793,58.1504,0],270,[false,false]], + ["Land_Fortress_01_10m_F",[97.334,63.1816,0],90,[false,false]], + ["Land_Fortress_01_5m_F",[95.2871,68.1738,0],270,[false,false]], + ["Land_Fortress_01_5m_F",[95.2344,38.3164,0],270,[false,false]], + ["Land_Fortress_01_10m_F",[97.2891,43.3477,0],90,[false,false]], + ["Land_Fortress_01_5m_F",[95.2422,48.3398,0],270,[false,false]], + ["Land_Fortress_01_5m_F",[95.3066,18.3301,0],270,[false,false]], + ["Land_Fortress_01_10m_F",[97.3613,23.3613,0],90,[false,false]], + ["Land_Fortress_01_5m_F",[95.3145,28.3535,0],270,[false,false]], + ["Land_Fortress_01_5m_F",[95.2949,-1.66992,0],270,[false,false]], + ["Land_Fortress_01_10m_F",[97.3496,3.36133,0],90,[false,false]], + ["Land_Fortress_01_5m_F",[95.3027,8.35352,0],270,[false,false]], + ["Land_Fortress_01_5m_F",[95.3066,-21.4766,0],270,[false,false]], + ["Land_Fortress_01_10m_F",[97.3613,-16.4453,0],90,[false,false]], + ["Land_Fortress_01_5m_F",[95.3145,-11.4531,0],270,[false,false]], + ["Land_Fortress_01_5m_F",[95.2617,-41.3105,0],270,[false,false]], + ["Land_Fortress_01_10m_F",[97.3164,-36.2793,0],90,[false,false]], + ["Land_Fortress_01_5m_F",[95.2695,-31.2871,0],270,[false,false]], + ["Land_Fortress_01_5m_F",[95.334,-61.2969,0],270,[false,false]], + ["Land_Fortress_01_10m_F",[97.3887,-56.2656,0],90,[false,false]], + ["Land_Fortress_01_5m_F",[95.3418,-51.2734,0],270,[false,false]], + ["Land_Fortress_01_5m_F",[95.3223,-81.2969,0],270,[false,false]], + ["Land_Fortress_01_10m_F",[97.377,-76.2656,0],90,[false,false]], + ["Land_Fortress_01_5m_F",[95.3301,-71.2734,0],270,[false,false]], + ["Land_Fortress_01_innerCorner_90_F",[91.1523,-85.8184,0],270,[false,false]], + ["Land_Fortress_01_outterCorner_90_F",[97.3516,-91.957,0],180,[false,false]], + ["Land_Fortress_01_5m_F",[-13.2559,-92.0234,0],180,[false,false]], + ["Land_Fortress_01_10m_F",[-18.2871,-89.9688,-9.53674e-007],360,[false,false]], + ["Land_Fortress_01_5m_F",[-23.2793,-92.0156,0],180,[false,false]], + ["Land_Fortress_01_5m_F",[26.7305,-91.9629,0],180,[false,false]], + ["Land_Fortress_01_10m_F",[21.6992,-89.9082,-9.53674e-007],360,[false,false]], + ["Land_Fortress_01_5m_F",[16.707,-91.9551,0],180,[false,false]], + ["Land_Fortress_01_5m_F",[46.5371,-91.9512,0],180,[false,false]], + ["Land_Fortress_01_10m_F",[41.5059,-89.8965,-9.53674e-007],360,[false,false]], + ["Land_Fortress_01_5m_F",[36.5137,-91.9434,0],180,[false,false]], + ["Land_Fortress_01_5m_F",[66.3711,-91.9961,0],180,[false,false]], + ["Land_Fortress_01_10m_F",[61.3398,-89.9414,-9.53674e-007],360,[false,false]], + ["Land_Fortress_01_5m_F",[56.3477,-91.9883,0],180,[false,false]], + ["Land_Fortress_01_5m_F",[86.3574,-91.9238,0],180,[false,false]], + ["Land_Fortress_01_10m_F",[81.3262,-89.8691,-9.53674e-007],360,[false,false]], + ["Land_Fortress_01_5m_F",[76.334,-91.916,0],180,[false,false]], + ["Land_Fortress_01_5m_F",[-33.291,-92.0117,-1.90735e-006],180,[false,false]], + ["Land_Fortress_01_10m_F",[-38.3223,-89.957,-9.53674e-007],360,[false,false]], + ["Land_Fortress_01_5m_F",[-43.3145,-92.0039,-1.90735e-006],180,[false,false]], + ["Land_Fortress_01_5m_F",[-53.2402,-91.9941,0],180,[false,false]], + ["Land_Fortress_01_10m_F",[-58.2715,-89.9395,0],360,[false,false]], + ["Land_Fortress_01_5m_F",[-63.2637,-91.9863,0],180,[false,false]], + ["Land_Fortress_01_5m_F",[-72.8691,-91.9258,0],180,[false,false]], + ["Land_Fortress_01_10m_F",[-77.9004,-89.8711,-9.53674e-007],360,[false,false]], + ["Land_Fortress_01_5m_F",[-82.8926,-91.918,0],180,[false,false]], + ["Land_Fortress_01_5m_F",[43.6719,-57.4375,-0.000429153],0,[false,false]], + ["Land_Fortress_01_10m_F",[48.7031,-59.4922,-0.000430107],180,[false,false]], + ["Land_Fortress_01_5m_F",[23.6855,-57.5098,-0.000429153],0,[false,false]], + ["Land_Fortress_01_10m_F",[28.7168,-59.5645,-0.000430107],180,[false,false]], + ["Land_Fortress_01_5m_F",[33.709,-57.5176,-0.000429153],0,[false,false]], + ["Land_Fortress_01_5m_F",[3.68555,-57.498,-0.000429153],0,[false,false]], + ["Land_Fortress_01_10m_F",[8.7168,-59.5527,-0.000430107],180,[false,false]], + ["Land_Fortress_01_5m_F",[13.709,-57.5059,-0.000429153],0,[false,false]], + ["Land_Fortress_01_5m_F",[-16.1211,-57.5098,-0.000429153],0,[false,false]], + ["Land_Fortress_01_10m_F",[-11.0898,-59.5645,-0.000430107],180,[false,false]], + ["Land_Fortress_01_5m_F",[-6.09766,-57.5176,-0.000429153],0,[false,false]], + ["Land_Fortress_01_5m_F",[-35.9551,-57.4648,-0.000429153],0,[false,false]], + ["Land_Fortress_01_10m_F",[-30.9238,-59.5195,-0.000430107],180,[false,false]], + ["Land_Fortress_01_5m_F",[-25.9316,-57.4727,-0.000429153],0,[false,false]], + ["Land_Fortress_01_10m_F",[-50.9102,-59.5918,-0.000430107],180,[false,false]], + ["Land_Fortress_01_5m_F",[-45.918,-57.5449,-0.000429153],0,[false,false]], + ["Land_Fortress_01_5m_F",[-56.9512,60.8711,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[-56.9961,41.0371,-0.000429153],270,[false,false]], + ["Land_Fortress_01_10m_F",[-54.9414,46.0684,-0.000430107],90,[false,false]], + ["Land_Fortress_01_5m_F",[-56.9883,51.0605,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[-56.9238,21.0508,-0.000429153],270,[false,false]], + ["Land_Fortress_01_10m_F",[-54.8691,26.082,-0.000430107],90,[false,false]], + ["Land_Fortress_01_5m_F",[-56.916,31.0742,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[-56.9355,1.05078,-0.000429153],270,[false,false]], + ["Land_Fortress_01_10m_F",[-54.8809,6.08203,-0.000430107],90,[false,false]], + ["Land_Fortress_01_5m_F",[-56.9277,11.0742,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[-56.9238,-18.7559,-0.000429153],270,[false,false]], + ["Land_Fortress_01_10m_F",[-54.8691,-13.7246,-0.000430107],90,[false,false]], + ["Land_Fortress_01_5m_F",[-56.916,-8.73242,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[-56.9688,-38.5898,-0.000429153],270,[false,false]], + ["Land_Fortress_01_10m_F",[-54.9141,-33.5586,-0.000430107],90,[false,false]], + ["Land_Fortress_01_5m_F",[-56.9609,-28.5664,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[-56.8965,-58.5762,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[-56.8887,-48.5527,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[43.6523,61.918,-0.000429153],0,[false,false]], + ["Land_Fortress_01_5m_F",[53.7285,61.9551,-0.000429153],0,[false,false]], + ["Land_Fortress_01_5m_F",[23.7188,61.8906,-0.000429153],0,[false,false]], + ["Land_Fortress_01_10m_F",[28.75,59.8359,-0.000430107],180,[false,false]], + ["Land_Fortress_01_5m_F",[33.7422,61.8828,-0.000429153],0,[false,false]], + ["Land_Fortress_01_5m_F",[13.7422,61.8945,-0.000429153],0,[false,false]], + ["Land_Fortress_01_5m_F",[-16.0879,61.8906,-0.000429153],0,[false,false]], + ["Land_Fortress_01_5m_F",[-35.9219,61.9355,-0.000429153],0,[false,false]], + ["Land_Fortress_01_10m_F",[-30.8906,59.8809,-0.000430107],180,[false,false]], + ["Land_Fortress_01_5m_F",[-25.8984,61.9277,-0.000429153],0,[false,false]], + ["Land_Fortress_01_5m_F",[-55.9082,61.8633,-0.000429153],0,[false,false]], + ["Land_Fortress_01_5m_F",[-45.8848,61.8555,-0.000429153],0,[false,false]], + ["Land_Fortress_01_5m_F",[52.8926,41.2988,-0.000429153],270,[false,false]], + ["Land_Fortress_01_10m_F",[54.9473,46.3301,-0.000430107],90,[false,false]], + ["Land_Fortress_01_5m_F",[52.9004,51.3223,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[52.9648,21.3125,-0.000429153],270,[false,false]], + ["Land_Fortress_01_10m_F",[55.0195,26.3438,-0.000430107],90,[false,false]], + ["Land_Fortress_01_5m_F",[52.9727,31.3359,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[52.9531,1.3125,-0.000429153],270,[false,false]], + ["Land_Fortress_01_10m_F",[55.0078,6.34375,-0.000430107],90,[false,false]], + ["Land_Fortress_01_5m_F",[52.9609,11.3359,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[52.9648,-18.4941,-0.000429153],270,[false,false]], + ["Land_Fortress_01_10m_F",[55.0195,-13.4629,-0.000430107],90,[false,false]], + ["Land_Fortress_01_5m_F",[52.9727,-8.4707,-0.000429153],270,[false,false]], + ["Land_Fortress_01_5m_F",[52.9199,-38.3281,-0.000429153],270,[false,false]], + ["Land_Fortress_01_10m_F",[54.9746,-33.2969,-0.000430107],90,[false,false]], + ["Land_Fortress_01_5m_F",[52.9277,-28.3047,-0.000429153],270,[false,false]], + ["Land_Fortress_01_10m_F",[55.0469,-53.2832,-0.000430107],90,[false,false]], + ["Land_Fortress_01_5m_F",[52.8496,-48.25,0],270,[false,false]], + ["Land_Fortress_01_outterCorner_90_F",[54.9668,61.9395,-0.000430107],90,[false,false]], + ["Land_Fortress_01_5m_F",[43.7734,59.8711,-0.000429153],180,[false,false]], + ["Land_Fortress_01_outterCorner_90_F",[55.0215,-59.5234,-0.000430107],180,[false,false]], + ["Land_Fortress_01_outterCorner_90_F",[-56.9883,-59.5723,-0.000430107],270,[false,false]], + ["Land_Fortress_01_innerCorner_90_F",[-50.8555,-53.4355,-0.000430107],0,[false,false]], + ["Land_Fortress_01_innerCorner_90_F",[-50.7949,55.8203,-0.000430107],90,[false,false]], + ["Land_Fortress_01_5m_F",[-16.0645,59.8965,-0.000429153],180,[false,false]], + ["Land_Fortress_01_5m_F",[13.6973,59.8535,-0.000429153],180,[false,false]], + ["Land_Fortress_01_5m_F",[5.12695,24.373,-0.000427246],0,[false,false]], + ["Land_Fortress_01_10m_F",[10.1582,22.3184,-0.000430107],180,[false,false]], + ["Land_Fortress_01_5m_F",[15.1504,24.3652,-0.000429153],0,[false,false]], + ["Land_Fortress_01_5m_F",[-14.6797,24.3613,-0.000429153],0,[false,false]], + ["Land_Fortress_01_5m_F",[-4.65625,24.3535,-0.000429153],0,[false,false]], + ["Land_Fortress_01_5m_F",[16.3438,3.74219,-0.000431061],90,[false,false]], + ["Land_Fortress_01_10m_F",[14.2891,-1.28906,-0.000432014],270,[false,false]], + ["Land_Fortress_01_5m_F",[16.3359,-6.28125,-0.000431061],90,[false,false]], + ["Land_Fortress_01_5m_F",[16.332,23.5488,-0.000431061],90,[false,false]], + ["Land_Fortress_01_10m_F",[14.2773,18.5176,-0.000432014],270,[false,false]], + ["Land_Fortress_01_5m_F",[16.3242,13.5254,-0.000431061],90,[false,false]], + ["Land_Fortress_01_5m_F",[-14.1797,3.42773,-0.000429153],90,[false,false]], + ["Land_Fortress_01_10m_F",[-16.2344,-1.60352,-0.000430107],270,[false,false]], + ["Land_Fortress_01_5m_F",[-14.1875,-6.5957,-0.000429153],90,[false,false]], + ["Land_Fortress_01_5m_F",[-14.1914,23.2344,-0.000429153],90,[false,false]], + ["Land_Fortress_01_10m_F",[-16.2461,18.2031,-0.000430107],270,[false,false]], + ["Land_Fortress_01_5m_F",[-14.1992,13.2109,-0.000429153],90,[false,false]], + ["Land_Fortress_01_outterCorner_90_F",[16.3398,-17.3184,-0.000430107],180,[false,false]], + ["Land_Monument_01_F",[0.0351563,13.2988,0],180,[false,false]], + ["Land_Statue_01_F",[-6.99023,6.00391,-0.00042963],90,[false,false]], + ["Land_AncientPillar_F",[-7.28711,15.1484,-0.00042963],0,[false,false]], + ["Land_AncientPillar_F",[-7.11133,-9.93164,-0.00042963],0,[false,false]], + ["Land_AncientPillar_F",[6.78125,-9.54492,-0.0004282],0,[false,false]], + ["Land_AncientPillar_F",[6.78125,15.4551,-0.0004282],0,[false,false]], + ["Land_AncientPillar_F",[6.78125,2.45508,-0.0004282],0,[false,false]], + ["Land_AncientPillar_F",[6.78125,9.45508,-0.000430107],0,[false,false]], + ["Land_AncientPillar_F",[-7.21875,-3.54492,-0.000430107],0,[false,false]], + ["Land_AncientPillar_F",[-7.21875,2.45508,-0.000431061],0,[false,false]], + ["Land_Statue_01_F",[-6.76367,-0.804688,-0.00042963],90,[false,false]], + ["Land_Statue_01_F",[-6.95703,-7.08594,-0.00042963],90,[false,false]], + ["Land_Statue_01_F",[-6.875,12.6758,-0.00042963],90,[false,false]], + ["Land_Statue_01_F",[6.87109,12.6016,-0.00042963],270,[false,false]], + ["Land_Statue_01_F",[6.83984,5.68359,-0.00042963],270,[false,false]], + ["Land_Statue_01_F",[6.83594,-0.628906,-0.00042963],270,[false,false]], + ["Land_Statue_01_F",[6.64844,-7.14063,-0.00042963],270,[false,false]], + ["Land_AncientPillar_damaged_F",[6.78125,-3.54492,-0.00042963],0,[false,false]], + ["Land_AncientPillar_fallen_F",[2.78125,-3.54492,-0.000429153],0,[false,false]], + ["Land_AncientPillar_damaged_F",[-7.21875,9.45508,-0.00042963],180,[false,false]], + ["Land_AncientPillar_fallen_F",[-3.57813,9.09961,0],180,[false,false]], + ["Flag_Viper_F",[0.119141,2.08203,-0.00042963],0,[false,false]], + ["Land_Fortress_01_outterCorner_90_F",[-56.9297,61.9102,0],0,[false,false]], + ["Land_Fortress_01_outterCorner_90_F",[-16.2578,24.4102,0],0,[false,false]], + ["Land_Fortress_01_10m_F",[-9.64844,22.3066,-0.000430107],180,[false,false]], + ["Land_AncientPillar_F",[10.1191,-95.918,0],0,[false,false]], + ["Land_AncientPillar_F",[10.1191,-90.918,0],0,[false,false]], + ["Land_AncientPillar_F",[10.1191,-85.918,0],0,[false,false]], + ["Land_AncientPillar_F",[-6.88086,-96.918,0],0,[false,false]], + ["Land_AncientPillar_F",[-6.88086,-91.918,4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[-6.88086,-86.918,0],0,[false,false]], + ["Land_Statue_01_F",[-6.72266,-94.7227,-0.00042963],90,[false,false]], + ["Land_Statue_01_F",[-6.61523,-89.7988,-0.00042963],90,[false,false]], + ["Land_Statue_01_F",[10.002,-93.3867,-0.00042963],270,[false,false]], + ["Land_Statue_01_F",[10.123,-88.2383,0],270,[false,false]], + ["Land_BagBunker_Small_F",[1.59375,-96.0684,0],180,[false,false]], + ["Land_Sign_WarningMilitaryArea_F",[12.7813,-99.3262,0],180,[false,false]], + ["Land_BarGate_01_open_F",[-4.05078,-99.2715,0],180,[false,false]], + ["Land_BarGate_01_open_F",[7.0957,-99.1309,0],0,[false,false]], + ["Land_Maroula_F",[2.20508,-66.9707,0],127.858,[false,false]], + ["Land_Pedestal_02_F",[-0.28125,-67.2578,0],0,[false,false]], + ["Land_Pedestal_02_F",[4.64063,-67.1445,0],0,[false,false]], + ["Land_Fortress_01_outterCorner_90_F",[16.4258,24.3496,0],90.616,[false,false]], + ["Land_AncientStatue_01_F",[2.38086,32.2969,-4.76837e-007],0,[false,false]], + ["Land_AncientStatue_01_F",[0.380859,32.2969,-4.76837e-007],0,[false,false]], + ["Land_AncientStatue_01_F",[-1.61914,32.2969,-4.76837e-007],0,[false,false]], + ["Land_AncientStatue_01_F",[-3.61914,32.2969,-4.76837e-007],0,[false,false]], + ["Land_AncientStatue_02_F",[8.11914,67.082,0],266.537,[false,false]], + ["Land_AncientStatue_02_F",[8.11914,64.082,0],266.537,[false,false]], + ["Land_AncientStatue_02_F",[8.11914,61.082,0],266.537,[false,false]], + ["Land_AncientStatue_02_F",[8.11914,58.082,0],266.537,[false,false]], + ["Land_AncientStatue_02_F",[8.11914,55.082,0],266.537,[false,false]], + ["Land_AncientStatue_02_F",[-9.88086,67.082,0],101.537,[false,false]], + ["Land_AncientStatue_02_F",[-9.88086,64.082,0],86.5371,[false,false]], + ["Land_AncientStatue_02_F",[-9.88086,61.082,0],93.2645,[false,false]], + ["Land_AncientStatue_02_F",[-9.88086,58.082,0],92.358,[false,false]], + ["Land_AncientStatue_02_F",[-9.88086,55.082,0],82.48,[false,false]], + ["Land_AncientPillar_F",[-63.7734,-67.3066,0],0,[false,false]], + ["Land_AncientPillar_F",[-63.8809,-41.918,0],0,[false,false]], + ["Land_AncientPillar_F",[-63.8809,-30.918,0],0,[false,false]], + ["Land_AncientPillar_F",[-63.8809,52.082,0],0,[false,false]], + ["Land_AncientPillar_F",[-63.8809,-17.918,0],0,[false,false]], + ["Land_AncientPillar_F",[-63.8809,38.082,0],0,[false,false]], + ["Land_AncientPillar_F",[-63.8809,23.082,0],0,[false,false]], + ["Land_AncientPillar_F",[-83.7734,-67.3066,0],0,[false,false]], + ["Land_AncientPillar_F",[-83.8809,-54.918,0],0,[false,false]], + ["Land_AncientPillar_F",[-83.8809,-30.918,0],0,[false,false]], + ["Land_AncientPillar_F",[-83.8809,52.082,0],0,[false,false]], + ["Land_AncientPillar_F",[-83.8809,-4.91797,0],0,[false,false]], + ["Land_AncientPillar_F",[-83.8809,9.08203,0],0,[false,false]], + ["Land_AncientPillar_F",[-83.8809,38.082,0],0,[false,false]], + ["Land_AncientPillar_F",[-83.8809,23.082,0],0,[false,false]], + ["Land_AncientPillar_F",[-83.9766,-82.3379,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[55.5078,-82.8105,-4.76837e-007],270,[false,false]], + ["Land_AncientPillar_F",[43.1191,-82.918,-4.76837e-007],270,[false,false]], + ["Land_AncientPillar_F",[30.1191,-82.918,-4.76837e-007],270,[false,false]], + ["Land_AncientPillar_F",[-20.8809,-82.918,-4.76837e-007],270,[false,false]], + ["Land_AncientPillar_F",[-49.8809,-82.918,-4.76837e-007],270,[false,false]], + ["Land_AncientPillar_F",[-34.8809,-82.918,-4.76837e-007],270,[false,false]], + ["Land_AncientPillar_F",[-36.8809,-66.918,-4.76837e-007],90,[false,false]], + ["Land_AncientPillar_F",[-12.8809,-66.918,-4.76837e-007],90,[false,false]], + ["Land_AncientPillar_F",[13.1191,-66.918,-4.76837e-007],90,[false,false]], + ["Land_AncientPillar_F",[27.1191,-66.918,-4.76837e-007],90,[false,false]], + ["Land_AncientPillar_F",[56.1191,-66.918,-4.76837e-007],90,[false,false]], + ["Land_AncientPillar_F",[62.1191,-32.918,0],0,[false,false]], + ["Land_AncientPillar_F",[62.1191,-21.918,0],0,[false,false]], + ["Land_AncientPillar_F",[62.1191,61.082,0],0,[false,false]], + ["Land_AncientPillar_F",[62.1191,-8.91797,0],0,[false,false]], + ["Land_AncientPillar_F",[62.1191,18.082,0],0,[false,false]], + ["Land_AncientPillar_F",[62.1191,47.082,0],0,[false,false]], + ["Land_AncientPillar_F",[87.1191,-70.918,-2.38419e-006],0,[false,false]], + ["Land_AncientPillar_F",[87.1191,-57.918,-2.38419e-006],0,[false,false]], + ["Land_AncientPillar_F",[87.1191,41.082,1.43051e-006],0,[false,false]], + ["Land_AncientPillar_F",[87.1191,-33.918,-2.38419e-006],0,[false,false]], + ["Land_AncientPillar_F",[87.1191,-20.918,-2.38419e-006],0,[false,false]], + ["Land_AncientPillar_F",[87.1191,-5.91797,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[87.1191,24.082,0],0,[false,false]], + ["Land_AncientPillar_F",[86.4941,88.6348,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[86.8223,75.4902,1.43051e-006],0,[false,false]], + ["Land_AncientPillar_F",[-59.2695,87.9746,0],90,[false,false]], + ["Land_AncientPillar_F",[-46.8809,88.082,0],90,[false,false]], + ["Land_AncientPillar_F",[-33.8809,88.082,0],90,[false,false]], + ["Land_AncientPillar_F",[60.1191,88.082,0],90,[false,false]], + ["Land_AncientPillar_F",[3.11914,88.082,0],90,[false,false]], + ["Land_AncientPillar_F",[17.1191,88.082,0],90,[false,false]], + ["Land_AncientPillar_F",[46.1191,88.082,0],90,[false,false]], + ["Land_AncientPillar_F",[-63.8809,66.082,-4.76837e-007],90,[false,false]], + ["Land_AncientPillar_F",[-52.4922,69.1895,0],90,[false,false]], + ["Land_AncientPillar_F",[-28.4922,69.1895,0],90,[false,false]], + ["Land_AncientPillar_F",[54.5078,69.1895,0],90,[false,false]], + ["Land_AncientPillar_F",[-15.4922,69.1895,0],90,[false,false]], + ["Land_AncientPillar_F",[25.5078,69.1895,0],90,[false,false]], + ["Land_AncientPillar_F",[44.2266,-49.3066,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[44.1191,-23.918,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[44.1191,0.0820313,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[44.1191,13.082,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[44.1191,41.082,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[44.1191,52.082,0],90,[false,false]], + ["Land_AncientPillar_F",[-29.8809,51.082,1.43051e-006],90,[false,false]], + ["Land_AncientPillar_F",[-12.8809,52.082,0],90,[false,false]], + ["Land_AncientPillar_F",[30.1191,52.082,0],90,[false,false]], + ["Land_AncientPillar_F",[-45.8809,52.082,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[-45.8809,-17.918,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[-45.8809,-4.91797,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[-45.8809,9.08203,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[-45.8809,38.082,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[-45.8809,23.082,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[-46.2695,-49.0254,-2.38419e-006],90,[false,false]], + ["Land_AncientPillar_F",[-33.8809,-48.918,-2.38419e-006],90,[false,false]], + ["Land_AncientPillar_F",[-20.8809,-48.918,-2.38419e-006],90,[false,false]], + ["Land_AncientPillar_F",[3.11914,-48.918,-2.38419e-006],90,[false,false]], + ["Land_AncientPillar_F",[30.1191,-48.918,-2.38419e-006],90,[false,false]], + ["Land_AncientPillar_damaged_F",[-24.5254,-67.2773,-0.00042963],270,[false,false]], + ["Land_AncientPillar_fallen_F",[-24.8809,-70.918,0],270,[false,false]], + ["Land_AncientPillar_damaged_F",[-63.8809,-82.918,4.76837e-007],90,[false,false]], + ["Land_AncientPillar_fallen_F",[-63.5254,-79.2773,0],90,[false,false]], + ["Land_AncientPillar_damaged_F",[-64.2402,-55.2734,-0.00042963],0,[false,false]], + ["Land_AncientPillar_fallen_F",[-67.8809,-54.918,0],15,[false,false]], + ["Land_AncientPillar_damaged_F",[-83.5215,-42.5625,-0.000430107],180,[false,false]], + ["Land_AncientPillar_fallen_F",[-79.8809,-42.918,-4.76837e-007],210,[false,false]], + ["Land_AncientPillar_damaged_F",[-50.5254,-67.2773,-0.00042963],270,[false,false]], + ["Land_AncientPillar_fallen_F",[-50.8809,-70.918,0],270,[false,false]], + ["Land_AncientPillar_damaged_F",[-63.8809,-3.91797,0],0,[false,false]], + ["Land_AncientPillar_fallen_F",[-67.5215,-3.5625,0],0,[false,false]], + ["Land_AncientPillar_damaged_F",[-64.2402,8.72656,-0.00042963],0,[false,false]], + ["Land_AncientPillar_fallen_F",[-67.8809,9.08203,0],330,[false,false]], + ["Land_AncientPillar_damaged_F",[-83.8809,-16.918,0],180,[false,false]], + ["Land_AncientPillar_fallen_F",[-80.2402,-17.2734,0],180,[false,false]], + ["Land_AncientPillar_damaged_F",[-83.8809,66.082,0],180,[false,false]], + ["Land_AncientPillar_fallen_F",[-80.2402,65.7266,0],210,[false,false]], + ["Land_AncientPillar_damaged_F",[-83.8809,89.082,0],270,[false,false]], + ["Land_AncientPillar_fallen_F",[-84.2363,85.4414,0],255,[false,false]], + ["Land_AncientPillar_damaged_F",[-83.8809,78.082,0],270,[false,false]], + ["Land_AncientPillar_fallen_F",[-80.2402,77.7266,0],150,[false,false]], + ["Land_AncientPillar_damaged_F",[-71.8809,89.082,0],270,[false,false]], + ["Land_AncientPillar_fallen_F",[-72.2363,85.4414,0],330,[false,false]], + ["Land_AncientPillar_damaged_F",[-41.5449,69.1992,-0.00042963],90,[false,false]], + ["Land_AncientPillar_fallen_F",[-41.1895,72.8398,0],90,[false,false]], + ["Land_AncientPillar_damaged_F",[17.1191,-82.918,0],90,[false,false]], + ["Land_AncientPillar_fallen_F",[17.4746,-79.2773,0],60,[false,false]], + ["Land_AncientPillar_damaged_F",[42.4746,-66.2773,-0.000430107],270,[false,false]], + ["Land_AncientPillar_fallen_F",[42.1191,-69.918,-4.76837e-007],300,[false,false]], + ["Land_AncientPillar_damaged_F",[71.1191,-82.918,0],90,[false,false]], + ["Land_AncientPillar_fallen_F",[71.4746,-79.2773,0],90,[false,false]], + ["Land_AncientPillar_damaged_F",[87.4414,-82.7441,-0.00042963],45,[false,false]], + ["Land_AncientPillar_fallen_F",[85.1191,-79.918,0],45,[false,false]], + ["Land_AncientPillar_damaged_F",[61.9082,-59.9863,-0.00042963],180,[false,false]], + ["Land_AncientPillar_fallen_F",[65.5488,-60.3418,0],180,[false,false]], + ["Land_AncientPillar_damaged_F",[62.1191,-45.918,4.76837e-007],180,[false,false]], + ["Land_AncientPillar_fallen_F",[66.1191,-46.918,0],135,[false,false]], + ["Land_AncientPillar_damaged_F",[87.7598,-47.2734,-0.000429153],0,[false,false]], + ["Land_AncientPillar_fallen_F",[84.1191,-46.918,4.76837e-007],15,[false,false]], + ["Land_AncientPillar_damaged_F",[62.4785,5.4375,-0.00042963],180,[false,false]], + ["Land_AncientPillar_fallen_F",[66.1191,5.08203,0],180,[false,false]], + ["Land_AncientPillar_damaged_F",[86.7598,8.72656,-0.00042963],0,[false,false]], + ["Land_AncientPillar_fallen_F",[83.1191,9.08203,0],345,[false,false]], + ["Land_AncientPillar_damaged_F",[61.4785,33.4375,-0.00042963],180,[false,false]], + ["Land_AncientPillar_fallen_F",[65.1191,33.082,0],225,[false,false]], + ["Land_AncientPillar_damaged_F",[86.7598,60.7266,-0.00042963],0,[false,false]], + ["Land_AncientPillar_fallen_F",[83.1191,61.082,0],0,[false,false]], + ["Land_AncientPillar_damaged_F",[-21.8809,88.082,4.76837e-007],270,[false,false]], + ["Land_AncientPillar_fallen_F",[-21.8809,83.082,0],300,[false,false]], + ["Land_AncientPillar_damaged_F",[-7.88086,88.082,0],270,[false,false]], + ["Land_AncientPillar_fallen_F",[-8.23633,84.4414,0],225,[false,false]], + ["Land_AncientPillar_damaged_F",[30.3164,87.7949,-0.00042963],270,[false,false]], + ["Land_AncientPillar_fallen_F",[29.9609,84.1543,0],270,[false,false]], + ["Land_AncientPillar_damaged_F",[12.1191,69.082,0],75,[false,false]], + ["Land_AncientPillar_fallen_F",[11.5195,72.6914,0],75,[false,false]], + ["Land_AncientPillar_damaged_F",[42.1191,70.082,-4.76837e-007],180,[false,false]], + ["Land_AncientPillar_fallen_F",[42.3672,73.5059,0],150,[false,false]], + ["Land_AncientPillar_damaged_F",[74.1191,88.082,-4.76837e-007],300,[false,false]], + ["Land_AncientPillar_fallen_F",[71.9902,85.1074,0],300,[false,false]], + ["Land_AncientPillar_F",[24.1191,-4.91797,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[24.1191,8.08203,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[-24.8809,-3.91797,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[-24.8809,9.08203,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[-24.8809,23.082,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_F",[6.11914,32.082,-4.76837e-007],90,[false,false]], + ["Land_AncientPillar_F",[20.1191,32.082,-4.76837e-007],90,[false,false]], + ["Land_AncientPillar_F",[19.6621,-24.1895,-4.76837e-007],270,[false,false]], + ["Land_AncientPillar_F",[-20.3379,-24.1895,-4.76837e-007],270,[false,false]], + ["Land_AncientPillar_damaged_F",[-9.06641,-22.252,0],180,[false,false]], + ["Land_AncientPillar_fallen_F",[-5.42578,-22.6074,0],210,[false,false]], + ["Land_AncientPillar_damaged_F",[9.17773,-22.3125,0],255,[false,false]], + ["Land_AncientPillar_fallen_F",[9.77734,-25.9219,0],285,[false,false]], + ["Land_AncientPillar_damaged_F",[-11.4063,-48.8145,0],60,[false,false]], + ["Land_AncientPillar_fallen_F",[-12.918,-45.4844,0],90,[false,false]], + ["Land_AncientPillar_damaged_F",[14.3242,-48.8672,-0.000430107],60,[false,false]], + ["Land_AncientPillar_fallen_F",[12.8125,-45.5371,-4.76837e-007],45,[false,false]], + ["Land_AncientPillar_damaged_F",[-47.3574,-33.9727,0],180,[false,false]], + ["Land_AncientPillar_fallen_F",[-43.7168,-34.3281,0],180,[false,false]], + ["Land_AncientPillar_damaged_F",[-24.1523,-17.3398,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_fallen_F",[-27.793,-16.9844,-4.76837e-007],0,[false,false]], + ["Land_AncientPillar_damaged_F",[-7.88086,32.082,0],90,[false,false]], + ["Land_AncientPillar_fallen_F",[-9.02539,35.8418,0],45,[false,false]], + ["Land_AncientPillar_damaged_F",[-19.8809,32.082,-4.76837e-007],90,[false,false]], + ["Land_AncientPillar_fallen_F",[-19.5254,35.7227,-4.76837e-007],90,[false,false]], + ["Land_AncientPillar_damaged_F",[13.1191,52.082,0],315,[false,false]], + ["Land_AncientPillar_fallen_F",[10.293,49.7598,0],315,[false,false]], + ["Land_AncientPillar_damaged_F",[44.1191,28.082,-4.76837e-007],315,[false,false]], + ["Land_AncientPillar_fallen_F",[41.293,25.7598,-4.76837e-007],315,[false,false]], + ["Land_AncientPillar_damaged_F",[24.1191,22.082,4.76837e-007],180,[false,false]], + ["Land_AncientPillar_fallen_F",[27.7598,21.7266,0],180,[false,false]], + ["Land_AncientPillar_damaged_F",[44.1191,-12.918,4.76837e-007],15,[false,false]], + ["Land_AncientPillar_fallen_F",[40.6953,-11.6328,0],15,[false,false]], + ["Land_AncientPillar_damaged_F",[44.1191,-38.918,0],345,[false,false]], + ["Land_AncientPillar_fallen_F",[40.5098,-39.5176,0],345,[false,false]], + ["Land_AncientPillar_damaged_F",[24.0938,-17.834,0],225,[false,false]], + ["Land_AncientPillar_fallen_F",[26.416,-20.6602,0],225,[false,false]], + ["Land_BagBunker_Small_F",[76.2363,77.9219,0],180,[false,false]], + ["Land_BagBunker_Small_F",[-72.8809,78.082,0],180,[false,false]], + ["Land_BagBunker_Small_F",[-73.8809,-73.918,0],90,[false,false]], + ["Land_BagBunker_Small_F",[75.1191,-73.918,0],270,[false,false]], + ["Land_BagBunker_Small_F",[35.3086,-32.6406,0],0,[false,false]], + ["Land_BagBunker_Small_F",[-35.3105,-36.625,0],0,[false,false]], + ["Land_Statue_01_F",[-19.0508,-67.127,0],180,[false,false]], + ["Land_Statue_01_F",[-31.7461,-67.0605,0],180,[false,false]], + ["Land_Statue_01_F",[-43.9727,-67.3047,0],180,[false,false]], + ["Land_Statue_01_F",[-57.0391,-68.1328,0],180,[false,false]], + ["Land_Statue_01_F",[-58.1152,-82.7891,0],0,[false,false]], + ["Land_Statue_01_F",[-42.2734,-82.4414,0],0,[false,false]], + ["Land_Statue_01_F",[-27.2988,-82.875,0],0,[false,false]], + ["Land_Statue_01_F",[-14.3652,-82.5781,0],0,[false,false]], + ["Land_Statue_01_F",[-73.8457,-82.1191,0],0,[false,false]], + ["Land_Statue_01_F",[-84.0117,-75.2656,0],90,[false,false]], + ["Land_Statue_01_F",[-83.9199,-61.0098,0],90,[false,false]], + ["Land_Statue_01_F",[-63.625,-60.6406,0],270,[false,false]], + ["Land_Statue_01_F",[-83.8301,-48.6914,0],90,[false,false]], + ["Land_Statue_01_F",[-83.7637,-36.4199,0],90,[false,false]], + ["Land_Statue_01_F",[-83.5957,-23.1387,0],90,[false,false]], + ["Land_Statue_01_F",[-83.8008,-10.5801,0],75,[false,false]], + ["Land_Statue_01_F",[-83.8203,2.35742,0],90,[false,false]], + ["Land_Statue_01_F",[-64.0586,-49.1563,0],270,[false,false]], + ["Land_Statue_01_F",[-64.0449,-35.5,0],270,[false,false]], + ["Land_Statue_01_F",[-64.1074,-23.3066,0],270,[false,false]], + ["Land_Statue_01_F",[-63.9434,-9.37891,0],270,[false,false]], + ["Land_Statue_01_F",[-64.209,2.83398,0],270,[false,false]], + ["Land_Statue_01_F",[-63.9863,16.3066,4.76837e-007],270,[false,false]], + ["Land_Statue_01_F",[-84.0391,16.123,0],75,[false,false]], + ["Land_Statue_01_F",[-83.6348,30.8926,0],90,[false,false]], + ["Land_Statue_01_F",[-64.0098,30.9785,0],270,[false,false]], + ["Land_Statue_01_F",[-63.8633,45.9668,0],270,[false,false]], + ["Land_Statue_01_F",[-83.9023,45.1055,0],75,[false,false]], + ["Land_Statue_01_F",[-83.7129,59.5996,0],90,[false,false]], + ["Land_Statue_01_F",[-64.2793,59.6582,0],270,[false,false]], + ["Land_Statue_01_F",[-83.459,72.4043,0],90,[false,false]], + ["Land_Statue_01_F",[-78.1777,89.4922,0],180,[false,false]], + ["Land_Statue_01_F",[-65.6172,88.623,0],180,[false,false]], + ["Land_Statue_01_F",[-53.3398,87.3438,0],180,[false,false]], + ["Land_Statue_01_F",[-40,88.3535,-4.76837e-007],180,[false,false]], + ["Land_Statue_01_F",[-27.3594,87.9863,4.76837e-007],180,[false,false]], + ["Land_Statue_01_F",[-14.7891,87.9883,0],180,[false,false]], + ["Land_Statue_01_F",[-2.44922,88.3477,-4.76837e-007],180,[false,false]], + ["Land_Statue_01_F",[10.834,88.332,-4.76837e-007],180,[false,false]], + ["Land_Statue_01_F",[23.9102,87.7773,0],180,[false,false]], + ["Land_Statue_01_F",[38.7949,88.0918,0],180,[false,false]], + ["Land_Statue_01_F",[34.9883,70.2813,0],0,[false,false]], + ["Land_Statue_01_F",[18.9023,70.1289,0],0,[false,false]], + ["Land_Statue_01_F",[-21.1133,70.1738,0],0,[false,false]], + ["Land_Statue_01_F",[-34.6855,69.668,0],0,[false,false]], + ["Land_Statue_01_F",[-47.2637,69.6016,0],0,[false,false]], + ["Land_Statue_01_F",[-58.9258,69.9473,0],0,[false,false]], + ["Land_Statue_01_F",[53.4395,88.2832,0],180,[false,false]], + ["Land_Statue_01_F",[67.1699,88.4297,0],180,[false,false]], + ["Land_Statue_01_F",[80.8691,88.7246,0],180,[false,false]], + ["Land_Statue_01_F",[86.7227,82.5723,0],270,[false,false]], + ["Land_Statue_01_F",[86.7168,68.2188,0],270,[false,false]], + ["Land_Statue_01_F",[87.0566,51.2539,0],270,[false,false]], + ["Land_Statue_01_F",[87.2988,31.9023,0],270,[false,false]], + ["Land_Statue_01_F",[87.2715,15.4844,0],270,[false,false]], + ["Land_Statue_01_F",[87.2754,1.50195,0],270,[false,false]], + ["Land_Statue_01_F",[87.1953,-13.7305,0],270,[false,false]], + ["Land_Statue_01_F",[87.3125,-27.8848,0],270,[false,false]], + ["Land_Statue_01_F",[87.2871,-41.1563,0],270,[false,false]], + ["Land_Statue_01_F",[87.4512,-53.0586,0],255,[false,false]], + ["Land_Statue_01_F",[87.4238,-65.1973,0],270,[false,false]], + ["Land_Statue_01_F",[86.9355,-77.3125,0],270,[false,false]], + ["Land_Statue_01_F",[79.0488,-81.9453,0],0,[false,false]], + ["Land_Statue_01_F",[-6.75977,-66.7793,0],180,[false,false]], + ["Land_Statue_01_F",[8.19141,-67.2695,0],180,[false,false]], + ["Land_Statue_01_F",[20.7969,-67.1914,0],180,[false,false]], + ["Land_Statue_01_F",[35.8477,-67.4941,0],195,[false,false]], + ["Land_Statue_01_F",[49.9824,-66.918,0],180,[false,false]], + ["Land_Statue_01_F",[23.418,-82.5957,0],0,[false,false]], + ["Land_Statue_01_F",[37.0371,-82.9824,0],0,[false,false]], + ["Land_Statue_01_F",[49.5781,-82.5156,0],0,[false,false]], + ["Land_Statue_01_F",[63.6973,-82.4961,0],0,[false,false]], + ["Land_Statue_01_F",[62.7188,-52.7949,0],75,[false,false]], + ["Land_Statue_01_F",[62.6563,-39.5098,0],90,[false,false]], + ["Land_Statue_01_F",[62.0352,-26.6934,0],90,[false,false]], + ["Land_Statue_01_F",[62.1582,-15.1836,0],90,[false,false]], + ["Land_Statue_01_F",[62.4473,-0.859375,0],90,[false,false]], + ["Land_Statue_01_F",[62.4707,11.8789,0],90,[false,false]], + ["Land_Statue_01_F",[62.1133,26.6035,0],90,[false,false]], + ["Land_Statue_01_F",[62.0254,40.9629,0],90,[false,false]], + ["Land_Statue_01_F",[61.9082,54.8965,0],90,[false,false]], + ["Land_Fortress_01_outterCorner_90_F",[-16.2129,-17.1016,-0.000430107],270,[false,false]], + ["Land_Fortress_01_5m_F",[-14.2266,-16.1094,0],90,[false,false]], + ["Land_Fortress_01_10m_F",[14.2891,-11.2266,0],270,[false,false]] +]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = + [ + [selectRandom GMS_staticWeapons,[1.47266,-96.6211,0],0,[true,false]], + [selectRandom GMS_staticWeapons,[74.8633,-73.5762,0],90,[true,false]], + [selectRandom GMS_staticWeapons,[-73.5723,-73.9414,0],270,[true,false]], + [selectRandom GMS_staticWeapons,[-73,77.8223,0],0,[true,false]], + [selectRandom GMS_staticWeapons,[76.1309,77.8359,0],0,[true,false]], + [selectRandom GMS_staticWeapons,[35.5391,-32.2578,0],180,[true,false]], + [selectRandom GMS_staticWeapons,[-35.0664,-36.6504,0],180,[true,false]] + ]; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used + +_missionGroups = + [ + //_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"]; + [[0.683594,-75.291,-0.00143886],4,6,"Orange",5,12], + [[-40.418,-76.1191,-0.00143886],4,6,"Orange",5,12], + [[40.7715,-77.5859,-0.00143909],4,6,"Orange",5,12], + [[73.8086,-2.11328,-0.00143886],4,6,"Orange",5,12], + [[-74.8438,-7.29297,-0.00143886],4,6,"Orange",5,12], + [[-39.5879,80.5801,-0.00143933],4,6,"Orange",5,12], + [[47.5195,79.6797,-0.00144029],4,6,"Orange",5,12], + [[-0.0527344,40.5371,-0.00143886],4,6,"Orange",5,12], + [[1.00391,-34.668,-0.00143886],4,6,"Orange",5,12], + [[-21.6523,-105.535,-0.00143886],4,6,"Orange",5,12], + [[46.8008,-72.3633,-0.00143886],4,6,"Orange",15,25], + [[-31.3398,-71.5137,-0.00143886],4,6,"Orange",15,25], + [[34.9082,44.2813,-0.00143886],4,6,"Orange",15,25], + [[-34.1719,43.4336,-0.00143886],4,6,"Orange",15,25], + [[30.0957,-40.3691,-0.00143886],4,6,"Orange",15,25], + [[-30.4922,-42.6348,-0.00143886],4,6,"Orange",15,25], + [[-58.8027,79.3906,-0.00143886],4,6,"Orange",15,25], + [[67.1836,78.5391,-0.00143886],4,6,"Orange",15,25], + [[79.0762,13.4219,-0.00143886],4,6,"Orange",15,25], + [[-70.6934,3.79688,-0.00143886],4,6,"Orange",15,25], + [[28.3906,-112.615,-0.00143886],4,6,"Orange",15,25], + [[-37.127,-105.908,-0.00143886],4,6,"Orange",15,25] + + ]; // Can be used to define spawn positions of AI patrols + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehiclesOrange,[110.361,-143.771,4.76837e-007],0,[true,false]], + [selectRandom GMS_AIPatrolVehiclesOrange,[-110.588,-133.367,4.76837e-007],0,[true,false]], + [selectRandom GMS_AIPatrolVehiclesOrange,[14.3203,149.434,4.76837e-007],0,[true,false]] +]; // can be used to define the spawn positions of vehicle patrols + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; + +_chancePara = 0.5; // Setting this in the mission file overrides the defaults +_noPara = 5; // Setting this in the mission file overrides the defaults +_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +_paraSkill = "orange"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. + +_chanceLoot = 0.5; +_paraLoot = GMS_BoxLoot_Orange; +_paraLootCounts = GMS_lootCountsOrange; // Throw in something more exotic than found at a normal blue mission. + +_endCondition = playerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear +//_timeOut = -1; +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/tko_camp.sqf b/@GMS/addons/GMS/Missions/Orange/tko_camp.sqf new file mode 100644 index 0000000..396ac12 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/tko_camp.sqf @@ -0,0 +1,191 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Orange Mission with template = default"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +_startMsg = "An enemy Military Camp was sighted in a nearby sector! Check the Orange marker on your map for the location!"; +_endMsg = "The Military Camp at the Orange Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorOrange"; +_markerMissionName = "Military Camp"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_House_V3_F",[8.00928,15.6453,-0.00143909],0,true,true,[["B_HMG_01_high_F",[-8.28516,3.27148,-0.0121188],0.000433404]],[]] +]; + +_missionLandscape = [ + //["babe_helper",[-3327.46,-2809.42,-0.00143909],0,true,true], + //["Sign_Arrow_Green_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + //["Sign_Arrow_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + //["Sign_Arrow_Yellow_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[-2.76221,-30.3596,-0.00143909],0,true,true], + ["Land_HBarrier_1_F",[-9.74463,-27.0081,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[-9.74268,-29.0042,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-8.36182,-30.3743,-0.00143909],180,true,true], + ["CamoNet_OPFOR_open_F",[-0.361816,-1.01782,-0.00143909],180,true,true], + ["Land_HBarrier_3_F",[-15.3853,-13.9866,-0.00143909],315,true,true], + ["Land_HBarrier_Big_F",[-3.61768,-5.26782,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[-5.46533,3.40405,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[-18.5767,-14.5354,-0.00143909],45,true,true], + ["Land_HBarrier_Big_F",[-12.4985,-20.3987,-0.00143909],45,true,true], + ["Land_HBarrier_1_F",[-22.9692,-2.77563,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[-23.3423,0.478271,-0.00143909],15,true,true], + ["Land_BagFence_Long_F",[-24.5767,-9.90649,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-22.8071,-8.13794,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-18.7427,-12.3811,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-23.2368,2.26245,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-21.8657,6.25952,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-22.3657,-13.8772,-0.00143909],135,true,true], + ["Land_BagFence_Long_F",[-9.74268,-25.1174,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-18.5649,-8.3147,-0.00143909],45,true,true], + ["Land_BagFence_Long_F",[-23.2368,4.88843,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-25.2192,0.111084,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-25.2192,-2.76587,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-26.5884,-1.39282,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-24.3989,-13.9709,-0.00143909],225,true,true], + ["Land_BagFence_Round_F",[-17.5747,-10.4006,-0.00143909],270,true,true], + ["Land_BagFence_Round_F",[-25.5493,-11.9026,-0.00143909],90,true,true], + ["Land_BagFence_Round_F",[-20.7212,-7.07642,-0.00143909],180,true,true], + ["Land_BagFence_End_F",[-9.7583,-23.3167,-0.00143909],270,true,true], + ["Land_Cargo_Patrol_V3_F",[-10.9263,-16.053,-0.00143862],45,true,true], + ["Land_Cargo_House_V3_F",[-3.09424,-20.7424,-0.00143909],180,true,true], + ["CamoNet_OPFOR_open_F",[-0.225098,8.17163,-0.00143909],0,true,true], + ["Land_HBarrier_3_F",[-1.85596,17.1208,-0.00143909],180,true,true], + ["Land_HBarrier_3_F",[-2.70752,19.4275,-0.00143909],90,true,true], + ["Land_HBarrier_Big_F",[-19.6177,9.36694,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[-19.6646,17.5466,-0.00143909],90,true,true], + ["Land_HBarrier_1_F",[-4.93994,9.58374,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[-16.4673,27.1775,-0.00143909],285,true,true], + ["Land_HBarrier_1_F",[-2.68408,25.3513,-0.00143909],120,true,true], + ["Land_BagFence_Long_F",[-2.30908,23.7244,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-19.7173,23.0505,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-19.7153,25.9265,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-18.3462,27.4314,-0.00143909],0,true,true], + ["Land_Cargo_Patrol_V3_F",[-15.4087,10.7146,-0.00143862],90,true,true], + ["Land_HBarrier_5_F",[-15.7407,14.7517,-0.00143909],0,true,true], + ["Land_HBarrier_5_F",[-6.33838,7.41382,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[4.87646,-28.4124,-0.00143909],330,true,true], + ["Land_HBarrier_3_F",[10.5171,0.540771,-0.00143909],0,true,true], + ["Land_HBarrier_3_F",[11.3687,-7.17212,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[23.0171,-13.6155,-0.00143909],285,true,true], + ["Land_HBarrier_Big_F",[3.04834,3.62964,-0.00143909],1.36604e-005,true,true], + ["Land_HBarrier_Big_F",[11.8745,-23.9084,-0.00143909],330,true,true], + ["Land_HBarrier_Big_F",[7.90967,0.343506,-0.00143909],90,true,true], + ["Land_HBarrier_Big_F",[24.978,-5.36938,-0.00143909],285,true,true], + ["Land_HBarrier_Big_F",[11.2808,-4.62427,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[25.9077,2.68921,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[4.35498,-2.41431,-0.00143909],90,true,true], + ["Land_HBarrier_1_F",[21.0073,-21.7493,-0.00143909],30,true,true], + ["Land_BagFence_Long_F",[19.1304,-21.6174,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[16.5073,-21.6174,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[7.89795,6.07788,-0.00143909],270,true,true], + ["Land_Loudspeakers_F",[21.2026,-15.3088,-0.00143909],196,true,true], + ["Land_HBarrier_5_F",[17.7847,6.20483,-0.00143909],270,true,true], + ["Land_HBarrier_5_F",[11.3823,-11.5022,-0.00143909],270,true,true], + ["Land_HBarrier_5_F",[5.75146,-0.244385,-0.00143909],90,true,true], + ["Land_Cargo_House_V3_F",[5.49561,-9.99927,-0.00143909],90,true,true], + ["Land_Cargo_House_V3_F",[5.03076,-17.6174,-0.00143909],150,true,true], + ["CamoNet_OPFOR_open_F",[22.6538,9.88257,-0.00143909],270,true,true], + ["Land_HBarrier_3_F",[18.7593,9.75757,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[9.20264,21.2849,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[15.9546,18.7849,-0.00143909],225,true,true], + ["Land_HBarrier_Big_F",[22.4077,16.1892,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[0.70459,21.283,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[25.7827,11.0642,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[4.57764,19.0466,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[4.57764,16.1716,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[11.3843,19.2634,-0.00143909],90,true,true], + ["Land_BagFence_End_F",[4.57764,14.4216,-0.00143909],90,true,true], + ["Land_BagFence_End_F",[7.68896,7.77515,-0.00143909],240,true,true], + ["Land_BagFence_End_F",[11.3843,17.5134,-0.00143909],90,true,true] +]; + +_missionLootBoxes = [ + ["B_supplyCrate_F",[1.55273,0.0065918,-0.00143957],_crateLoot,_lootCounts,0.000522983] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehiclesOrange,[-41.377,-5.40894,-0.0238895],0.00171121], + [selectRandom GMS_AIPatrolVehiclesGreen,[39.5627,-5.26709,-0.0237107],0.00169144] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + ["B_static_AA_F",[-8.31958,-28.7351,-0.0135579],359.998], + ["B_HMG_01_high_F",[-25.1523,-1.33643,-0.0135579],359.999], + ["B_HMG_01_high_F",[-23.7974,-12.0527,-0.0135579],359.998], + ["B_static_AA_F",[-18.7363,-10.283,-0.0135579],359.998] + // ["B_HMG_01_high_F",[-21.9993,4.10132,-0.0135579],359.999], + //["B_HMG_01_high_F",[-18.2954,25.033,-0.0135579],359.999], + //["B_static_AA_F",[-0.275879,18.9167,-0.0135579],0.000433404], + //["B_HMG_01_high_F",[18.0608,-20.4434,-0.0135579],359.999], + //["B_HMG_01_high_F",[5.96338,-3.91113,-0.0135593],286.946] +]; + +_missionGroups = [ + //[[-2.42578,-9.81299,0],3,3,"Red",30,45], + //[[-16.3196,-3.59033,0],3,3,"Red",30,45], + //[[-4.65015,-0.520264,0],3,3,"Red",30,45], + //[[-7.48169,-14.3093,0],3,3,"Orange",30,45], + //[[-5.94653,-0.124756,0],3,3,"Orange",30,45], + //[[20.2122,-6.24878,0],3,3,"Orange",30,45], + //[[20.0557,6.34253,0],3,3,"Orange",30,45], + [[15.1677,-10.6943,0],2,3,"Orange",30,45], + // [[2.0083,-14.293,-4.76837e-007],2,3,"Orange",30,45], + [[1.84692,-7.56616,-4.76837e-007],2,3,"Orange",30,45], + [[2.71069,-14.7263,-4.76837e-007],2,3,"Orange",30,45], + [[2.50513,-13.1191,0],2,3,"Orange",30,45], + [[13.8992,11.4729,0],2,3,"Orange",30,45], + // [[3.75098,11.2024,0],2,3,"Orange",30,45], + [[18.3645,19.8477,0],2,3,"Orange",30,45], + [[3.17798,26.7761,0],2,3,"Orange",30,45] +]; + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/Ammunition_depot.sqf b/@GMS/addons/GMS/Missions/Red/Ammunition_depot.sqf new file mode 100644 index 0000000..3c5a882 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/Ammunition_depot.sqf @@ -0,0 +1,163 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "An Anemy Ammunition Depot was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Ammunition depot at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[200,200],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Ammunition Depot"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_MilOffices_V1_F",[0.936035,53.2339,-0.00146103],0.0551743,true,true,[["B_HMG_01_high_F",[-14.6453,4.44092,0.48988],0.00164355],["B_HMG_01_high_F",[16.2224,2.84473,0.48988],0.00164314],["B_HMG_01_high_F",[16.2043,-18.5793,-0.0121188],360],["B_HMG_01_high_F",[19.0071,-25.5498,-0.0121188],360]],[]] +]; + + + +_missionLandscape = [ + //["babe_helper",[-3584.79,-2745.02,-0.00146103],0,true,true], + //["Sign_Arrow_Green_F",[-3582.29,-2745.52,-0.00146103],0,true,true], + //["Sign_Arrow_F",[-3582.29,-2745.52,-0.00146103],0,true,true], + //["Sign_Arrow_Yellow_F",[-3582.29,-2745.52,-0.00146103],0,true,true], + ["Land_dp_smallTank_F",[-23.4897,0.757568,-0.00146103],315.055,true,true], + ["Land_HBarrier_Big_F",[-30.251,0.998047,-0.00146103],90.6364,true,true], + ["Land_HBarrier_Big_F",[-30.0261,-4.99609,-0.00146103],88.8324,true,true], + ["Land_HBarrier_Big_F",[-24.3879,-7.97534,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[-15.9822,-8.03101,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[-7.62939,-8.03394,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[-30.4287,8.68091,-0.00146103],90.6364,true,true], + ["Land_HBarrier_Big_F",[-30.5715,17.0325,-0.00146103],90.6364,true,true], + ["Land_HBarrier_Big_F",[-30.8035,33.8059,-0.00146103],90.6364,true,true], + ["Land_HBarrier_Big_F",[-30.7122,25.4006,-0.00146103],90.6364,true,true], + ["Land_i_Barracks_V1_F",[-21.0911,25.2551,-0.00146103],270.055,true,true], + ["Land_LampHalogen_F",[-30.0498,68.0146,-0.00146055],240.055,true,true], + ["Land_Medevac_house_V1_F",[-25.7917,63.0088,-0.00146103],359.798,true,true], + ["Land_Medevac_house_V1_F",[-25.821,54.4678,-0.00146103],179.534,true,true], + ["Land_Tank_rust_F",[-26.2607,48.0527,-0.00146103],180.055,true,true], + ["Land_HBarrier_Big_F",[-26.0667,70.3225,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[-0.915771,70.2883,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[-9.30811,70.2639,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[-17.6609,70.2668,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[-30.9465,42.1575,-0.00146103],90.6364,true,true], + ["Land_HBarrier_Big_F",[-31.3367,67.2683,-0.00146103],90.6364,true,true], + ["Land_HBarrier_Big_F",[-31.1025,50.5112,-0.00146103],90.6364,true,true], + ["Land_HBarrier_Big_F",[-31.1938,58.9167,-0.00146103],90.6364,true,true], + ["Land_LampHalogen_F",[12.158,-7.74023,-0.00146055],90.0552,true,true], + ["Land_HBarrier_Big_F",[17.4336,-8.0415,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[25.7888,-8.03149,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[0.675049,-7.98291,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[9.08105,-8.03857,-0.00146103],181.637,true,true], + ["Land_HelipadSquare_F",[31.1362,2.08008,-0.00146103],180.086,true,true], + ["Land_BagFence_Long_F",[23.658,6.82251,-0.00146103],90.0552,true,true], + ["Land_BagFence_Long_F",[14.4004,5.9585,-0.00146103],90.0552,true,true], + ["Land_i_Shed_Ind_F",[0.762939,3.73413,-0.00146103],179.98,true,true], + ["Land_PortableLight_double_F",[19.6589,24.5911,-0.00146103],240.055,true,true], + ["Land_BagFence_Round_F",[13.7778,8.4668,-0.00146103],225.055,true,true], + ["Land_BagFence_Round_F",[24.2874,9.32739,-0.00146103],135.055,true,true], + ["Land_CncWall4_F",[19.353,37.1301,-0.00146103],269.856,true,true], + ["Land_CncWall4_F",[19.3921,31.9155,-0.00146103],269.856,true,true], + ["Land_BagFence_Long_F",[11.2759,9.09644,-0.00146103],180.055,true,true], + ["Land_BagFence_Long_F",[26.7832,9.94385,-0.00146103],0.0551743,true,true], + ["Land_LampHalogen_F",[19.0601,40.1711,-0.00146055],315.055,true,true], + ["Land_HBarrier_Big_F",[15.8428,70.2297,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[7.49023,70.2327,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[24.198,70.2397,-0.00146103],181.637,true,true], + ["Land_CncWall4_F",[22.377,40.0833,-0.00146103],0,true,true], + ["Land_CncWall4_F",[27.5962,40.116,-0.00146103],0,true,true], + ["Land_LampHalogen_F",[45.8774,-7.93433,-0.00146055],60.0552,true,true], + ["Land_LampHalogen_F",[45.5952,6.93604,-0.00146055],180.055,true,true], + ["Land_Tank_rust_F",[43.6697,0.581299,-0.00146103],90.0552,true,true], + ["Land_HBarrier_Big_F",[42.5474,-8.09009,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[47.6099,-4.77002,-0.00146103],90.055,true,true], + ["Land_HBarrier_Big_F",[34.1946,-8.08716,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[47.4333,3.63403,-0.00146103],90.055,true,true], + ["Land_BagFence_Round_F",[53.0293,5.18921,-0.00146103],315.055,true,true], + ["Land_BagFence_Long_F",[50.5286,4.56616,-0.00146103],180.055,true,true], + ["Land_BagFence_Long_F",[39.7786,6.70166,-0.00146103],90.0552,true,true], + ["Land_Wall_IndCnc_Pole_F",[46.9377,21.1001,-0.00146103],90.0552,true,true], + ["Land_Shed_Big_F",[31.9468,31.2043,-0.00146151],89.7488,true,true], + ["Land_HBarrier_Big_F",[46.9426,33.5571,-0.00146103],90.055,true,true], + ["Land_HBarrier_Big_F",[47.1191,25.1531,-0.00146103],90.055,true,true], + ["Land_BagFence_Round_F",[39.1563,9.17456,-0.00146103],225.055,true,true], + ["Land_BagFence_Round_F",[53.0469,24.4275,-0.00146103],225.055,true,true], + ["Land_BagFence_Long_F",[36.6648,9.80176,-0.00146103],180.055,true,true], + ["Land_BagFence_Long_F",[53.6729,21.9277,-0.00146103],90.0552,true,true], + ["Land_BagFence_Long_F",[50.5496,25.0559,-0.00146103],180.055,true,true], + ["Land_BagFence_Long_F",[53.6707,7.68921,-0.00146103],270.055,true,true], + ["Land_BarGate_F",[47.6548,14.5193,-0.00146103],90.0552,true,true], + ["Land_LampHalogen_F",[44.5273,41.2136,-0.00146055],60.0552,true,true], + ["Land_HBarrier_Big_F",[46.7148,41.9067,-0.00146103],90.055,true,true], + ["Land_HBarrier_Big_F",[46.2976,58.6626,-0.00146103],90.055,true,true], + ["Land_HBarrier_Big_F",[32.6038,70.1841,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[40.9565,70.1812,-0.00146103],181.637,true,true], + ["Land_HBarrier_Big_F",[46.0698,67.0122,-0.00146103],90.055,true,true], + ["Land_HBarrier_Big_F",[46.4741,50.2585,-0.00146103],90.055,true,true], + ["Land_CncWall4_F",[37.9797,40.1345,-0.00146103],0,true,true], + ["Land_CncWall4_F",[32.7908,40.125,-0.00146103],0,true,true], + ["Land_CncWall4_F",[43.1743,40.1436,-0.00146103],0,true,true], + ["Land_TTowerBig_1_F",[33.9404,56.3271,-0.00146103],0.0551743,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + //[selectRandom GMS_AIPatrolVehicles,[-51.5793,28.9631,0.00801468],179.03], + //[selectRandom GMS_AIPatrolVehicles,[9.30664,88.3091,0.00802708],89.9029], + [selectRandom GMS_AIPatrolVehiclesRed,[72.2974,6.63599,0.00802183],0.00106337] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/Camp_Moreell.sqf b/@GMS/addons/GMS/Missions/Red/Camp_Moreell.sqf new file mode 100644 index 0000000..78fc65c --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/Camp_Moreell.sqf @@ -0,0 +1,146 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "Enemy Camp Moreell was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Camp Moreell at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[200,200],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Camp Moreell"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V3_F",[-3.45557,32.6038,-0.00143814],163.034,true,true,[["O_HMG_01_high_F",[-1.75244,0.382568,4.33092],0.00157772]],[]], + ["Land_Cargo_HQ_V3_F",[1.5835,1.53711,-0.00143814],90.021,true,true,[["O_HMG_01_high_F",[-4.53003,1.89331,3.1134],270.551],["O_Mortar_01_F",[0.884277,-5.92041,3.1624],178.341],["O_GMG_01_high_F",[-11.2842,-8.48218,-0.0118098],221.694],["O_HMG_01_high_F",[-12.6897,-6.82007,-0.0121179],236.126],["O_GMG_01_high_F",[10.885,-11.4487,-0.0118084],147.658],["O_GMG_01_high_F",[19.3098,-6.53003,-0.0118093],147.655]],[]], + ["Land_Cargo_Patrol_V3_F",[10.9478,34.4741,-0.00143814],195.395,true,true,[["O_HMG_01_high_F",[1.41943,0.690674,4.33092],359.999]],[]] +]; + + + +_missionLandscape = [ + ["Land_HBarrier_Big_F",[-14.1831,0.348877,-0.00143862],54.7855,true,true], + ["Land_HBarrier_1_F",[-7.70728,-8.24048,-0.00143862],295.873,true,true], + ["Land_BagFence_Long_F",[-11.6091,-6.83057,-0.00143862],45.3947,true,true], + ["Land_BagFence_Round_F",[-12.8318,-4.68042,-0.00143862],90.3947,true,true], + ["Land_BagFence_Round_F",[-9.44946,-8.13599,-0.00143862],0.394724,true,true], + ["Land_Cargo_House_V3_F",[-11.8579,27.8225,-0.00143862],341.505,true,true], + ["CamoNet_OPFOR_open_F",[-14.8772,18.198,-0.00143862],90.3947,true,true], + ["Land_HBarrier_Big_F",[-24.5461,25.9207,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[-7.8335,30.6655,-0.00143862],255.395,true,true], + ["Land_HBarrier_Big_F",[-24.0242,10.8638,-0.00143862],165.395,true,true], + ["Land_HBarrier_Big_F",[-18.0986,7.95679,-0.00143862],255.395,true,true], + ["Land_HBarrier_Big_F",[-19.7212,22.9065,-0.00143862],90.3947,true,true], + ["Land_HBarrier_Big_F",[-31.6633,25.0271,-0.00143862],150.395,true,true], + ["Land_HBarrier_Big_F",[-12.3518,34.6216,-0.00143862],345.395,true,true], + ["Land_HBarrier_Big_F",[-17.9399,30.3276,-0.00143862],300.395,true,true], + ["Land_HBarrier_Big_F",[-19.3733,16.4546,-0.00143862],90.3947,true,true], + ["Land_HBarrier_1_F",[-32.8965,12.5454,-0.00143862],42.5069,true,true], + ["Land_HBarrier_1_F",[-30.3511,10.0146,-0.00143862],42.5069,true,true], + ["CamoNet_OPFOR_big_F",[-27.2468,18.4834,-0.00143862],75.3947,true,true], + ["Land_BagFence_Round_F",[-33.3694,10.7087,-0.00143862],87.5069,true,true], + ["Land_BagFence_Round_F",[-31.8938,9.28491,-0.00143862],357.507,true,true], + ["Land_HBarrier_5_F",[9.15552,-4.91626,-0.00143862],269.593,true,true], + ["Land_HBarrier_5_F",[9.13477,0.585938,-0.00143862],269.593,true,true], + ["Land_Cargo_House_V3_F",[25.2329,2.59155,-0.00143862],105.395,true,true], + ["Land_HBarrier_Big_F",[-2.57373,-8.99463,-0.00143862],180.395,true,true], + ["Land_HBarrier_Big_F",[26.4961,-2.62256,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[5.79712,-8.80371,-0.00143862],180.395,true,true], + ["Land_HBarrier_1_F",[14.0208,-8.50757,-0.00143862],334.157,true,true], + ["Land_HBarrier_1_F",[22.1511,-3.42603,-0.00143862],324.626,true,true], + ["Land_HBarrier_1_F",[19.1423,-5.3833,-0.00143862],324.626,true,true], + ["Land_HBarrier_1_F",[10.7295,-9.9397,-0.00143862],334.157,true,true], + ["Land_BagFence_Round_F",[22.5408,-5.08765,-0.00143862],279.626,true,true], + ["Land_BagFence_Round_F",[20.8389,-6.23145,-0.00143862],9.62595,true,true], + ["Land_BagFence_Round_F",[14.1299,-10.2107,-0.00143862],289.157,true,true], + ["Land_BagFence_Round_F",[12.262,-11.0569,-0.00143862],19.157,true,true], + ["Land_HBarrier_5_F",[7.05835,9.52783,-0.00143862],181.048,true,true], + ["Land_HBarrier_5_F",[26.3564,29.2161,-0.00143862],195.395,true,true], + ["Land_HBarrier_5_F",[9.08203,5.92139,-0.00143862],269.593,true,true], + ["Land_HBarrier_Big_F",[18.55,34.8018,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[1.32568,35.1333,-0.00143862],255.395,true,true], + ["Land_HBarrier_Big_F",[7.22388,36.5254,-0.00143862],285.395,true,true], + ["Land_HBarrier_Big_F",[-4.35571,36.8228,-0.00143862],345.395,true,true], + ["Land_HBarrier_Big_F",[7.04761,30.9424,-0.00143862],195.395,true,true], + ["Land_BagFence_Long_F",[24.1768,15.7207,-0.00143862],105.395,true,true], + ["Land_BagFence_Long_F",[22.7461,10.5283,-0.00143862],285.395,true,true], + ["Land_HBarrier_3_F",[25.4558,17.1135,-0.00143862],195.395,true,true], + ["Land_HBarrier_3_F",[22.7898,29.1609,-0.00143862],285.395,true,true], + ["Land_HBarrier_3_F",[23.3201,8.88696,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[12.9075,38.3318,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[30.9158,1.41919,-0.00143862],105.395,true,true], + ["Land_HBarrier_5_F",[29.5054,24.8923,-0.00143862],269.593,true,true], + ["Land_HBarrier_5_F",[29.5303,19.5947,-0.00143862],269.593,true,true], + ["CamoNet_OPFOR_open_F",[28.1597,12.0786,-0.00143862],195.395,true,true], + ["Land_HBarrier_Big_F",[31.4031,16.592,-0.00143862],0.394724,true,true], + ["Land_HBarrier_Big_F",[28.876,7.35913,-0.00143862],195.395,true,true], + ["Land_HBarrier_1_F",[33.3733,10.5449,-0.00143862],15.3947,true,true], + ["Land_HBarrier_1_F",[27.9988,12.1958,-0.00143862],195.395,true,true], + ["Land_BagFence_Long_F",[32.6428,9.11694,-0.00143862],285.395,true,true], + ["Land_BagFence_Long_F",[28.4683,13.8879,-0.00143862],105.395,true,true], + ["Land_HBarrier_3_F",[29.9619,29.1274,-0.00143862],105.395,true,true], + ["Land_HBarrier_3_F",[34.8462,14.4836,-0.00143862],90.3947,true,true], + ["Land_BagBunker_Large_F",[27.696,35.6018,-0.00143862],195.395,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + ["O_LSV_02_armed_F",[34.9805,-28.0225,-0.0376697],359.999] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + +]; + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/IDAP.sqf b/@GMS/addons/GMS/Missions/Red/IDAP.sqf new file mode 100644 index 0000000..b0ae39b --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/IDAP.sqf @@ -0,0 +1,121 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "A IDAP HQ was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The IDAP HQ at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[200,200],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "IDAP"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V3_F",[-24.0081,2.26978,-0.00143814],126.833,true,true,[["B_G_HMG_02_high_F",[-0.0534668,1.83252,4.38749],311.417]],[]], + ["Land_Cargo_Patrol_V3_F",[-5.29565,-28.9109,-0.00143814],1.92,true,true,[["B_G_HMG_02_high_F",[1.3645,-1.13159,4.38749],184.956]],[]], + ["Land_Cargo_HQ_V3_F",[-0.00732422,-3.21069,-0.00143814],270.541,true,true,[["B_G_HMG_02_high_F",[1.68311,6.03589,3.16996],360]],[]] +]; + + +_missionLandscape = [ + ["Land_Sign_WarningMilitaryArea_F",[-7.08057,-34.5996,-0.00143862],2.31973,true,true], + ["Land_CncShelter_F",[-11.4443,-31.9636,-0.00143862],0,true,true], + ["Land_CncShelter_F",[-11.4595,-33.4424,-0.00143862],0,true,true], + ["Land_HBarrier_Big_F",[-13.7441,-29.9917,-0.00143862],270.667,true,true], + ["Land_HBarrier_Big_F",[-28.533,-12.366,-0.00143862],92.486,true,true], + ["Land_HBarrier_Big_F",[-25.606,-19.6677,-0.00143862],223.764,true,true], + ["Land_HBarrier_Big_F",[-18.7449,-24.3645,-0.00143862],29.6621,true,true], + ["Land_HBarrier_Big_F",[-9.21753,-20.6865,-0.00143862],92.486,true,true], + ["Land_HBarrier_Big_F",[-9.28906,-28.9602,-0.00143862],92.486,true,true], + ["CamoNet_OPFOR_big_F",[-21.7307,-10.7373,1.64043],272.913,true,true], + ["Land_Cargo_House_V3_F",[-13.5071,0.647949,-0.00143862],0.832826,true,true], + ["Land_HBarrier_Big_F",[-8.40747,-6.52612,-0.00143862],269.796,true,true], + ["Land_HBarrier_Big_F",[-20.4199,6.59521,-0.00143862],180.674,true,true], + ["Land_HBarrier_Big_F",[-11.9136,6.71753,-0.00143862],180.674,true,true], + ["Land_HBarrier_Big_F",[-28.7576,-3.9104,-0.00143862],269.796,true,true], + ["Land_HBarrier_Big_F",[-8.60986,1.66675,-0.00143862],269.796,true,true], + ["Land_HBarrier_Big_F",[-26.3406,3.49731,-0.00143862],305.711,true,true], + ["CamoNet_OPFOR_F",[5.36572,-16.136,0.610557],90.0482,true,true], + ["Land_HBarrier_Big_F",[0.511719,-24.9692,-0.00143862],2.055,true,true], + ["Land_HBarrier_Big_F",[6.54102,-21.916,-0.00143862],307.294,true,true], + ["Land_HBarrier_Big_F",[-1.5127,-29.9829,-0.00143862],270.667,true,true], + ["Land_HBarrier_Big_F",[8.75342,-14.7712,-0.00143862],269.796,true,true], + ["Land_HBarrier_Big_F",[-6.03955,-33.3083,-0.00143862],2.055,true,true], + ["Land_HBarrier_5_F",[-5.41772,-20.895,-0.00143862],2.05508,true,true], + ["Land_HBarrier_Big_F",[8.23633,2.08301,-0.00143862],269.796,true,true], + ["Land_HBarrier_Big_F",[-3.49609,6.90259,-0.00143862],180.674,true,true], + ["Land_HBarrier_Big_F",[8.43506,-6.2915,-0.00143862],269.796,true,true], + ["Land_HBarrier_Big_F",[4.94263,6.96313,-0.00143862],180.674,true,true], + ["CargoNet_01_barrels_F",[-22.2239,-18.2131,-0.00143814],0.000125958,true,true], + ["CargoNet_01_barrels_F",[6.12988,-10.5715,-0.00143862],0.000316873,true,true], + ["CargoNet_01_barrels_F",[4.43457,-19.3284,-0.00143862],3.40987e-006,true,true] +]; + +_missionLootBoxes = [ + ["B_supplyCrate_F",[5.36572,-16.136,0.610557],_crateLoot,_lootCounts,0.000320471] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehiclesRed,[3.04663,-40.3821,0.00804186],262.322] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + +]; + +_missionGroups = [ + //[[-19.4963,-14.0864,4.76837e-007],3,6,"Red",30,45], + //[[-14.4426,-4.01489,4.76837e-007],3,6,"Red",30,45], + //[[-1.97192,-13.9941,4.76837e-007],3,6,"Red",30,45] +]; + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal Red mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/Operations_Command.sqf b/@GMS/addons/GMS/Missions/Red/Operations_Command.sqf new file mode 100644 index 0000000..af2443d --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/Operations_Command.sqf @@ -0,0 +1,175 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "An Operations Command was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Operations Command at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Operations Command"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V3_F",[-26.1375,13.395,-0.00143862],104.247,true,true,[["O_HMG_01_high_F",[-1.16919,-1.02051,4.33092],359.999]],[]], + ["Land_Cargo_Tower_V3_F",[0.0512695,-43.2329,-0.00143909],1.37485,true,true,[["O_HMG_01_high_F",[-11.6333,3.14819,-0.0121188],360],["O_Mortar_01_F",[-3.08325,4.21802,17.9254],0.000187431],["O_GMG_01_high_F",[-3.21069,-3.16113,17.8767],360],["O_GMG_01_high_F",[4.70557,-0.741943,17.8767],360]],[]], + ["Land_Cargo_Patrol_V3_F",[-22.3018,-36.6943,-0.00143862],16.3749,true,true,[["O_HMG_01_high_F",[-1.44019,-0.544922,4.33092],0.000570454],["O_HMG_01_high_F",[-6.95337,5.57886,-0.0121193],359.998]],[]], + ["Land_Cargo_HQ_V3_F",[0.157227,3.02832,-0.00143862],91.3748,true,true,[["O_Mortar_01_F",[1.9917,1.24707,3.16241],359.999],["O_HMG_01_high_F",[-4.22266,1.80176,3.1134],359.999],["O_HMG_01_high_F",[3.10205,-5.8584,3.1134],359.999],["O_HMG_01_high_F",[-6.48584,7.63452,-0.0121193],359.998],["O_HMG_01_high_F",[9.13306,15.3284,-0.0121193],359.998]],[]], + ["Land_Cargo_Tower_V3_F",[-16.1003,25.6072,-0.00143909],181.375,true,true,[["O_HMG_01_high_F",[3.25903,3.35229,17.8764],359.997],["O_GMG_01_high_F",[-4.9707,0.915771,17.8767],359.995]],[]], + ["Land_Cargo_Patrol_V3_F",[21.9438,-2.25854,-0.00143862],269.918,true,true,[["O_GMG_01_high_F",[1.11499,0.921387,4.33123],360]],[]], + ["Land_Cargo_House_V3_F",[7.7749,-26.0698,-0.00143909],1.37485,true,true,[["O_HMG_01_high_F",[2.2688,8.65552,-0.0121188],360]],[]] +]; + + + +_missionLandscape = [ + ["CamoNet_OPFOR_open_F",[-31.8352,-29.0081,-0.00143909],235.13,true,true], + ["CamoNet_OPFOR_open_F",[-43.8352,-16.6941,-0.00143909],181.375,true,true], + ["Land_HBarrier_Big_F",[-37.4087,-8.59814,-0.00143909],286.375,true,true], + ["Land_HBarrier_Big_F",[-29.3643,-37.0271,-0.00143909],37.1575,true,true], + ["Land_HBarrier_Big_F",[-35.4788,-31.5889,-0.00143909],50.6964,true,true], + ["Land_HBarrier_Big_F",[-38.9624,-25.2727,-0.00143909],255.154,true,true], + ["Land_BagBunker_Large_F",[-43.364,-16.4709,-0.00143909],91.3748,true,true], + ["Land_HBarrier_Big_F",[-34.405,-1.28906,-0.00143909],301.375,true,true], + ["Land_HBarrier_Big_F",[-29.0862,14.3416,-0.00143909],286.375,true,true], + ["Land_HBarrier_Big_F",[-31.1816,6.38184,-0.00143909],286.375,true,true], + ["Land_LampHalogen_F",[-29.8584,2.74854,-0.00143862],256.375,true,true], + ["Land_HBarrierWall_corridor_F",[-16.1533,-40.845,-0.00143909],106.375,true,true], + ["Land_HBarrier_Big_F",[-10.9395,-43.5535,-0.00143909],13.6286,true,true], + ["Land_HBarrier_Big_F",[-3.8855,-44.2878,-0.00143909],0.866833,true,true], + ["Land_HBarrier_Big_F",[-22.3318,-40.6543,-0.00143909],200.888,true,true], + ["Land_HBarrier_Big_F",[4.41016,-44.2852,-0.00143909],0.866833,true,true], + ["Land_HBarrier_5_F",[2.9043,-17.4326,-0.00143909],271.375,true,true], + ["Land_HBarrier_5_F",[-5.53174,-9.47681,-0.00143909],181.375,true,true], + ["Land_Cargo_House_V3_F",[-1.97241,-25.8367,-0.00143909],1.37485,true,true], + ["Land_HBarrier_Big_F",[-9.21558,-15.051,-0.00143909],271.375,true,true], + ["Land_HBarrier_Big_F",[-5.97168,-20.2385,-0.00143909],181.375,true,true], + ["Land_HBarrier_Big_F",[2.51318,-20.2158,-0.00143909],181.375,true,true], + ["Land_HBarrier_3_F",[2.83398,-22.9663,-0.00143909],91.3748,true,true], + ["Land_HBarrier_3_F",[2.75586,-26.2246,-0.00143909],91.3748,true,true], + ["Land_HBarrier_3_F",[2.94287,-10.5574,-0.00143909],271.375,true,true], + ["Land_HBarrier_3_F",[0.964355,-9.63477,-0.00143909],1.37485,true,true], + ["Land_HBarrier_3_F",[-6.09448,-25.2507,-0.00143909],271.375,true,true], + ["Land_HBarrier_3_F",[1.72021,-27.6951,-0.00143909],1.37485,true,true], + ["Land_HBarrier_3_F",[-6.02515,-22.2542,-0.00143909],271.375,true,true], + ["Land_HBarrier_3_F",[4.84912,-27.7708,-0.00143909],1.37485,true,true], + ["Land_HBarrier_3_F",[-5.15039,-27.5239,-0.00143909],1.37485,true,true], + ["Land_HelipadCircle_F",[-22.2104,-10.7046,-0.00143909],90.8075,true,true], + ["Land_TTowerBig_2_F",[-3.03882,-15.5251,-0.00143909],1.37485,true,true], + ["Land_HBarrier_5_F",[-24.4253,17.3018,-0.00143909],194.949,true,true], + ["Land_HBarrier_5_F",[-12.988,7.96045,-0.00143909],181.375,true,true], + ["Land_HBarrier_5_F",[-26.457,9.23633,-0.00143909],16.5662,true,true], + ["Land_Cargo_House_V3_F",[-15.2529,3.47607,-0.00143909],91.3748,true,true], + ["Land_HBarrier_Big_F",[-5.96069,14.4766,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[2.22437,14.509,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[-9.21826,9.43896,-0.00143909],271.375,true,true], + ["Land_HBarrier_Big_F",[-9.23389,1.12988,-0.00143909],271.375,true,true], + ["Land_HBarrier_Big_F",[-9.2439,-6.94019,-0.00143909],271.375,true,true], + ["Land_HBarrier_Big_F",[-26.9719,22.2693,-0.00143909],286.375,true,true], + ["Land_HBarrier_3_F",[-10.071,23.9849,-0.00143909],91.3748,true,true], + ["Land_HBarrier_Big_F",[-14.6584,26.7698,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[-22.5229,26.7314,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[-6.28784,26.8616,-0.00143909],1.375,true,true], + ["Land_HBarrier_Big_F",[1.70752,25.8137,-0.00143909],16.375,true,true], + ["CamoNet_OPFOR_open_F",[13.4675,-46.5574,-0.00143909],256.375,true,true], + ["Land_BagBunker_Large_F",[13.6731,-46.6125,-0.00143909],346.375,true,true], + ["Land_HBarrier_Big_F",[25.0122,-8.42798,-0.00143909],89.245,true,true], + ["Land_HBarrier_Big_F",[20.2207,-26.6072,-0.00143909],346.375,true,true], + ["Land_HBarrier_Big_F",[10.3425,-20.1804,-0.00143909],181.375,true,true], + ["Land_HBarrier_Big_F",[13.3196,-15.1829,-0.00143909],91.375,true,true], + ["Land_HBarrier_Big_F",[25.2847,-22.1433,-0.00143909],89.8961,true,true], + ["Land_HBarrier_Big_F",[15.2939,-23.981,-0.00143909],61.375,true,true], + ["Land_HBarrier_Big_F",[17.6921,-30.4187,-0.00143909],261.124,true,true], + ["Land_HBarrier_Big_F",[18.2314,-37.9956,-0.00143909],275.055,true,true], + ["Land_HBarrier_1_F",[26.3027,-13.0132,-0.00143909],224.245,true,true], + ["Land_HBarrier_1_F",[26.3459,-17.553,-0.00143909],134.896,true,true], + ["Land_HBarrier_3_F",[24.4424,-13.2629,-0.00143909],179.245,true,true], + ["Land_HBarrier_3_F",[23.5449,-11.0381,-0.00143909],89.245,true,true], + ["Land_HBarrier_3_F",[23.5166,-19.6731,-0.00143909],269.896,true,true], + ["Land_HBarrier_3_F",[24.4841,-17.4751,-0.00143909],359.896,true,true], + ["Land_HBarrier_3_F",[26.4421,-11.2278,-0.00143909],89.245,true,true], + ["Land_HBarrier_3_F",[26.521,-19.3137,-0.00143909],269.896,true,true], + ["Land_Tank_rust_F",[17.9231,-22.1641,-0.00143909],238.726,true,true], + ["Land_LampHalogen_F",[25.1262,-18.7678,-0.00143862],151.326,true,true], + ["Land_LampHalogen_F",[25.188,-11.5505,-0.00143862],241.375,true,true], + ["Land_HBarrierWall_corridor_F",[8.88965,13.3088,-0.00143909],76.3748,true,true], + ["Land_HBarrierWall_corridor_F",[11.9426,4.98389,-0.00143909],1.37485,true,true], + ["Land_HBarrierWall_corridor_F",[14.0635,10.1843,-0.00143909],331.375,true,true], + ["CamoNet_OPFOR_open_F",[16.8806,13.8459,-0.00143909],46.3748,true,true], + ["Land_HBarrierWall4_F",[12.9727,17.2073,-0.00143909],301.375,true,true], + ["Land_HBarrierWall4_F",[13.927,14.678,-0.00143909],241.375,true,true], + ["Land_HBarrier_Big_F",[24.7051,-0.242188,-0.00143909],89.245,true,true], + ["Land_HBarrier_Big_F",[8.90503,22.6189,-0.00143909],33.6192,true,true], + ["Land_HBarrier_Big_F",[13.2727,-6.86401,-0.00143909],91.375,true,true], + ["Land_HBarrier_Big_F",[24.3503,8.13452,-0.00143909],89.245,true,true], + ["Land_HBarrier_Big_F",[13.3027,-0.90332,-0.00143909],91.375,true,true], + ["Land_BagBunker_Small_F",[20.2654,17.5417,-0.00143909],226.375,true,true], + ["Land_LampHalogen_F",[10.6421,2.27686,-0.00143862],241.375,true,true], + ["Land_LampHalogen_F",[11.4541,10.5645,-0.00143862],136.375,true,true], + ["Land_HBarrierWall_corner_F",[21.3845,12.748,-0.00143909],46.3748,true,true], + ["Land_HBarrierWall_corner_F",[15.5208,19.1467,-0.00143909],346.375,true,true], + ["Land_HBarrierWall_corner_F",[18.5425,9.32104,-0.00143909],136.375,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + ["O_LSV_02_unarmed_F",[-53.4402,-44.895,-0.037971],359.999], + ["O_LSV_02_armed_F",[7.56689,40.9209,-0.0379591],359.999], + ["O_LSV_02_armed_F",[38.9788,-44.417,-0.0373936],359.999] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +_chanceLoot = 0.7; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/Outpost.sqf b/@GMS/addons/GMS/Missions/Red/Outpost.sqf new file mode 100644 index 0000000..77f9da6 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/Outpost.sqf @@ -0,0 +1,144 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "An Anemy Outpost was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Outpost at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[200,200],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Outpost"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V3_F",[-25.0786,-7.48535,-0.00143814],91.041,true,true,[["B_HMG_01_high_F",[-1.1084,-1.16431,4.33092],0.000110027]],[]], + ["Land_Cargo_Patrol_V3_F",[-12.2451,10.7849,-0.00143814],181.041,true,true,[["B_HMG_01_high_F",[-1.25928,1.22339,4.33092],0.00719478],["B_HMG_01_high_F",[3.44727,7.05835,-0.0121179],0.0015095],["B_HMG_01_high_F",[12.4185,7.21094,-0.0121183],0.00126386]],[]], + ["Land_Cargo_Patrol_V3_F",[24.0273,-12.3459,-0.00143814],269.838,true,true,[["B_HMG_01_high_F",[1.03076,-1.20874,4.33092],359.999],["B_HMG_01_high_F",[-11.6992,1.96533,-0.0121193],0.00189448]],[]], + ["Land_Cargo_HQ_V3_F",[6.30029,-0.909424,-0.00143814],270.038,true,true,[["B_HMG_01_high_F",[4.31299,-1.39307,3.70484],47.4694],["B_HMG_01_high_F",[-9.66064,-15.759,-0.0121193],0.00274103]],[]] +]; + + + +_missionLandscape = [ + //["Sign_Arrow_F",[-5049.41,-2726.72,-0.00143862],0,true,true], + //["Sign_Arrow_Green_F",[-5049.41,-2726.72,-0.00143862],0,true,true], + //["Sign_Arrow_Yellow_F",[-5049.41,-2726.72,-0.00143862],0,true,true], + //["babe_helper",[-5051.91,-2726.22,-0.00143862],78.6345,true,true], + ["Land_HBarrier_Big_F",[-28.8394,-8.42627,-0.00143862],91.041,true,true], + ["Land_CncShelter_F",[-10.0513,-26.2283,-0.00143862],0.0913576,true,true], + ["Land_HBarrierWall6_F",[0.581543,-12.7048,-0.00143862],91.041,true,true], + ["Land_HBarrierWall6_F",[-19.6943,-14.0881,-0.00143862],271.041,true,true], + ["Land_HBarrierWall6_F",[-5.04932,-19.8594,-0.00143862],181.041,true,true], + ["Land_HBarrier_Big_F",[-25.6514,-11.7356,-0.00143862],181.041,true,true], + ["Land_BagFence_Round_F",[-3.4668,-15.3809,-0.00143862],166.041,true,true], + ["Land_BagFence_Round_F",[-14.3892,-29.0183,-0.00143862],31.041,true,true], + ["Land_BagFence_Round_F",[-7.70801,-28.5588,-0.00143862],46.041,true,true], + ["Land_BagFence_Round_F",[-14.9326,-26.8369,-0.00143862],121.041,true,true], + ["Land_BagFence_Round_F",[-12.2075,-28.4763,-0.00143862],301.041,true,true], + ["Land_BagFence_Round_F",[-4.56348,-17.2019,-0.00143862],76.041,true,true], + ["Land_BagFence_Round_F",[-5.41797,-26.3496,-0.00143862],226.041,true,true], + ["Land_BagFence_Round_F",[-5.45801,-28.5986,-0.00143862],316.041,true,true], + ["Land_HBarrierWall_corridor_F",[-10.1372,-24.7649,-0.00143862],271.041,true,true], + ["Land_HBarrierWall4_F",[-13.7993,-19.9495,-0.00143862],181.041,true,true], + ["Land_HBarrierWall_corner_F",[-19.2007,-20,-0.00143862],181.041,true,true], + ["Land_HBarrierWall_corner_F",[0.711426,-19.4619,-0.00143862],91.041,true,true], + ["Land_LampShabby_F",[-19.8394,5.67236,-0.00143862],136.041,true,true], + ["Land_CncShelter_F",[-5.49072,10.4077,-0.00143862],181.041,true,true], + ["Land_HBarrierWall6_F",[-19.7158,-1.58594,-0.00143862],271.041,true,true], + ["Land_HBarrier_Big_F",[-25.4941,-3.23608,-0.00143862],1.04101,true,true], + ["Land_HBarrier_Big_F",[-12.9121,14.7922,-0.00143862],181.041,true,true], + ["Land_HBarrier_Big_F",[-16.2207,11.6028,-0.00143862],271.041,true,true], + ["Land_HBarrier_Big_F",[-7.72217,11.448,-0.00143862],91.041,true,true], + ["Land_HelipadSquare_F",[-9.93359,-5.85596,-0.00143862],0.362537,true,true], + ["Land_BagFence_Round_F",[-9.72363,18.6138,-0.00143862],136.041,true,true], + ["Land_BagFence_Round_F",[0.90918,18.9221,-0.00143862],226.041,true,true], + ["Land_BagFence_Round_F",[-7.59863,18.5762,-0.00143862],226.041,true,true], + ["Land_BagFence_Round_F",[-1.21631,18.9595,-0.00143862],136.041,true,true], + ["Land_BagFence_Long_F",[-7.02197,15.9382,-0.00143862],91.041,true,true], + ["Land_BagFence_Long_F",[1.48633,16.2864,-0.00143862],91.041,true,true], + ["Land_BagFence_Long_F",[-1.88379,16.5967,-0.00143862],91.041,true,true], + ["Land_BagFence_Long_F",[-10.3921,16.2498,-0.00143862],91.041,true,true], + ["Land_HBarrierWall_corridor_F",[-1.52295,8.83716,-0.00143862],181.041,true,true], + ["Land_HBarrierWall4_F",[3.81348,13.4924,-0.00143862],1.04101,true,true], + ["Land_HBarrierWall4_F",[-6.83154,5.68286,-0.00143862],1.04101,true,true], + ["Land_HBarrierWall4_F",[-16.5835,5.60962,-0.00143862],1.04101,true,true], + ["Land_HBarrierWall_corner_F",[-19.8418,5.16846,-0.00143862],271.041,true,true], + ["Land_HBarrierWall_corner_F",[-0.694824,13.0745,-0.00143862],271.041,true,true], + ["Land_LampShabby_F",[9.37598,-10.3596,-0.00143862],1.04101,true,true], + ["Land_HBarrierWall6_F",[7.20605,-19.8293,-0.00143862],181.041,true,true], + ["Land_HBarrierWall6_F",[6.87402,-10.5664,-0.00143862],181.041,true,true], + ["Land_HBarrier_Big_F",[24.5322,-16.5854,-0.00143862],179.838,true,true], + ["Land_HBarrier_Big_F",[24.5107,-8.08472,-0.00143862],359.838,true,true], + ["Land_HBarrier_Big_F",[27.7676,-11.3262,-0.00143862],269.838,true,true], + ["Land_BagFence_Round_F",[13.2651,-9.68359,-0.00143862],226.041,true,true], + ["Land_BagFence_Round_F",[11.1396,-9.64404,-0.00143862],136.041,true,true], + ["Land_HBarrierWall4_F",[13.9541,-19.9521,-0.00143862],181.041,true,true], + ["Land_Cargo_House_V3_F",[7.46289,-15.906,-0.00143862],271.041,true,true], + ["Land_HBarrierWall_corner_F",[18.2109,-19.53,-0.00143862],91.041,true,true], + ["Land_LampShabby_F",[18.0684,13.9841,-0.00143862],226.041,true,true], + ["Land_HBarrierWall6_F",[17.8833,3.73438,-0.00143862],91.041,true,true], + ["Land_HBarrierWall6_F",[17.9854,-4.51611,-0.00143862],91.041,true,true], + ["Land_HBarrierWall6_F",[10.5679,13.6208,-0.00143862],1.04101,true,true], + ["Land_HBarrierWall4_F",[17.7358,9.23999,-0.00143862],91.041,true,true], + ["Land_HBarrierWall_corner_F",[17.3179,13.7493,-0.00143862],1.04101,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehiclesRed,[35.8379,4.96387,0.00813246],0.00104452] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/Service_point.sqf b/@GMS/addons/GMS/Missions/Red/Service_point.sqf new file mode 100644 index 0000000..99067e7 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/Service_point.sqf @@ -0,0 +1,139 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "A Service Point was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Service Point at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[200,200],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Service Point"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V1_F",[-19.2107,-30.5151,-0.00143814],0,true,true,[["B_G_HMG_02_high_F",[1.16187,-1.16968,4.38749],177.998],["B_G_HMG_02_high_F",[-2.16211,13.6677,0.0444469],95.0891]],[]], + ["Land_Cargo_Patrol_V1_F",[-0.0581055,-30.4399,-0.00143814],0,true,true,[["B_G_HMG_02_high_F",[-1.44629,-1.22632,4.38749],184.401]],[]] +]; + +_missionLandscape = [ + ["Land_RoadBarrier_01_F",[-9.31006,-35.3601,-0.00143862],0,true,true], + ["Land_Sign_WarningMilitaryArea_F",[-2.61255,-36.5635,-0.00143862],359.892,true,true], + ["Land_HBarrierBig_F",[-24.6367,-14.2813,-0.00143862],271.204,true,true], + ["Land_HBarrierBig_F",[-18.7668,-25.9514,-0.00143862],0.792412,true,true], + ["Land_HBarrierBig_F",[-24.3547,-22.8525,-0.00143862],269.27,true,true], + ["Land_HBarrierBig_F",[-24.0122,-31.4038,-0.00143862],269.27,true,true], + ["Land_HBarrierBig_F",[-18.7783,-34.6914,-0.00143862],0.792412,true,true], + ["Land_PaperBox_closed_F",[-21.1392,-13.5237,-0.00143862],0,true,true], + ["CamoNet_INDP_open_F",[-20.3684,-17.9075,-0.00143862],93.326,true,true], + ["Land_Device_assembled_F",[-4.73267,4.11304,-0.00143862],0,true,true], + ["Land_Cargo_House_V1_F",[-12.1433,1.5144,-0.00143862],359.944,true,true], + ["Land_Cargo_House_V1_F",[-18.6406,-5.72363,-0.00143862],270.169,true,true], + ["Land_HBarrierBig_F",[-13.1831,7.9502,-0.00143862],181.375,true,true], + ["Land_HBarrierBig_F",[-24.7129,-5.87695,-0.00143862],271.204,true,true], + ["Land_HBarrierBig_F",[-4.71753,8.1543,-0.00143862],181.375,true,true], + ["Land_HBarrierBig_F",[-24.738,2.64307,-0.00143862],271.568,true,true], + ["Land_HBarrierBig_F",[-21.6355,7.85986,-0.00143862],181.375,true,true], + ["CargoPlaftorm_01_green_F",[-19.5588,2.55005,-0.00143862],0,true,true], + ["Land_HBarrierBig_F",[-0.253174,-26.094,-0.00143862],0.792412,true,true], + ["Land_HBarrierBig_F",[13.2122,-14.0542,-0.00143862],270.301,true,true], + ["Land_HBarrierBig_F",[8.23169,-25.9136,-0.00143862],359.697,true,true], + ["Land_HBarrierBig_F",[-0.206543,-34.8694,-0.00143862],359.697,true,true], + ["Land_HBarrierBig_F",[13.2056,-22.5811,-0.00143862],271.956,true,true], + ["Land_HBarrierBig_F",[4.76733,-31.5369,-0.00143862],271.956,true,true], + ["Land_BagFence_Long_F",[15.9219,-12.9792,-0.00143862],359.93,true,true], + ["Land_PaperBox_closed_F",[2.95581,-21.4031,-0.00143862],327.535,true,true], + ["Land_PaperBox_closed_F",[9.46167,-21.7529,-0.00143862],88.9779,true,true], + ["Land_BagFence_Corner_F",[17.7617,-12.5837,-0.00143862],89.1122,true,true], + ["Land_MedicalTent_01_wdl_generic_outer_F",[6.18726,-18.9663,-0.00143862],90.6678,true,true], + ["Land_BagFence_Short_F",[18.0669,-11.1177,-0.00143862],270.301,true,true], + ["Land_Cargo_House_V1_F",[18.2529,0.919678,-0.00143862],359.944,true,true], + ["Land_RoadBarrier_01_F",[13.8696,-5.63843,-0.00143862],89.9252,true,true], + ["Land_HBarrierBig_F",[13.0317,2.95288,-0.00143862],271.956,true,true], + ["Land_HBarrierBig_F",[3.65161,8.21143,-0.00143862],181.375,true,true], + ["Land_HBarrierBig_F",[9.88525,8.16089,-0.00143862],181.89,true,true], + // + ["B_Slingload_01_Repair_F",[-34.0637,-5.31909,-0.00143814],286.86,true,true], + ["B_Slingload_01_Ammo_F",[-33.7891,1.13989,-0.00143719],1.26154,true,true], + ["CargoNet_01_barrels_F",[-20.8491,-21.4822,-0.00143909],326.531,true,true], + ["Land_Pod_Heli_Transport_04_fuel_F",[-19.8706,2.42847,7.17512],360,true,true], + ["CargoNet_01_barrels_F",[-7.34326,5.33838,-0.00143862],36,true,true], + ["B_Slingload_01_Cargo_F",[-28.2134,-3.27197,-0.00143862],347.458,true,true], + ["B_Slingload_01_Ammo_F",[-1.96753,20.9294,-0.00143814],13.8038,true,true], + ["B_Slingload_01_Fuel_F",[-4.57788,15.0125,-0.00143862],307.628,true,true], + ["CargoNet_01_barrels_F",[5.34155,-21.6731,0.269362],13.203,true,true], + ["B_Slingload_01_Repair_F",[2.70557,16.3206,-0.00143814],299.402,true,true], + ["CargoNet_01_barrels_F",[2.15674,5.51074,-0.00143957],326.531,true,true], + ["B_Slingload_01_Cargo_F",[8.86084,17.0483,-0.00143862],360,true,true], + ["Land_RepairDepot_01_green_F",[5.00415,1.97778,-0.000936985],180.302,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + // ["B_G_Offroad_01_armed_F",[-8.93213,-44.4866,0.00822115],273.053], + [selectRandom GMS_AIPatrolVehiclesRed,[16.876,-5.17969,0.00825357],294.284] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + //["B_G_HMG_02_high_F",[-21.3728,-16.8474,0.0430088],95.0891], + //["B_G_HMG_02_high_F",[16.0146,-12.0088,0.043014],89.3354] +]; + +_missionGroups = [ + //[[-18.5681,-19.4417,4.76837e-007],3,6,"Red",30,45], + //[[-9.15723,-30.8086,4.76837e-007],3,6,"Red",30,45], + //[[7.19946,-18.9819,4.76837e-007],3,6,"Red",30,45], + //[[3.74561,-8.16309,4.76837e-007],3,6,"Red",30,45] +]; + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal Red mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/Toxin.sqf b/@GMS/addons/GMS/Missions/Red/Toxin.sqf new file mode 100644 index 0000000..d8a38e8 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/Toxin.sqf @@ -0,0 +1,143 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "A Toxin Center was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Toxin Center at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[225,225],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Toxin Center"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Research_HQ_F",[-6.71143,10.6191,-0.00143909],179.046,true,true,[["B_GMG_01_high_F",[2.39746,3.8103,3.11371],360]],[]], + ["Land_Research_HQ_F",[11.5024,-2.94189,-0.00143909],89.179,true,true,[["B_Mortar_01_F",[0.713867,-5.21362,3.1624],360],["B_HMG_01_high_F",[-7.5625,-20.228,-0.0121174],180.433]],[]] +]; + +_missionLandscape = [ + ["Land_Mil_WiredFence_F",[-9.75415,-20.865,-0.00143909],359.2,true,true], + ["Land_Mil_WiredFence_F",[-21.4592,-9.60181,-0.00143909],89.3037,true,true], + ["Land_Mil_WiredFence_F",[-17.6565,-20.9314,-0.00143909],359.2,true,true], + ["Land_Mil_WiredFence_F",[-21.3225,-17.4338,-0.00143909],89.3037,true,true], + ["Land_Mil_WiredFence_F",[-21.4573,-1.78149,-0.00143909],89.3037,true,true], + ["Land_Device_assembled_F",[-12.4314,0.409668,-0.00143909],0,true,true], + ["Land_Sign_WarningMilitaryArea_F",[-7.7229,-21.8035,-0.00143909],359.892,true,true], + ["Land_Sign_WarningMilitaryArea_F",[4.04224,-21.6248,-0.00143909],359.892,true,true], + ["Land_HBarrierBig_F",[-17.3535,-2.16992,-0.00143909],271.204,true,true], + ["Land_HBarrierBig_F",[-17.0715,-10.7412,-0.00143909],269.27,true,true], + ["Land_HBarrierBig_F",[-11.4836,-13.8401,-0.00143909],0.792412,true,true], + ["Land_BagFence_Long_F",[-7.15112,-24.29,-0.00143909],0.556939,true,true], + ["Land_BagFence_Long_F",[3.73877,-24.3738,-0.00143909],180.252,true,true], + ["Land_PaperBox_closed_F",[-14.3025,-3.37964,-0.00143909],327.535,true,true], + ["Land_BagFence_Corner_F",[-9.23682,-24.0522,-0.00143909],177.869,true,true], + ["Land_BagFence_Corner_F",[5.64087,-23.9683,-0.00143909],90.5438,true,true], + ["Land_BagFence_Short_F",[-9.64136,-22.7109,-0.00143909],268.498,true,true], + ["Land_Mil_WiredFenceD_F",[-21.8179,13.9368,-0.00143909],89.5986,true,true], + ["Land_Mil_WiredFence_F",[5.21021,25.5369,-0.00143909],179.508,true,true], + ["Land_Mil_WiredFence_F",[-21.8245,21.7146,-0.00143909],89.3037,true,true], + ["Land_Mil_WiredFence_F",[-18.2957,25.3298,-0.00143909],179.508,true,true], + ["Land_Mil_WiredFence_F",[-2.63354,25.4646,-0.00143909],179.508,true,true], + ["Land_Mil_WiredFence_F",[-10.4656,25.3845,-0.00143909],179.508,true,true], + ["Land_Mil_WiredFence_F",[-21.5764,6.02905,-0.00143909],89.3037,true,true], + ["Land_HBarrierBig_F",[-14.3523,19.9712,-0.00143909],181.375,true,true], + ["Land_HBarrierBig_F",[-1.87573,20.2095,-0.00143909],181.375,true,true], + ["Land_HBarrierBig_F",[-17.4297,6.23438,-0.00143909],271.204,true,true], + ["Land_HBarrierBig_F",[2.31177,20.2192,-0.00143909],181.375,true,true], + ["Land_HBarrierBig_F",[-17.4548,14.7544,-0.00143909],271.568,true,true], + ["Land_Mil_WiredFence_F",[5.88647,-20.7947,-0.00143909],359.2,true,true], + ["Land_Mil_WiredFence_F",[25.0657,-17.1169,-0.00143909],269.14,true,true], + ["Land_Mil_WiredFence_F",[21.5857,-20.6306,-0.00143909],0.102386,true,true], + ["Land_Mil_WiredFence_F",[24.927,-9.29077,-0.00143909],269.14,true,true], + ["Land_Mil_WiredFence_F",[13.738,-20.6443,-0.00143909],0.102386,true,true], + ["Land_Mil_WiredFence_F",[24.8528,-1.49976,-0.00143909],269.14,true,true], + ["Land_HBarrierBig_F",[20.4888,-10.4697,-0.00143909],271.956,true,true], + ["Land_HBarrierBig_F",[20.4954,-1.94287,-0.00143909],270.301,true,true], + ["Land_HBarrierBig_F",[7.03003,-13.9827,-0.00143909],0.792412,true,true], + ["Land_HBarrierBig_F",[15.5149,-13.8022,-0.00143909],359.697,true,true], + ["Land_BagFence_Short_F",[5.89844,-22.4365,-0.00143909],268.498,true,true], + ["Land_Mil_WiredFence_F",[13.0396,25.6086,-0.00143909],179.508,true,true], + ["Land_Mil_WiredFence_F",[20.884,25.658,-0.00143909],179.508,true,true], + ["Land_Mil_WiredFence_F",[24.5051,22.0549,-0.00143909],269.14,true,true], + ["Land_Mil_WiredFence_F",[24.6458,14.1819,-0.00143909],269.14,true,true], + ["Land_Mil_WiredFence_F",[24.7532,6.3479,-0.00143909],269.14,true,true], + ["Land_HBarrierBig_F",[20.4177,4.55054,-0.00143909],271.054,true,true], + ["Land_HBarrierBig_F",[10.9348,20.3228,-0.00143909],181.375,true,true], + ["Land_HBarrierBig_F",[17.1685,20.2722,-0.00143909],181.89,true,true], + ["Land_HBarrierBig_F",[20.3484,15.8003,-0.00143909],271.956,true,true], + ["Land_Research_house_V1_F",[14.592,14.5435,-0.00143909],0,true,true], + // + ["CargoNet_01_barrels_F",[-13.5122,-10.8784,-0.00144005],0.00034241,true,true], + ["CargoNet_01_barrels_F",[-13.6389,-8.33862,-0.00143957],326.531,true,true], + ["CargoNet_01_barrels_F",[9.43994,17.6221,-0.00143957],326.531,true,true] + //["B_Slingload_01_Fuel_F",[29.73,4.14917,-0.00143909],156.234,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + //["B_T_LSV_01_armed_F",[-2.67554,-31.7471,-0.0237646],87.6435], + [selectRandom GMS_AIPatrolVehiclesRed,[-5.24243,34.4316,-0.023603],270.757] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + //["B_HMG_01_high_F",[3.93994,-23.1699,-0.0135565],180.433], + //["B_HMG_01_high_F",[-7.9519,-23.1421,-0.0135584],180.433] +]; + +_missionGroups = [ + //[[-1.2981,-19.1914,0],3,6,"Red",30,45], + //[[6.48682,10.343,0],3,6,"Red",30,45] +]; + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal Red mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/TraderBoss.sqf b/@GMS/addons/GMS/Missions/Red/TraderBoss.sqf new file mode 100644 index 0000000..b94792a --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/TraderBoss.sqf @@ -0,0 +1,52 @@ +/* +Mission Compositions by Ghostrider [GRG] for ghostridergaming +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "A Hostile Merchant was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Sector at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[200,200],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Merchant"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AAF_F",[4,4,0],0,[false,false]], + ["Land_CargoBox_V1_F",[6.20117,5.71289,0],0,[false,false]], + ["Land_CargoBox_V1_F",[17.7207,-2.66406,0],0,[false,false]], + ["Land_Cargo40_white_F",[0.720703,-19.6641,0],202.528,[false,false]], + ["Land_Cargo20_blue_F",[-12.2793,-15.6641,0],29.7373,[false,false]], + ["FlexibleTank_01_forest_F",[0.720703,3.33594,0],0,[false,false]], + ["Land_PlasticCase_01_large_F",[-6.2793,1.33594,0],0,[false,false]], + ["Land_Bench_04_F",[3.7207,-3.66406,0],0,[false,false]], + ["Land_Metal_wooden_rack_F",[9.7207,0.335938,0],0,[false,false]], + ["Land_StallWater_F",[-12.2793,-5.66406,0],0,[false,false]], + ["Land_Sacks_heap_F",[-5.2793,-12.6641,0],0,[false,false]], + ["Land_Sacks_goods_F",[-12.623,4.42578,0],0,[false,false]], + ["Land_Sack_F",[-15.2793,-0.664063,0],0,[false,false]], + ["Land_CratesWooden_F",[3.7207,-10.6641,0],0,[false,false]], + ["Land_CratesWooden_F",[10.7207,-7.66406,0],0,[false,false]], + ["Land_CratesShabby_F",[-3.2793,10.3359,0],0,[false,false]], + ["Land_Cages_F",[5.7207,15.3359,0],0,[false,false]], + ["Land_Slum_House03_F",[-23.2793,-8.66406,0],0,[true,true]], + ["Land_Slum_House01_F",[-11.2793,15.3359,0],0,[true,true]], + ["Land_cargo_house_slum_F",[13.7207,9.33594,0],0,[true,true]], + ["Land_Chapel_Small_V2_F",[21.7207,-14.6641,0],0,[true,true]], + ["Land_GuardHouse_01_F",[6.7207,25.3359,0],0,[true,true]], + ["Land_u_House_Small_01_V1_F",[35.7207,2.33594,0],0,[true,true]], + ["Land_u_House_Small_02_V1_F",[-28.2793,12.3359,0],0,[true,true]] +]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/captive1.sqf b/@GMS/addons/GMS/Missions/Red/captive1.sqf new file mode 100644 index 0000000..408501b --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/captive1.sqf @@ -0,0 +1,131 @@ +/* + Mission Template by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default2"; + +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "A local Enemy Leader's Camp has been spotted! Capture him and earn a reward!"; +_endMsg = "The Leader was captured ! A reward has been sent by survivors"; +_assetKilledMsg = "The Leader Was Killed and Bandits Fled with All Loot: Mission Aborted"; +_markerLabel = ""; +_markerType = ["ellipse",[175,175],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Capture Leader"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AAF_F",[-1.44531,-21.2148,0],0,[true,false]], + ["Land_u_Barracks_V2_F",[-3.79102,2.56055,0],0,[true,false]], + ["Land_BagBunker_Small_F",[33.8457,18.2461,0],51.9209,[true,false]], + ["Land_BagBunker_Small_F",[-30.4336,22.9043,0],321.242,[true,false]], + ["Land_BagBunker_Small_F",[-35.3164,-29.9648,0],237.265,[true,false]], + ["Land_BagBunker_Small_F",[37.4551,-29.8672,0],128.253,[true,false]], + ["Land_BagBunker_Large_F",[-30.4082,-6.65039,0],180,[true,false]], + ["Land_BagBunker_Large_F",[-2.81836,19.4668,0],0,[true,false]], + ["Land_BagBunker_Large_F",[-2.14063,-18.4355,0],0,[true,false]], + ["Land_BagBunker_Large_F",[26.1328,-10.252,0],0,[true,false]], + ["Land_HBarrier_Big_F",[-19.707,30.0078,0],0,[true,false]], + ["Land_HBarrier_Big_F",[-11.0742,30.209,0],0,[true,false]], + ["Land_HBarrier_Big_F",[18.541,31.125,0],0,[true,false]], + ["Land_HBarrier_Big_F",[0.0703125,30.6699,0],0,[true,false]], + ["Land_HBarrier_Big_F",[8.79102,31.0273,0],0,[true,false]], + ["Land_HBarrier_Big_F",[-19.0938,-36.0176,0],0,[true,false]], + ["Land_HBarrier_Big_F",[-10.4609,-35.8164,0],0,[true,false]], + ["Land_HBarrier_Big_F",[19.1543,-34.9004,0],0,[true,false]], + ["Land_HBarrier_Big_F",[0.683594,-35.3555,0],0,[true,false]], + ["Land_HBarrier_Big_F",[9.4043,-34.998,0],0,[true,false]], + ["Land_HBarrier_Big_F",[-47.6211,19.666,0],91.713,[true,false]], + ["Land_HBarrier_Big_F",[-47.6777,11.0313,0],91.713,[true,false]], + ["Land_HBarrier_Big_F",[-47.6465,-18.5977,0],91.713,[true,false]], + ["Land_HBarrier_Big_F",[-47.5508,-0.123047,0],91.713,[true,false]], + ["Land_HBarrier_Big_F",[-47.4531,-8.84961,0],91.713,[true,false]], + ["Land_HBarrier_Big_F",[47.5098,-22.1211,0],270.496,[true,false]], + ["Land_HBarrier_Big_F",[47.3848,-13.4863,0],270.496,[true,false]], + ["Land_HBarrier_Big_F",[46.7246,16.1348,0],270.496,[true,false]], + ["Land_HBarrier_Big_F",[47.0195,-2.33789,0],270.496,[true,false]], + ["Land_HBarrier_Big_F",[46.7363,6.38477,0],270.496,[true,false]], + ["Land_ChairPlastic_F",[-6.06445,10.7129,0],185.284,[true,false]], + ["Land_CampingChair_V2_F",[0.222656,8.24219,0],0,[true,false]], + ["Campfire_burning_F",[0.591797,9.47266,0],0,[true,false]], + ["Land_HBarrier_3_F",[-10.3887,10.209,0],88.6077,[true,false]], + ["Land_HBarrier_3_F",[8.12109,10.4063,0],88.6077,[true,false]], + ["Land_HBarrier_3_F",[8.17383,13.5781,0],88.6077,[true,false]], + ["Land_HBarrier_3_F",[8.11914,16.957,0.0400085],88.6077,[true,false]] + ]; // list of objects to spawn as landscape; // list of objects to spawn as landscape + +_enemyLeaderConfig = + ["I_G_resistanceLeader_F",[-7.83789,13.1465,-0.00143886],126.345,[true,false], + ["Acts_B_briefings"], // Use the animation viewer to see other choices: http://killzonekid.com/arma-3-animation-viewer-jumping-animation/ + ["H_Beret_Colonel"], // array of headgear choices + ["U_OrestesBody"] // array of uniform choices + ]; +_enemyLeaderConfig set[ + 1, selectRandom [[-7.83789,13.1465,-0.00143886]] + ]; + // This allows us to place the antagonist to be arrested in one of several random locations. +_missionLootBoxes = [ + //["Box_NATO_Wps_F",[3,-3,0],_crateLoot,[4,10,2,5,5,1]], // Standard loot crate with standard loadout + //["Land_PaperBox_C_EPOCH",[-4,-3,0],_crateLoot,[0,0,0,10,10,3]], // No Weapons, Magazines, or optics; 10 each construction supplies and food/drink items, 3 backpacks + //["Land_CargoBox_V1_F",[3,4,0],_crateLoot,[0,10,2,5,5,1]] + ]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. + + // GMS_lootCountsBlue= [4,12,3,6,6,1]; +_missionLootVehicles = [ + //["I_G_Offroad_01_armed_F",[-8,8,0],_crateLoot,[0,10,2,5,5,1]], + //["I_G_Offroad_01_armed_F",[8,17,0],_crateLoot,[0,10,2,5,5,1]] + ]; // Parameters are "vehiclel type", offset relative to mission center, loot array, items to load from each category of the loot array. + // ["B_HMG_01_high_F"/*,"B_GMG_01_high_F","O_static_AT_F"*/]; + + /* + ["B_G_Soldier_AR_F",[-19.5156,25.2598,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[-27.7676,-24.5508,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[32.4883,-23.4609,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[36.6914,12.1836,-0.00143886],0,[true,false]] + */ +_missionGroups = + [ + //_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"]; + [[-19.5156,25.2598,-0.00143886],3,3,"Red",10,20], + [[-27.7676,-24.5508,-0.00143886],3,3,"Red",10,20], + [[32.4883,-23.4609,-0.00143886],3,3,"Red",10,20], + [[36.6914,12.1836,-0.00143886],3,3,"Red",10,20] + ]; // Can be used to define spawn positions of AI patrols + +_missionEmplacedWeapons = [ + //["B_HMG_01_high_F",[-10,-15,0]], + //["B_GMG_01_high_F",[10,12,0]], + //["O_static_AT_F",[-10,10,0]] + ]; // can be used to define the type and precise placement of static weapons [["wep",[1,2,3]] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used + +_missionPatrolVehicles = [ + //["B_MRAP_01_hmg_F",[27.8945,100.275,0],0,[true,false]], + //["B_MRAP_01_hmg_F",[-84.7793,72.2617,9.53674e-007],0,[true,false]], + //["B_MRAP_01_gmg_F",[-87.8457,-109.947,7.15256e-007],0,[true,false]] +]; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; +//_chancePara = GMS_chanceParaRed; +//_noPara = GMS_noParaRed; +//_chanceHeliPatrol = GMS_chanceHeliPatrolRed; +_spawnCratesTiming = "atMissionEndAir"; +_endCondition = assetSecured; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear, assetSecured +//_timeOut = -1; +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/carThieves.sqf b/@GMS/addons/GMS/Missions/Red/carThieves.sqf new file mode 100644 index 0000000..9f9d0af --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/carThieves.sqf @@ -0,0 +1,72 @@ +/* +Mission Compositions by Ghostrider [GRG] for ghostridergaming +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "Car thieves were sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Sector at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[200,200],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Thieves"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AAF_F",[4,4,0],0,[false,false]], + ["Land_i_Garage_V2_F",[3.875,-30.1152,0],252.899,[true,true]], + ["Land_i_Garage_V2_F",[-17.2246,28.0176,-0.00298452],65.4825,[true,true]], + ["Land_i_House_Big_02_V2_F",[30.9844,14.6074,-2.38419e-007],77.0403,[true,true]], + ["Land_i_House_Big_01_V3_F",[-42.3359,-7.80469,2.38419e-007],343.548,[true,true]], + ["Land_Wreck_Truck_F",[48.3457,-1.48242,0],0,[false,false]], + ["Land_Wreck_Car2_F",[34.3457,-12.3398,2.38419e-007],0,[false,false]], + ["Land_Wreck_Car3_F",[23.7402,-24.3887,0],0,[false,false]], + ["Land_Wreck_Hunter_F",[21.4395,-35.9492,2.38419e-007],0,[false,false]], + ["Land_Wreck_Van_F",[14.5645,21.1934,-0.000167847],0,[false,false]], + ["Land_Wreck_Offroad_F",[12.6328,29.0918,0.000607967],0,[false,false]], + ["Land_Wreck_Offroad2_F",[-0.875,27.1035,0.00187802],0,[false,false]], + ["Land_Wreck_UAZ_F",[-24.3984,22.4688,-0.000131845],0,[false,false]], + ["Land_Wreck_Ural_F",[-31.2441,18.7832,-1.90735e-006],0,[false,false]], + ["Land_Wreck_Truck_dropside_F",[-35.7227,7.54883,2.38419e-007],0,[false,false]], + ["Land_Wreck_Heli_Attack_01_F",[-34.1113,27.1094,0.00630307],0,[false,false]], + ["Land_Wreck_Heli_Attack_01_F",[-5.27734,-35.4395,2.38419e-007],0,[false,false]], + ["Land_Wreck_Heli_Attack_02_F",[-15.1113,-41.4531,0],0,[false,false]], + ["Land_UWreck_Heli_Attack_02_F",[-24.7617,-27.7559,0],0,[false,false]], + ["Land_HistoricalPlaneDebris_04_F",[-15.4902,-27.8711,0],0,[false,false]], + ["Land_HistoricalPlaneDebris_03_F",[-42.4453,13.793,0],0,[false,false]], + ["Land_HistoricalPlaneDebris_02_F",[35.041,-24.9219,0],0,[false,false]], + ["Land_HistoricalPlaneDebris_01_F",[42.6582,-17.5762,0],0,[false,false]], + ["Land_Wreck_Slammer_hull_F",[25.1035,30.7656,0.00311899],0,[false,false]], + ["Land_Wreck_Slammer_F",[-5.16797,38.9414,0.0154414],0,[false,false]], + ["Land_CargoBox_V1_F",[-9.66406,-16.6582,0],0,[false,false]], + ["Land_Cargo40_blue_F",[6.50195,-19.627,0],154.788,[false,false]], + ["Land_Cargo40_blue_F",[-7.36914,-23.0078,0],0,[false,false]], + ["Land_Cargo40_blue_F",[-19.6152,-18.0742,0],41.2042,[false,false]], + ["Land_CncBarrier_F",[-6.70508,9.58203,0],141.162,[false,false]], + ["Land_CncBarrierMedium4_F",[4.69141,12.666,0],0,[false,false]], + //["Land_CncBarrierMedium4_F",[-11.3613,5.03516,0],136.997,[false,false]], + ["Land_CncBarrierMedium4_F",[-17.4824,-0.664063,0],136.997,[false,false]], + ["Land_CncBarrierMedium4_F",[-22.625,-7.21289,0],301.167,[false,false]] + +]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +#ifdef GMS_useCUP +_uniforms = GMS_CUPUniforms; +_weaponList = GMS_CUPWeapons; +_vests = GMS_CUPVests; +_backpacs = GMS_CUPBackpacks; +_headgear = GMS_CUPHeadgear; +#endif + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/charlston.sqf b/@GMS/addons/GMS/Missions/Red/charlston.sqf new file mode 100644 index 0000000..8bfa360 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/charlston.sqf @@ -0,0 +1,187 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "Camp Charlston is being built by the enemy in a nearby sector."; +_endMsg = "Camp Charleston is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[200,200],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Camp Charleston"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V1_F",[4.47693,-36.1753,-0.00143862],0,true,true,[["B_HMG_01_high_F",[1.09753,-0.78125,4.33092],182.337],["B_HMG_01_high_F",[-8.18188,3.96289,-0.0121179],270.389],["B_HMG_01_high_F",[11.7308,-7.875,-0.0121193],181.165]],[]], + ["Land_Cargo_Tower_V1_F",[6.56189,-19.98,-0.00143909],180,true,true,[["B_HMG_01_high_F",[12.7545,4.6084,-0.0121183],225.183],["B_HMG_01_high_F",[-4.78821,0.935547,17.8764],270.571],["B_HMG_01_high_F",[3.17285,4.91357,17.7788],0.00164279]],[]], + ["Land_Cargo_HQ_V1_F",[2.97693,0.074707,-0.00143862],180,true,true,[["B_HMG_01_high_F",[-5.3407,0.772461,3.1134],181.165]],[]], + ["Land_Cargo_Patrol_V1_F",[41.4769,-36.1753,-0.00143862],0,true,true,[["B_HMG_01_high_F",[1.27466,-0.849121,4.33092],181.165],["B_HMG_01_high_F",[-7.82532,-8.49463,-0.0121193],181.165]],[]] +]; + +_missionLandscape = [ + ["Land_CncWall4_F",[-8.77258,1.07471,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-8.77258,-4.17529,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-8.77258,6.32471,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-6.52258,8.57471,-0.00143909],180,true,true], + ["Land_CncWall1_F",[-8.77258,-7.42529,-0.00143909],90,true,true], + ["Land_CncWall1_F",[-8.52258,-8.67529,-0.00143909],60,true,true], + ["Land_New_WiredFence_10m_F",[-9.77258,-4.92529,-0.00143909],90,true,true], + ["Land_New_WiredFence_10m_F",[-9.77258,5.07471,-0.00143909],90,true,true], + ["Land_LampShabby_F",[19.8737,-40.29,-0.00143909],149.832,true,true], + ["Land_BagFence_Round_F",[-4.80505,-33.3926,-0.00143909],45.9826,true,true], + ["Land_BagFence_Round_F",[14.8495,-44.9292,-0.00143909],45,true,true], + ["Land_BagFence_Round_F",[-4.76855,-31.2666,-0.00143909],135.983,true,true], + ["Land_BagFence_Round_F",[14.599,-41.1792,-0.00143909],120,true,true], + ["Land_BagFence_Long_F",[11.2294,-22.6245,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[12.6,-24.3042,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[11.224,-25.6792,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[-2.69324,-34.1782,-0.00143909],180.983,true,true], + ["Land_BagFence_Long_F",[17.1,-45.6792,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[18.4745,-44.1792,-0.00143909],90,true,true], + ["Land_CncBarrier_F",[19.975,-35.6792,-0.00143909],270,true,true], + ["Land_PortableLight_double_F",[7.0155,-26.8413,-0.00143909],270,true,true], + ["Land_CncWall4_F",[4.47742,-22.6753,-0.00143909],90,true,true], + ["Land_CncWall4_F",[1.22742,-35.1753,-0.00143909],90,true,true], + ["Land_CncWall4_F",[3.47742,-37.4253,-0.00143909],0,true,true], + ["Land_CncWall1_F",[1.47742,-31.9253,-0.00143909],105,true,true], + ["Land_CncWall1_F",[7.97742,-36.6753,-0.00143909],330,true,true], + ["Land_CncWall1_F",[6.72742,-37.1753,-0.00143909],345,true,true], + ["Land_CncWall1_F",[5.31714,-26.9092,-0.00143909],75,true,true], + ["Land_CncWall1_F",[4.80066,-25.6685,-0.00143909],60,true,true], + ["Land_BagFence_End_F",[15.9755,-40.3042,-0.00143909],0,true,true], + ["Land_BagFence_End_F",[-1.75403,-30.4434,-0.00143909],330.983,true,true], + ["Land_BagFence_End_F",[18.8319,-42.6753,-0.00143909],330,true,true], + ["Land_BagFence_End_F",[-0.797119,-32.9614,-0.00143909],300.983,true,true], + ["Land_New_WiredFence_10m_F",[4.97937,-39.5308,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[14.7274,-39.4253,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[0.272339,-34.5835,-0.00143909],90,true,true], + ["Land_BagFence_Corner_F",[-1.31201,-33.8271,-0.00143909],90.9826,true,true], + ["Land_BarGate_F",[24.7274,-41.9253,-0.00143909],0,true,true], + ["Land_Mil_WiredFence_Gate_F",[24.7274,-39.6675,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_Dam_F",[0.227417,-24.6753,-0.00143909],90,true,true], + ["Land_BagFence_Short_F",[-2.88318,-30.6743,-0.00143909],180.983,true,true], + ["Land_BagFence_Short_F",[14.224,-43.0542,-0.00143909],270,true,true], + ["Land_Mil_WallBig_4m_F",[25.6038,-18.8174,-0.00143909],270,true,true], + ["Land_BagFence_Round_F",[18.3368,-16.3926,-0.00143909],45,true,true], + ["Land_BagFence_Long_F",[11.349,-18.1792,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[12.7245,-16.8042,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[11.349,-15.4312,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[20.8373,-17.0176,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-0.272583,-9.17529,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-5.64758,-9.17529,-0.00143909],0,true,true], + ["Land_CncWall4_F",[5.10242,-9.17529,-0.00143909],0,true,true], + ["Land_CncWall4_F",[3.97742,8.57471,-0.00143909],180,true,true], + ["Land_CncWall4_F",[4.47742,-17.4253,-0.00143909],90,true,true], + ["Land_CncWall4_F",[8.72742,7.19971,-0.00143909],210,true,true], + ["Land_CncWall4_F",[-1.27258,8.57471,-0.00143909],180,true,true], + ["Land_CncWall4_F",[4.48242,-12.2109,-0.00143909],90,true,true], + ["Land_CncWall4_F",[12.7274,-3.80029,-0.00143909],270,true,true], + ["Land_CncWall4_F",[12.7274,1.44971,-0.00143909],270,true,true], + ["Land_CncWall1_F",[11.6024,-7.92529,-0.00143909],315,true,true], + ["Land_CncWall1_F",[11.6024,5.44971,-0.00143909],210,true,true], + ["Land_CncWall1_F",[12.4774,4.57471,-0.00143909],240,true,true], + ["Land_CncWall1_F",[10.6024,-8.55029,-0.00143909],345,true,true], + ["Land_CncWall1_F",[12.3524,-6.92529,-0.00143909],300,true,true], + ["Land_New_WiredFence_10m_F",[14.9774,9.57471,-0.00143909],180,true,true], + ["Land_New_WiredFence_10m_F",[4.97742,9.57471,-0.00143909],180,true,true], + ["Land_New_WiredFence_10m_F",[-5.27258,-9.42529,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[-5.02258,9.57471,-0.00143909],180,true,true], + ["Land_New_WiredFence_10m_F",[0.227417,-14.6753,-0.00143909],90,true,true], + ["Land_CncShelter_F",[8.84314,-9.19678,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_Dam_F",[24.9774,-0.050293,-0.00143909],180,true,true], + ["Land_New_WiredFence_10m_Dam_F",[19.7274,5.07471,-0.00143909],270,true,true], + ["Land_BagFence_Short_F",[17.7123,-14.3945,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[23.4019,-2.35938,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[17.7269,-11.4253,-0.00143909],270,true,true], + ["Land_Mil_WallBig_4m_F",[19.2269,-6.17529,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[20.0457,-13.5703,-0.00143909],180,true,true], + ["Land_Mil_WallBig_4m_F",[21.1479,-4.53125,-0.00143909],270,true,true], + ["Land_LampShabby_F",[29.5619,-40.2676,-0.00143909],210,true,true], + ["Land_LampShabby_F",[40.4146,-21.3286,-0.00143909],326.67,true,true], + ["Land_BagFence_Round_F",[34.9688,-45.8774,-0.00143909],315,true,true], + ["Land_BagFence_Round_F",[32.8423,-45.8774,-0.00143909],45,true,true], + ["Land_BagFence_Long_F",[35.7183,-43.7524,-0.00143909],90,true,true], + ["Land_CncBarrier_F",[29.725,-35.5542,-0.00143909],270,true,true], + ["Land_CncWall4_F",[41.7274,-38.6753,-0.00143909],0,true,true], + ["Land_CncWall4_F",[43.9774,-36.4253,-0.00143909],270,true,true], + ["Land_CncWall1_F",[38.4774,-38.4253,-0.00143909],15,true,true], + ["Land_CncWall1_F",[37.2401,-37.894,-0.00143909],30,true,true], + ["Land_CncWall1_F",[43.7274,-33.1753,-0.00143909],255,true,true], + ["Land_BagFence_End_F",[34.4688,-41.8774,-0.00143909],210,true,true], + ["Land_BagFence_End_F",[31.9678,-42.8774,-0.00143909],240,true,true], + ["Land_New_WiredFence_10m_F",[44.515,-24.8999,-0.00143909],270,true,true], + ["Land_New_WiredFence_10m_F",[34.7274,-39.1753,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[44.515,-34.6499,-0.00143909],270,true,true], + ["Land_BagFence_Corner_F",[35.3433,-42.3774,-0.00143909],0,true,true], + ["Land_New_WiredFence_5m_F",[42.2655,-39.1499,-0.00143909],0,true,true], + ["Land_BagFence_Short_F",[32.2178,-44.0024,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[39.1169,-22.2583,-0.00143909],180,true,true], + ["Land_Mil_WallBig_4m_F",[31.9081,-20.9619,-0.00143909],180,true,true], + ["Land_Mil_WallBig_4m_F",[41.4412,-20.3794,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[27.9435,-20.9658,-0.00143909],180,true,true], + ["Land_Cargo_HQ_V1_F",[33.7463,-12.4639,-0.00143862],271.492,true,true], + ["Land_New_WiredFence_10m_F",[44.4774,-4.92529,-0.00143909],270,true,true], + ["Land_New_WiredFence_10m_F",[44.4774,-14.9253,-0.00143909],270,true,true], + ["Land_New_WiredFence_10m_F",[34.9774,-0.175293,-0.00143909],180,true,true], + ["Land_New_WiredFence_5m_F",[42.4774,-0.175293,-0.00143909],180,true,true], + ["Land_Mil_WallBig_4m_F",[31.3369,-2.34375,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[41.4467,-8.47168,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[41.4458,-12.4146,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[41.4386,-16.4019,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[35.2737,-2.33789,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[41.4539,-4.48438,-0.00143909],90,true,true], + ["Land_Mil_WallBig_4m_F",[39.1295,-2.32617,-0.00143909],0,true,true], + ["Land_Mil_WallBig_4m_F",[27.3386,-2.35352,-0.00143909],0,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehicles,[21.4174,19.0781,0.00804281],90.3115], + [selectRandom GMS_AIPatrolVehicles,[27.5131,-53.1431,0.00819397],268.528] +]; + +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; +_missionGroups = []; + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +_chanceLoot = 0.6; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/dashq.sqf b/@GMS/addons/GMS/Missions/Red/dashq.sqf new file mode 100644 index 0000000..7065479 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/dashq.sqf @@ -0,0 +1,221 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "An enemy HQ center was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The HQ at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Forward Operations"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_HQ_V1_F",[-0.358154,-18.6514,-0.00143862],179.905,true,true,[["B_HMG_01_high_F",[-6.5437,1.09253,3.11855],145.121],["B_HMG_01_high_F",[-13.9094,-10.7791,-0.0121183],206.716]],[]] +]; + +_missionLandscape = [ + ["Land_PortableLight_double_F",[-42.614,-26.0178,-0.00143909],225.577,true,true], + ["Land_CncWall4_F",[-45.3523,-21.509,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-33.5913,-28.1145,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[-38.842,-28.124,-0.00143909],359.905,true,true], + ["Land_CncWall1_F",[-44.093,-26.7578,-0.00143909],44.9051,true,true], + ["Land_CncWall1_F",[-43.0923,-27.5063,-0.00143909],29.9051,true,true], + ["Land_CncWall1_F",[-45.2207,-24.6689,-0.00143909],74.9051,true,true], + ["Land_CncWall1_F",[-44.845,-25.7581,-0.00143909],59.9051,true,true], + ["Land_CncWall1_F",[-41.9668,-28.0046,-0.00143909],14.9051,true,true], + ["Land_BagBunker_01_large_green_F",[-49.7271,-16.9226,-0.00143909],90.2555,true,true], + ["Land_Cargo_Tower_V1_F",[-36.3582,-19.3394,-0.00143909],89.905,true,true], + ["Land_CncWall4_F",[-33.4968,-9.73975,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-45.3792,-5.75879,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-45.3867,-0.508789,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-45.3694,-11.0095,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-45.3955,4.74121,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-45.4041,9.99072,-0.00143909],89.9051,true,true], + ["Land_CncWall1_F",[-32.0076,1.70923,-0.00143909],74.9051,true,true], + ["Land_CncWall1_F",[-31.6313,0.61792,-0.00143909],59.9051,true,true], + ["Land_BagBunker_01_large_green_F",[-49.7959,14.4089,-0.00143909],90.2555,true,true], + ["Land_Cargo_HQ_V1_F",[-34.4014,20.1455,-0.00143862],269.491,true,true], + ["Land_CncWall4_F",[-45.4214,20.4915,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-45.4302,25.7415,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-38.8159,32.2512,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-33.5662,32.2607,-0.00143909],179.905,true,true], + ["Land_CncWall1_F",[-43.0654,31.7451,-0.00143909],149.905,true,true], + ["Land_CncWall1_F",[-41.9753,32.1199,-0.00143909],164.905,true,true], + ["Land_CncWall1_F",[-44.0635,30.9924,-0.00143909],134.905,true,true], + ["Land_CncWall1_F",[-44.8127,29.991,-0.00143909],119.905,true,true], + ["Land_CncWall1_F",[-45.3108,28.8672,-0.00143909],104.905,true,true], + ["Land_BagFence_Round_F",[-15.3367,-30.4338,-0.00143909],44.9051,true,true], + ["Land_BagFence_Round_F",[-25.8376,-30.2017,-0.00143909],314.905,true,true], + ["Land_PortableLight_double_F",[-2.30811,-29.9211,-0.00143909],44.7366,true,true], + ["Land_CncWall4_F",[-2.09229,-28.0632,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[-26.9856,-16.3538,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[-13.8528,-21.4565,-0.00143909],89.9051,true,true], + ["Land_CncWall4_F",[-26.9783,-21.6038,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[-7.34155,-28.0718,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[-13.8606,-16.2065,-0.00143909],89.9051,true,true], + ["Land_CncWall1_F",[-13.3455,-25.7068,-0.00143909],59.9051,true,true], + ["Land_CncWall1_F",[-12.593,-26.7058,-0.00143909],44.9051,true,true], + ["Land_CncWall1_F",[-27.5952,-25.8552,-0.00143909],299.905,true,true], + ["Land_CncWall1_F",[-27.0967,-24.7288,-0.00143909],284.905,true,true], + ["Land_CncWall1_F",[-13.7209,-24.6165,-0.00143909],74.9051,true,true], + ["Land_CncWall1_F",[-10.4666,-27.9514,-0.00143909],14.9051,true,true], + ["Land_CncWall1_F",[-29.3428,-27.6084,-0.00143909],329.905,true,true], + ["Land_CncWall1_F",[-30.4331,-27.9832,-0.00143909],344.905,true,true], + ["Land_CncWall1_F",[-11.592,-27.4541,-0.00143909],29.9051,true,true], + ["Land_CncWall1_F",[-28.3438,-26.855,-0.00143909],314.905,true,true], + ["Land_BagFence_Long_F",[-25.2168,-27.7002,-0.00143909],269.905,true,true], + ["Land_BagFence_Long_F",[-15.9658,-27.9348,-0.00143909],269.905,true,true], + ["Land_BagFence_Long_F",[-12.8359,-31.0559,-0.00143909],359.905,true,true], + ["Land_BagFence_Long_F",[-28.3364,-30.8318,-0.00143909],179.905,true,true], + ["Land_BagFence_Round_F",[-7.19092,10.5073,-0.00143909],44.9051,true,true], + ["Land_PortableLight_double_F",[-11.7207,0.158936,-0.00143909],135.598,true,true], + ["Land_PortableLight_double_F",[-29.4041,0.418701,-0.00143909],218.658,true,true], + ["Land_CncWall4_F",[-7.24731,-9.69678,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-20.376,-1.73682,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[-25.6274,-1.74609,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[-15.1272,-1.72925,-0.00143909],359.905,true,true], + ["Land_CncWall1_F",[-10.4058,-9.82935,-0.00143909],164.905,true,true], + ["Land_CncWall1_F",[-10.8779,-1.22144,-0.00143909],329.905,true,true], + ["Land_CncWall1_F",[-9.13086,0.531982,-0.00143909],299.905,true,true], + ["Land_CncWall1_F",[-11.4956,-10.2031,-0.00143909],149.905,true,true], + ["Land_CncWall1_F",[-8.63257,1.65747,-0.00143909],284.905,true,true], + ["Land_CncWall1_F",[-11.9688,-1.59668,-0.00143909],344.905,true,true], + ["Land_CncWall1_F",[-27.4932,-12.1047,-0.00143909],239.905,true,true], + ["Land_CncWall1_F",[-12.4951,-10.9553,-0.00143909],134.905,true,true], + ["Land_CncWall1_F",[-13.2424,-11.9563,-0.00143909],119.905,true,true], + ["Land_CncWall1_F",[-29.8777,-1.12744,-0.00143909],29.9051,true,true], + ["Land_CncWall1_F",[-9.87939,-0.470703,-0.00143909],314.905,true,true], + ["Land_CncWall1_F",[-30.3708,-9.86011,-0.00143909],194.905,true,true], + ["Land_CncWall1_F",[-30.8787,-0.378906,-0.00143909],44.9051,true,true], + ["Land_CncWall1_F",[-29.2468,-10.3582,-0.00143909],209.905,true,true], + ["Land_CncWall1_F",[-13.7417,-13.0818,-0.00143909],104.905,true,true], + ["Land_CncWall1_F",[-28.2449,-11.1069,-0.00143909],224.905,true,true], + ["Land_CncWall1_F",[-27.1179,-13.1948,-0.00143909],254.905,true,true], + ["Land_CncWall1_F",[-28.7524,-1.62573,-0.00143909],14.9051,true,true], + ["Land_BagFence_Long_F",[-7.8208,13.0066,-0.00143909],269.905,true,true], + ["Land_BagFence_Long_F",[-4.69067,9.88257,-0.00143909],359.905,true,true], + ["Land_Cargo_HQ_V1_F",[-19.8857,1.92358,-0.00143862],359.905,true,true], + ["Land_Cargo_HQ_V1_F",[-17.6404,20.1672,-0.00143862],269.491,true,true], + ["Land_HelipadSquare_F",[0.169189,17.6489,-0.00143909],359.936,true,true], + ["Land_BagFence_Round_F",[-7.21484,25.1335,-0.00143909],134.905,true,true], + ["Land_BagFence_Round_F",[-8.354,36.8232,-0.00143909],134.905,true,true], + ["Land_CncWall4_F",[-23.0659,32.2773,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-12.615,32.3005,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-17.8164,32.2856,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-7.396,32.3115,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[-2.25146,35.2305,-0.00143909],179.977,true,true], + ["Land_CncWall4_F",[-28.3167,32.269,-0.00143909],179.905,true,true], + ["Land_CncWall1_F",[-4.03638,32.6663,-0.00143909],149.461,true,true], + ["Land_BagFence_Long_F",[-4.71533,25.7625,-0.00143909],359.905,true,true], + ["Land_BagFence_Long_F",[-5.85449,37.4521,-0.00143909],359.905,true,true], + ["Land_BagFence_Long_F",[-7.83618,22.6321,-0.00143909],89.9051,true,true], + ["Land_BagFence_Long_F",[-8.97534,34.3218,-0.00143909],89.9051,true,true], + ["Land_PortableLight_double_F",[12.1106,-26.1833,-0.00143909],149.905,true,true], + ["Land_CncWall4_F",[15.0215,-21.5349,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[8.38428,-28.1101,-0.00143909],359.905,true,true], + ["Land_CncWall4_F",[15.0137,-16.2847,-0.00143909],269.905,true,true], + ["Land_CncWall1_F",[14.9031,-24.6597,-0.00143909],284.905,true,true], + ["Land_CncWall1_F",[12.6567,-27.5383,-0.00143909],329.905,true,true], + ["Land_CncWall1_F",[11.5676,-27.9133,-0.00143909],344.905,true,true], + ["Land_CncWall1_F",[14.4038,-25.7854,-0.00143909],299.905,true,true], + ["Land_CncWall1_F",[13.656,-26.7861,-0.00143909],314.905,true,true], + ["Land_BagFence_Long_F",[12.5037,-23.1807,-0.00143909],89.3707,true,true], + ["Land_BagFence_Long_F",[11.072,-24.5706,-0.00143909],359.905,true,true], + ["Land_BagFence_Long_F",[10.9707,-21.8315,-0.00143909],179.371,true,true], + ["Land_BagFence_Long_F",[9.56812,-23.1921,-0.00143909],269.905,true,true], + ["Land_BagBunker_01_large_green_F",[3.83936,-32.5405,-0.00143909],0,true,true], + ["Land_TTowerSmall_2_F",[11.5024,-23.7861,-0.00143909],179.905,true,true], + ["Land_Cargo_House_V1_F",[9.00171,-10.2603,-0.00143909],89.905,true,true], + ["Land_Cargo_House_V1_F",[8.98071,2.86475,-0.00143909],89.905,true,true], + ["Land_Medevac_house_V1_F",[8.99219,-3.76099,-0.00143909],90.3921,true,true], + ["Land_BagFence_Round_F",[8.05933,10.2788,-0.00143909],314.905,true,true], + ["Land_PortableLight_double_F",[12.8176,7.44629,-0.00143909],134.905,true,true], + ["Land_CncWall4_F",[14.9788,4.71558,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[15.0054,-11.0347,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[14.9961,-5.78418,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[14.9878,-0.533936,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[14.9705,9.96558,-0.00143909],269.905,true,true], + ["Land_BagFence_Long_F",[8.68018,12.7852,-0.00143909],269.905,true,true], + ["Land_BagFence_Long_F",[5.55933,9.6499,-0.00143909],179.905,true,true], + ["Land_BagBunker_01_large_green_F",[19.272,16.1316,-0.00143909],269.832,true,true], + ["Land_BagFence_Round_F",[7.91089,24.9097,-0.00143909],224.905,true,true], + ["Land_BagFence_Round_F",[9.05054,36.9314,-0.00143909],224.905,true,true], + ["Land_PortableLight_double_F",[11.8816,29.2671,-0.00143909],44.7366,true,true], + ["Land_CncWall4_F",[14.9529,20.4653,-0.00143909],269.905,true,true], + ["Land_CncWall4_F",[8.43433,32.3303,-0.00143909],179.905,true,true], + ["Land_CncWall4_F",[2.95288,35.22,-0.00143909],179.977,true,true], + ["Land_CncWall4_F",[14.9443,25.7156,-0.00143909],269.905,true,true], + ["Land_CncWall1_F",[14.4373,29.9646,-0.00143909],239.905,true,true], + ["Land_CncWall1_F",[14.813,28.8745,-0.00143909],254.905,true,true], + ["Land_CncWall1_F",[13.6853,30.9644,-0.00143909],224.905,true,true], + ["Land_CncWall1_F",[12.6843,31.7119,-0.00143909],209.905,true,true], + ["Land_CncWall1_F",[11.5593,32.2114,-0.00143909],194.905,true,true], + ["Land_CncWall1_F",[5.11841,32.7061,-0.00143909],209.905,true,true], + ["Land_BagFence_Long_F",[8.54004,22.4104,-0.00143909],89.9051,true,true], + ["Land_BagFence_Long_F",[9.67969,34.4321,-0.00143909],89.9051,true,true], + ["Land_BagFence_Long_F",[5.40894,25.5288,-0.00143909],179.905,true,true], + ["Land_BagFence_Long_F",[6.54858,37.5505,-0.00143909],179.905,true,true] +]; + +_missionLootBoxes = [ + //["Exile_Container_SupplyBox",[0.0717773,16.9431,-0.00143814],_crateLoot,_lootCounts,0.000320471] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + //["O_T_LSV_02_armed_F",[-62.7971,0.422119,-0.0236669],0.00164848], + //["O_T_LSV_02_armed_F",[31.9084,-7.18774,-0.0238085],0.00168349] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/default.sqf b/@GMS/addons/GMS/Missions/Red/default.sqf new file mode 100644 index 0000000..8709349 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/default.sqf @@ -0,0 +1,40 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "A group of Bandits was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Sector at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[200,200],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Bandit Patrol"; +_missionLandscapeMode = "random"; // acceptable values are "none","random","precise" +_missionLandscape = ["Land_WoodPile_F","Land_BagFence_Short_F","Land_WoodPile_F","Land_BagFence_Short_F","Land_WoodPile_F","Land_BagFence_Short_F","Land_FieldToilet_F","Land_TentDome_F","Land_TentDome_F","Land_TentDome_F","Land_TentDome_F","Land_CargoBox_V1_F","Land_CargoBox_V1_F"]; // list of objects to spawn as landscape + +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/derbunker.sqf b/@GMS/addons/GMS/Missions/Red/derbunker.sqf new file mode 100644 index 0000000..2c76f20 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/derbunker.sqf @@ -0,0 +1,110 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "An enemy Bunker was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Bunker at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "DerBunker"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Bunker_01_big_F",[-15.925,9.02295,0.760561],90.071,true,true,[["O_HMG_01_high_F",[-5.45947,-3.38574,0.109706],359.994]],[]], + ["Land_Bunker_01_tall_F",[-15.377,-8.8042,-0.00143909],90.071,true,true,[["O_HMG_01_high_F",[5.50562,-2.54395,-0.0121193],0.00145215],["O_HMG_01_high_F",[-1.72095,-0.109375,4.96893],0.00948966]],[]], + ["Land_Bunker_01_tall_F",[-15.76,28.606,-0.00143909],90.071,true,true,[["O_HMG_01_high_F",[5.47437,2.47559,-0.0121179],0.000581241],["O_HMG_01_high_F",[-1.38867,-0.0722656,4.967],359.999],["O_HMG_01_high_F",[11.8271,5.87988,-0.0121188],0.00143633]],[]], + ["Land_Bunker_01_big_F",[20.199,10.729,0.760561],270.416,true,true,[["O_HMG_01_high_F",[5.86328,3.25586,0.109697],0.0117801]],[]], + ["Land_Bunker_01_tall_F",[19.8899,-8.86914,-0.00143909],270.416,true,true,[["O_HMG_01_high_F",[-5.13818,-2.33496,-0.0121174],0.0002874],["O_HMG_01_high_F",[1.45801,0.0512695,4.96698],360]],[]], + ["Land_Bunker_01_tall_F",[19.731,28.542,-0.00143909],270.416,true,true,[["O_HMG_01_high_F",[-5.00977,2.1792,-0.0121188],0.00143735],["O_HMG_01_high_F",[1.80957,0.26709,4.96756],360],["O_HMG_01_high_F",[-12.0127,6.1333,-0.0121193],0.00145178]],[]] +]; + +_missionLandscape = [ + //["Sign_Arrow_F",[-3163.22,-5166.85,-0.00143909],0,true,true], + //["Sign_Arrow_Green_F",[-3163.22,-5166.85,-0.00143909],0,true,true], + //["Sign_Arrow_Yellow_F",[-3163.22,-5166.85,-0.00143909],0,true,true], + //["babe_helper",[-3165.72,-5166.35,-0.00143909],90.8645,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.762,17.5518,-0.00143909],270.35,true,true], + ["Land_Bunker_01_blocks_3_F",[-0.0979004,-12.9033,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[-5.18799,-12.9092,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[-10.175,-12.9253,-0.502439],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.814,-4.44141,-0.00143909],270.35,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.7959,0.544922,-0.00143909],270.35,true,true], + ["CamoNet_INDP_big_F",[2.23804,-2.70508,-0.00143909],182.545,true,true], + ["Land_Bunker_01_blocks_3_F",[-13.7451,22.5391,-0.00143909],270.35,true,true], + ["Land_Bunker_01_blocks_3_F",[-2.51611,30.105,-0.00143909],90.192,true,true], + ["Land_Bunker_01_blocks_3_F",[-10.6179,32.6689,-0.432439],0.106,true,true], + ["Land_Bunker_01_blocks_3_F",[-5.63013,32.6719,-0.00143909],0.106,true,true], + ["Land_Bunker_01_blocks_3_F",[17.958,2.1958,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[14.9771,-12.854,-0.529439],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[4.88892,-12.8853,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[17.9109,-2.78906,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[9.98999,-12.8711,-0.00143909],179.955,true,true], + ["Land_Bunker_01_blocks_3_F",[6.58691,30.1689,-0.00143909],269.774,true,true], + ["Land_Bunker_01_blocks_3_F",[18.095,19.2026,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[18.1409,24.189,-0.00143909],90.695,true,true], + ["Land_Bunker_01_blocks_3_F",[9.54907,32.6689,-0.00143909],0.106,true,true], + ["Land_Bunker_01_blocks_3_F",[14.5359,32.6729,-0.363439],0.106,true,true] +]; + +_missionLootBoxes = [ + //["Exile_Container_SupplyBox",[0.0446777,-1.31494,-0.001441],_crateLoot,_lootCounts,0.00167282] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + ["O_LSV_02_armed_F",[-37.46,8.55273,-0.0378561],359.999], + ["O_LSV_02_unarmed_F",[38.3699,8.21484,-0.0378113],359.999] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/factory.sqf b/@GMS/addons/GMS/Missions/Red/factory.sqf new file mode 100644 index 0000000..cda3274 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/factory.sqf @@ -0,0 +1,138 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "An Ammunition Factory was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Factory at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Factory"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Tower_V3_F",[-18.6987,-51.7905,-0.0014348],91.6296,true,true,[["B_HMG_01_high_F",[3.31396,2.89209,8.57585],359.999],["B_HMG_01_high_F",[13.0347,0.8479,-0.0121226],360],["B_HMG_01_high_F",[-9.4834,13.5967,-0.0121226],0.00158913],["B_HMG_01_high_F",[-0.601074,3.90967,17.8764],359.999],["B_HMG_01_high_F",[-0.877441,-4.83179,17.8764],359.999],["B_HMG_01_high_F",[-9.77783,29.3799,-0.0121226],360]],[]], + ["Land_Cargo_Patrol_V3_F",[-27.1675,-15.407,-0.00143814],91.6296,true,true,[["B_HMG_01_high_F",[-1.15381,1.24658,4.33092],275.276]],[]], + ["Land_Cargo_Patrol_V3_F",[-10.7632,4.77441,-0.00143814],181.63,true,true,[["B_HMG_01_high_F",[-1.32959,1.03662,4.33092],359.999]],[]], + ["Land_Cargo_Patrol_V3_F",[12.9375,3.5835,-0.00143814],181.63,true,true,[["B_HMG_01_high_F",[1.57861,1.04736,4.33093],357.402],["B_HMG_01_high_F",[8.41357,-9.20557,-0.0121202],0.0033673]],[]] +]; + + + +_missionLandscape = [ + //["babe_helper",[-4335.99,-3525.64,-0.00143862],0,true,true], + //["Sign_Arrow_Green_F",[-4333.49,-3526.14,-0.00143862],0,true,true], + //["Sign_Arrow_F",[-4333.49,-3526.14,-0.00143862],0,true,true], + //["Sign_Arrow_Yellow_F",[-4333.49,-3526.14,-0.00143862],0,true,true], + ["Land_HBarrier_Big_F",[0,0,0],181.63,true,true], + ["Land_HBarrier_Big_F",[13.4092,-3.25757,0],271.63,true,true], + ["Land_HBarrier_Big_F",[8.375,-0.113037,0],181.63,true,true], + ["Land_Cargo_Patrol_V3_F",[1.41602,-4.66895,4.76837e-007],181.63,true,true], + ["Land_HBarrier_Big_F",[13.4199,-11.7607,0],271.63,true,true], + ["Land_HBarrier_Big_F",[18.5933,-23.1626,0],181.63,true,true], + ["Land_HBarrier_Big_F",[13.436,-19.8896,0],271.63,true,true], + ["Land_HBarrier_Big_F",[21.832,-28.0088,0],271.63,true,true], + ["Land_BagFence_Round_F",[26.2334,-38.7039,0],316.63,true,true], + ["Land_BagFence_Round_F",[26.3379,-36.5427,0],226.63,true,true], + ["Land_BagFence_Long_F",[23.7163,-39.2576,0],181.63,true,true], + ["CamoNet_OPFOR_F",[10.2559,-17.4697,0],91.6296,true,true], + ["Land_HBarrier_Big_F",[-3.3916,-4.90503,0],91.6296,true,true], + ["Land_HBarrier_Big_F",[-30.9849,1.00684,0],181.63,true,true], + ["Land_HBarrier_Big_F",[-17.564,-2.00073,0],271.63,true,true], + ["Land_HBarrier_Big_F",[-22.731,1.02173,0],181.63,true,true], + ["Land_Cargo_Patrol_V3_F",[-22.2847,-3.47803,4.76837e-007],181.63,true,true], + ["CamoNet_OPFOR_big_F",[-34.8179,-6.18286,0],1.62962,true,true], + ["Land_HBarrier_Big_F",[-20.0698,-63.729,0],91.6296,true,true], + ["Land_HBarrier_Big_F",[-33.6689,-66.9641,0],181.63,true,true], + ["Land_HBarrier_Big_F",[-25.1631,-66.959,0],181.63,true,true], + ["Land_BagFence_Long_F",[-17.6025,-60.449,0],181.63,true,true], + ["Land_Cargo_Tower_V3_F",[-30.2202,-60.043,3.8147e-006],91.6296,true,true], + ["Land_BagFence_Round_F",[-15.085,-59.8953,0],316.63,true,true], + ["Land_HBarrier_Big_F",[-39.3599,1.11987,0],181.63,true,true], + ["Land_HBarrier_Big_F",[-42.751,-3.7854,0],91.6296,true,true], + ["Land_HBarrier_Big_F",[-42.8638,-12.1604,0],91.6296,true,true], + ["Land_HBarrier_Big_F",[-37.8037,-27.686,0],181.63,true,true], + ["Land_HBarrier_Big_F",[-42.8486,-20.4146,0],91.6296,true,true], + ["Land_HBarrier_Big_F",[-42.9619,-28.7896,0],91.6296,true,true], + ["Land_Cargo_Patrol_V3_F",[-38.689,-23.6594,4.76837e-007],91.6296,true,true], + ["CamoNet_OPFOR_F",[-37.1313,-30.3784,0],1.62962,true,true], + ["Land_HBarrier_Big_F",[-36.8999,-61.8621,0],91.6296,true,true], + ["Land_HBarrier_Big_F",[-36.792,-53.6099,0],91.6296,true,true], + ["Land_BagFence_Corner_F",[-37.04,-49.1382,0],1.62962,true,true], + ["Land_BagFence_Corner_F",[-40.8984,-48.5288,0],181.63,true,true], + ["Land_BagFence_Long_F",[-39.0317,-48.8325,0],181.63,true,true], + ["Land_BagFence_Long_F",[-39.1577,-44.4534,0],1.62962,true,true], + ["Land_BagFence_Long_F",[-41.2227,-46.7695,0],91.6296,true,true], + ["Land_BagFence_Corner_F",[-40.916,-44.7759,0],271.63,true,true], + ["Land_HBarrier_Big_F",[0.214844,-63.1599,0],181.63,true,true], + ["Land_HBarrier_Big_F",[8.46875,-63.145,0],181.63,true,true], + ["Land_HBarrier_Big_F",[-8.16016,-63.0469,0],181.63,true,true], + ["Land_HBarrier_Big_F",[21.3247,-43.1565,0],271.63,true,true], + ["Land_HBarrier_Big_F",[21.3354,-51.6597,0],271.63,true,true], + ["Land_HBarrier_Big_F",[21.3516,-59.7886,0],271.63,true,true], + ["Land_HBarrier_Big_F",[16.6245,-63.0515,0],181.63,true,true], + ["Land_Dome_Small_F",[0.337891,-44.8254,-4.76837e-007],0.223401,true,true], + ["Land_dp_smallTank_F",[18.314,-70.0537,0],0,true,true], + ["Land_dp_smallTank_F",[9.81934,-69.9482,0],0,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehicles,[-53.8027,-29.7834,0.00867844],0.00103655], + [selectRandom GMS_AIPatrolVehicles,[51.0596,-25.7876,0.00815535],0.00104356] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/forgotten_HQ.sqf b/@GMS/addons/GMS/Missions/Red/forgotten_HQ.sqf new file mode 100644 index 0000000..6618279 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/forgotten_HQ.sqf @@ -0,0 +1,190 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "A Forgotten HQ was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Forgotten HQ at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[225,225],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Forgotten"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Patrol_V2_F",[-16.0361,-36.5635,-0.00143862],0,true,true,[["O_G_HMG_02_high_F",[1.07422,-1.17676,4.38749],183.214]],[]], + ["Land_Cargo_Patrol_V2_F",[1.44385,-36.4934,-0.00143862],0,true,true,[["O_G_HMG_02_high_F",[-1.49438,-1.08521,4.38749],183.771]],[]], + ["Land_Cargo_HQ_V2_F",[-20.6721,-8.55249,-0.00143862],180,true,true,[["O_G_HMG_02_high_F",[-4.84253,-3.34399,3.16997],0.00630354]],[]], + ["Land_Cargo_Tower_V2_F",[-16.9631,-26.0334,-0.00143909],180,true,true,[["O_G_HMG_02_high_F",[-4.54858,0.758057,17.9329],0.00661736],["O_G_HMG_02_high_F",[3.65967,3.33838,17.9329],0.000690221]],[]], + ["Land_Cargo_HQ_V2_F",[7.14893,2.62769,-0.00143862],270.279,true,true,[["O_G_HMG_02_high_F",[-0.843506,5.84277,3.16996],0.00567617]],[]] +]; + + +_missionLandscape = [ + ["Land_CncWall4_F",[-32.4219,-12.8027,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-32.4495,-2.36279,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-32.4219,-7.55273,-0.00143909],90,true,true], + ["Land_CncWall1_F",[-32.4219,-16.0527,-0.00143909],90,true,true], + ["Land_CncWall1_F",[-32.1719,-17.3027,-0.00143909],60,true,true], + ["Land_CncWall4_F",[-17.2,-37.5388,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-19.45,-35.2888,-0.00143909],90,true,true], + ["Land_CncWall1_F",[-13.95,-37.2888,-0.00143909],345,true,true], + ["Land_CncWall1_F",[-0.469971,-37.123,-0.00143909],15,true,true], + ["Land_CncWall1_F",[-1.70728,-36.5938,-0.00143909],30,true,true], + ["Land_CncWall1_F",[-12.7,-36.7888,-0.00143909],330,true,true], + ["Land_Mil_WiredFence_Gate_F",[-7.18335,-36.4424,-0.00143909],0,true,true], + ["Land_LampShabby_F",[-2.78442,-36.3179,-0.00143909],267.423,true,true], + ["Land_LampShabby_F",[-11.5483,-36.9063,-0.00143909],96.8408,true,true], + ["Land_Razorwire_F",[-15.4663,-50.6616,-0.00143909],0,true,true], + ["Land_Garbage_square5_F",[-5.48242,-33.7585,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_Dam_F",[-23.4219,-33.3027,0.0484428],90,true,true], + ["Oil_Spill_F",[-0.250732,-46.9929,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[-18.6699,-48.1602,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[-8.92188,-48.0527,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[-23.377,-43.2129,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-10.9219,-12.4277,-0.00143909],270,true,true], + ["Land_CncWall4_F",[-10.9219,-7.17773,-0.00143909],270,true,true], + ["Land_CncWall4_F",[-23.9219,-17.8027,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-19.0479,-28.729,-0.00143909],90,true,true], + ["Land_CncWall4_F",[-18.5469,-17.8027,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-29.2969,-17.8027,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-19.0479,-23.479,-0.00143909],90,true,true], + ["Land_CncWall1_F",[-12.0469,-16.5527,-0.00143909],315,true,true], + ["Land_CncWall1_F",[-13.0469,-17.1777,-0.00143909],345,true,true], + ["Land_CncWall1_F",[-11.2969,-15.5527,-0.00143909],300,true,true], + ["Land_CncWall1_F",[-18.7979,-20.229,-0.00143909],105,true,true], + ["Land_CncWall1_F",[-19.2,-32.0388,-0.00143909],105,true,true], + ["Land_CncWall1_F",[-1.87036,-6.15894,-0.00143909],76.1339,true,true], + ["Land_CncWall1_F",[-18.2979,-18.979,-0.00143909],120,true,true], + ["Land_CncWall1_F",[-0.776123,-8.00391,-0.00143909],44.3183,true,true], + ["Land_CncWall1_F",[-1.98975,-5.05225,-0.00143909],89.3183,true,true], + ["Land_CncWall1_F",[-10.9346,-1.3584,-0.00143909],254.791,true,true], + ["Land_CncWall1_F",[-1.50586,-7.08521,-0.00143909],59.3183,true,true], + ["Land_LampShabby_F",[-12.0967,-15.9277,-0.00143909],304.187,true,true], + ["Land_CncShelter_F",[-5.76489,-3.25,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-2.69824,-3.26221,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-10.3674,-3.21143,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-7.29834,-3.24414,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-8.83398,-3.21729,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-4.23169,-3.25635,-0.00143909],90.2789,true,true], + ["Land_CncShelter_F",[-14.8062,-17.8242,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[-23.4219,-23.3027,-0.00143909],90,true,true], + ["Land_Garbage_line_F",[-6.69629,-14.0273,-0.00143909],0,true,true], + ["Land_CncWall4_F",[-2.08496,5.92285,-0.00143909],90.2789,true,true], + ["Land_CncWall4_F",[-24.9495,-0.112793,-0.00143909],180,true,true], + ["Land_CncWall4_F",[-2.11108,0.548096,-0.00143909],90.2789,true,true], + ["Land_CncWall4_F",[-19.6995,-0.112793,-0.00143909],180,true,true], + ["Land_CncWall4_F",[-2.05884,11.2979,-0.00143909],90.2789,true,true], + ["Land_CncWall4_F",[-30.1995,-0.112793,-0.00143909],180,true,true], + ["Land_CncWall4_F",[-14.4768,-0.108398,-0.00143909],180,true,true], + ["Land_CncWall1_F",[-0.293457,14.4143,-0.00143909],180.279,true,true], + ["Land_CncWall1_F",[-11.5137,-0.462158,-0.00143909],218.676,true,true], + ["Land_CncWall1_F",[-1.54468,14.1704,-0.00143909],150.279,true,true], + ["Land_CncWall4_F",[2.78003,-37.373,-0.00143909],0,true,true], + ["Land_CncWall4_F",[5.15894,-34.9495,-0.00143909],270,true,true], + ["Land_New_WiredFence_5m_F",[18.6162,-49.2598,-0.00143909],180,true,true], + ["Land_Mil_WiredFence_Gate_F",[1.02295,-48.2319,-0.00143909],0,true,true], + ["Land_Razorwire_F",[14.8767,-50.5405,-0.0014348],0,true,true], + ["Land_Garbage_square5_F",[3.02661,-41.5759,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[22.4329,-43.2773,-0.00143766],90,true,true], + ["Land_New_WiredFence_10m_F",[20.8657,-33.5273,-0.00143909],270,true,true], + ["Land_New_WiredFence_10m_F",[11.0781,-47.8027,-0.00143909],0,true,true], + ["Land_CncWall4_F",[15.5647,-3.63062,-0.00143909],270.279,true,true], + ["Land_CncWall4_F",[12.5393,-8.48145,-0.00143909],0.278918,true,true], + ["Land_CncWall4_F",[2.11768,-8.40479,-0.00143909],0.278918,true,true], + ["Land_CncWall4_F",[7.28931,-8.45581,-0.00143909],0.278918,true,true], + ["Land_CncWall4_F",[5.1084,-19.2168,-0.00143909],270,true,true], + ["Land_CncWall4_F",[5.07373,-13.9578,-0.00143909],270,true,true], + ["Land_CncWall4_F",[5.14282,-29.6782,-0.00143909],270,true,true], + ["Land_CncWall4_F",[5.11499,-24.4495,-0.00143909],270,true,true], + ["Land_CncWall1_F",[15.2651,-8.03906,-0.00143909],300.801,true,true], + ["Land_CncWall1_F",[15.5632,-6.90161,-0.00143909],270.801,true,true], + ["Land_HelipadSquare_F",[14.0413,-24.9829,-0.00143909],0,true,true], + ["Land_New_WiredFence_5m_F",[18.8281,-8.80273,-0.00143909],180,true,true], + ["Land_LampShabby_F",[14.521,-6.92456,-0.00143909],315,true,true], + ["Land_CncShelter_F",[4.83472,-10.1133,-0.00143909],90.2789,true,true], + ["Land_GarbageBags_F",[2.49902,-16.0364,-0.00143909],0,true,true], + ["Land_New_WiredFence_10m_F",[20.8281,-23.5527,-0.00143909],270,true,true], + ["Land_New_WiredFence_10m_F",[20.8281,-13.5527,-0.00143909],270,true,true], + ["Land_Wreck_Heli_Attack_02_F",[13.4341,-23.897,-0.00143909],0,true,true], + ["Land_CncWall4_F",[15.6953,12.0864,-0.00143909],270.279,true,true], + ["Land_CncWall4_F",[13.4563,14.3474,-0.00143909],180.279,true,true], + ["Land_CncWall4_F",[15.6443,1.58667,-0.00143909],270.279,true,true], + ["Land_CncWall4_F",[8.2063,14.3728,-0.00143909],180.279,true,true], + ["Land_CncWall4_F",[15.6697,6.83643,-0.00143909],270.279,true,true], + ["Land_CncWall4_F",[2.9563,14.3984,-0.00143909],180.279,true,true] +]; + +_missionLootBoxes = [ +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehicles,[-10.8826,-67.0554,0.00841188],85.3805], + [selectRandom GMS_AIPatrolVehicles,[-7.25098,-35.3657,0.00811148],357.094] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + +]; + +_missionGroups = [ + //[[-10.0691,-41.8555,0],3,6,"Red",30,45], + //[[-1.13232,-24.1541,0],3,6,"Red",30,45], + //[[-9.49146,-26.8044,0],3,6,"Red",30,45], + //[[12.8374,-37.3408,0],3,6,"Red",30,45] +]; + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal Red mission. + +_spawnCratesTiming = "atMissionSpawnAir"; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir". + // Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute. + // This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/fuelDepot.sqf b/@GMS/addons/GMS/Missions/Red/fuelDepot.sqf new file mode 100644 index 0000000..0ca4fb5 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/fuelDepot.sqf @@ -0,0 +1,72 @@ +/* +Mission Compositions by Ghostrider [GRG] for ghostridergaming +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "An enemy fuel depot was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Sector at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[200,200],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Depot"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AAF_F",[4,4,0],0,[false,false]], + ["Land_WaterTank_F",[16.334,1.15234,0],331.984,[false,false]], + ["Land_WaterBarrel_F",[7.45703,10.0078,0],0,[false,false]], + ["Land_FuelStation_Build_F",[13.5215,6.42578,0],241.006,[false,false]], + ["Land_fs_feed_F",[7.96484,3.57227,0],240.674,[true,false]], + ["Land_CinderBlocks_F",[21.541,8.54492,0],0,[false,false]], + ["Land_CinderBlocks_F",[19.9473,11.0273,0],0,[false,false]], + ["Land_CinderBlocks_F",[22.9277,6.02344,0],0,[false,false]], + ["Land_CinderBlocks_F",[24.2715,3.5918,0],0,[false,false]], + ["Land_Coil_F",[-0.964844,11.9844,0],0,[false,false]], + ["Land_Coil_F",[12.6621,20.2852,0],0,[false,false]], + ["Land_Crane_F",[4.0332,-8.58984,-4.76837e-007],0,[false,false]], + ["Land_FieldToilet_F",[19.291,4.62305,0],326.829,[false,false]], + ["Land_IronPipes_F",[-6.21875,7.61719,0],326.426,[false,false]], + ["Land_IronPipes_F",[-14.6699,5.20508,0],326.426,[false,false]], + ["Land_IronPipes_F",[-23.4688,0.197266,0],326.426,[false,false]], + ["Land_Pipes_large_F",[-24.1367,7.82227,0],314.529,[false,false]], + ["Land_Pipes_large_F",[-18.6367,12.6211,0],314.529,[false,false]], + ["Land_Pipes_large_F",[-13.6758,18.3789,0],314.529,[false,false]], + ["Land_CinderBlocks_01_F",[0.570313,6.49023,2.38419e-007],0,[false,false]], + ["Land_CinderBlocks_01_F",[3.63672,0.902344,2.38419e-007],0,[false,false]], + ["Land_CinderBlocks_01_F",[-2.59961,2.11719,2.38419e-007],0,[false,false]], + ["Land_CinderBlocks_01_F",[5.08398,-3.11719,2.38419e-007],0,[false,false]], + ["Land_CinderBlocks_F",[18.0488,13.832,0],0,[false,false]], + ["Land_BagFence_Long_F",[30.0352,-6.17773,0],94.1174,[false,false]], + ["Land_BagFence_Long_F",[29.6074,-2.18164,0],256.414,[false,false]], + ["Land_BagFence_Long_F",[28.0918,1.85547,0],64.7377,[false,false]], + ["Land_BagFence_Long_F",[26.2598,5.32422,0],237.729,[false,false]], + ["Land_ScrapHeap_1_F",[22.0371,-11.125,0],0,[false,false]], + ["Land_ScrapHeap_1_F",[-2.50586,27.8926,0],0,[false,false]], + ["Land_i_Barracks_V1_F",[16.5938,-34.9785,0],324.783,[false,false]], + ["Land_BagBunker_Large_F",[4.6543,-6.67969,0],0,[false,false]], + ["Land_BagBunker_Large_F",[-14.3262,-45.0469,0],188.191,[false,false]], + ["Land_Cargo_HQ_V3_F",[-33.2969,-38.0293,0],223.946,[false,false]], + ["Land_Wall_IndCnc_4_D_F",[-33.293,11.6582,0],135.156,[false,false]], + ["Land_ConcreteWall_01_m_8m_F",[-41.6035,-15.7754,0],271.438,[false,false]], + ["Land_ConcreteWall_01_m_8m_F",[-41.9297,-26.2012,0],271.438,[false,false]], + ["Land_ConcreteWall_01_m_8m_F",[-41.6582,-25.8945,0],271.438,[false,false]], + ["Land_ConcreteWall_01_m_8m_F",[-40.9336,-5.78906,0],271.438,[false,false]], + ["Land_ConcreteWall_01_m_8m_F",[-38.4297,3.92773,0],115.41,[false,false]] +]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = [ + //["I_C_Van_01_transport_brown_F",[8.09375,13.6113,0.000131369],233.88,_crateLoot,_lootCounts,0], + //["I_C_Van_01_transport_olive_F",[5.44531,17.5313,0.000131369],234.719,_crateLoot,_lootCounts,0], + //["Exile_Car_Ural_Open_Blue",[20.4961,-1.33398,-2.38419e-007],61.0105,_crateLoot,_lootCounts,0] +]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/garrison.sqf b/@GMS/addons/GMS/Missions/Red/garrison.sqf new file mode 100644 index 0000000..a7ef48c --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/garrison.sqf @@ -0,0 +1,114 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Green Mission with template = default"; +_crateLoot = GMS_BoxLoot_Green; +_lootCounts = GMS_lootCountsGreen; +_startMsg = "An enemy garrison!"; +_endMsg = "The garrison is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorBlue"; +_markerMissionName = "Garrison"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + + + + +_garrisonedBuildings_BuildingPosnSystem = [ + ["Land_Unfinished_Building_02_F",[-28.137,-48.6494,-0.00268841],0,true,true,0.67,3,[],4], + ["Land_i_Shop_02_V2_F",[22.688,35.2515,-0.00268841],0,true,true,0.67,3,[],4] +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Unfinished_Building_02_F",[-28.3966,34.8145,-0.00268841],0,true,true,[["B_HMG_01_high_F",[-5.76953,1.16504,7.21168],360]],[]], + ["Land_Unfinished_Building_02_F",[20.1816,-44.2554,-0.00268841],0,true,true,[],[[[4.68567,3.59082,0.257384],0],[[-5.20032,5.66797,3.96986],0]]] +]; + +_missionLandscape = [ + ["Land_i_House_Big_02_V3_F",[-64.5577,-100.259,-0.00268841],0,true,true], + ["Land_u_House_Big_01_V1_F",[-65.2944,63.9878,-0.00268841],0,true,true], + //["Sign_Sphere100cm_F",[-25.4528,-44.6294,0.614402],0,true,true], + //["Sign_Arrow_Direction_Green_F",[24.8673,-40.6646,0.254696],0,true,true], + //["Sign_Arrow_Direction_Green_F",[14.9813,-38.5874,3.96717],0,true,true], + //["Sign_Arrow_F",[10.937,-14.8413,1.03384],0,true,true], + //["Sign_Sphere100cm_F",[18.4126,35.3154,0.499284],0,true,true], + ["Land_i_House_Big_02_V1_F",[53.7161,-101.875,-0.00268841],0,true,true], + ["Land_i_House_Big_02_V2_F",[52.6943,66.0278,-0.00268841],0,true,true], + //["Box_IND_AmmoOrd_F",[-25.7473,-46.3496,3.72631],359.995,true,true], + ["CargoNet_01_barrels_F",[-31.2815,14.4961,-0.00268984],359.995,true,true], + ["CargoNet_01_barrels_F",[-2.56213,-16.4194,-0.00268888],359.999,true,true], + ["CargoNet_01_barrels_F",[3.29309,-24.7749,-0.00268984],359.995,true,true], + ["CargoNet_01_barrels_F",[18.3497,-0.543945,-0.00268888],360,true,true] +]; + +_missionLootBoxes = [ + +]; + +_missionLootVehicles = [ + //["B_G_Van_01_transport_F",[10.937,-14.8413,1.03384],_crateLoot,_lootCounts,0] +]; + +_missionPatrolVehicles = [ + ["B_LSV_01_armed_F",[-1.72729,-70.439,-0.0251398],0.00168032], + ["B_LSV_01_armed_F",[-3.96387,50.4224,-0.0167227],0.000187991] + //["B_G_Van_01_transport_F",[11.2661,-13.9561,0.0110526],359.998] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ + ["B_Heli_Light_01_dynamicLoadout_F",[-52.1934,-2.21631,0.00351906],0.0012961] +]; + +_missionEmplacedWeapons = [ + ["B_HMG_01_high_F",[-34.1661,35.9795,7.20899],360], + ["B_GMG_01_high_F",[43.4441,-24.4961,-0.0144982],360] +]; + +_missionGroups = [ + //[[-31.2625,5.21875,-0.00124931],3,6,"Red",30,45], + //[[-46.3765,18.731,-0.00124931],3,6,"Red",30,45], + //[[-21.8778,18.8506,-0.00124931],3,6,"Red",30,45], + //[[-3.32458,-42.5176,-0.00124931],3,6,"Red",30,45], + //[[-2.06714,36.3027,-0.00124931],3,6,"Red",30,45], + //[[29.3705,-18.0239,-0.00124931],3,6,"Red",30,45] +]; + +_scubaGroupParameters = [ +]; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Green; +_maxNoAI = GMS_MaxAI_Green; +_noAIGroups = GMS_AIGrps_Green; +_noVehiclePatrols = GMS_SpawnVeh_Green; +_noEmplacedWeapons = GMS_SpawnEmplaced_Green; +_minNoAI = GMS_MinAI_Blue; // Setting this in the mission file overrides the defaults such as GMS_MinAI_Blue +_maxNoAI = GMS_MaxAI_Blue; // Setting this in the mission file overrides the defaults +_noAIGroups = GMS_AIGrps_Blue; // Setting this in the mission file overrides the defaults +_noVehiclePatrols = GMS_SpawnVeh_Blue; // Setting this in the mission file overrides the defaults +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; // Setting this in the mission file overrides the defaults +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; // Setting this in the mission file overrides the defaults +_uniforms = GMS_SkinList; // Setting this in the mission file overrides the defaults +_headgear = GMS_headgear; // Setting this in the mission file overrides the defaults +_vests = GMS_vests; +_backpacks = GMS_backpacks; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/hostage1.sqf b/@GMS/addons/GMS/Missions/Red/hostage1.sqf new file mode 100644 index 0000000..bc78ca5 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/hostage1.sqf @@ -0,0 +1,124 @@ +/* + Mission Template by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default2"; + +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "A local town official is being held hostage! Free him and earn a reward!"; +_endMsg = "The official was freed! A reward has been sent by the local townsfolk"; +_assetKilledMsg = "The Hostage Was Killed and Bandits Fled with All Loot: Mission Aborted"; +_markerLabel = ""; +_markerType = ["ellipse",[175,175],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Rescue Hostage"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AAF_F",[-10.6914,-10.541,0],0,[true,false]], + ["Land_SM_01_shelter_wide_F",[-6.29883,9.57617,0],0,[true,false]], + ["Land_ContainerLine_01_F",[-5.54492,40.8184,0],0,[true,false]], + ["Land_ContainerLine_01_F",[-6.92578,-38.2188,0],0,[true,false]], + ["Land_ContainerLine_01_F",[-65.8438,-28.4023,0],90,[true,false]], + ["Land_ContainerLine_01_F",[-66.0664,21.3496,0],90,[true,false]], + ["Land_ContainerLine_01_F",[195.047,-23.9395,0],87.9345,[true,false]], + ["Land_ContainerLine_01_F",[42.6172,-23.9395,0],90.5197,[true,false]], + ["Land_ContainerLine_01_F",[42.8398,27.5977,0],270,[true,false]], + //["B_G_Soldier_AR_F",[-6.74219,-78.625,-0.00143886],0,[true,false]], + //["B_G_Soldier_AR_F",[-86.3281,-5.14453,-0.00143886],0,[true,false]], + //["B_G_Soldier_AR_F",[61.4609,-1.92773,-0.00143838],0,[true,false]], + //["B_G_Soldier_AR_F",[-43.3359,54.0898,-0.00143838],0,[true,false]], + //["B_Soldier_F",[70.5156,-90.3867,-2.75806],0,[true,false]], + //["B_Soldier_F",[70.5156,-90.3867,-2.75806],0,[true,false]], + //["B_MRAP_01_hmg_F",[70.5156,-90.3867,4.76837e-007],0,[true,false]], + //["B_Soldier_F",[-78.834,72.0566,-2.20595],0,[true,false]], + //["B_MRAP_01_F",[-78.834,72.0566,4.76837e-007],0,[true,false]], + ["Campfire_burning_F",[-8.68555,-2.57813,0],0,[true,false]], + ["Land_ChairPlastic_F",[-2.36719,16.1875,0],0,[true,false]], + ["Land_ChairPlastic_F",[-2.99609,13.2813,0],0,[true,false]], + ["Land_ChairPlastic_F",[-2.84766,10.3398,0],0,[true,false]], + ["Land_ChairPlastic_F",[-3.06055,8.08203,0],0,[true,false]], + ["Land_ChairPlastic_F",[-2.70313,5.98047,0],0,[true,false]], + ["Land_Stone_4m_F",[-5.71484,21.2051,0],0,[true,false]], + ["Land_Stone_4m_F",[-1.30469,21.2266,0],0,[true,false]], + ["Land_Stone_4m_F",[-10.1836,21.166,0],0,[true,false]], + ["Land_Stone_4m_F",[3.01953,10.2051,0],90.8324,[true,false]], + ["Land_Stone_4m_F",[2.97656,5.79492,0],90.8324,[true,false]], + ["Land_Stone_4m_F",[3.04492,14.6738,0],90.8324,[true,false]], + ["Land_Stone_4m_F",[-6.16992,-0.855469,0],0,[true,false]], + ["Land_Stone_4m_F",[-1.75977,-0.833984,0],0,[true,false]], + ["Land_Stone_4m_F",[-10.6387,-0.894531,0],0,[true,false]], + ["Land_Stone_4m_F",[-15.4609,9.93164,0],90.8324,[true,false]], + ["Land_Stone_4m_F",[-15.5039,5.52148,0],90.8324,[true,false]], + ["Land_Stone_4m_F",[-15.4355,14.4004,0],90.8324,[true,false]] + ]; // list of objects to spawn as landscape; // list of objects to spawn as landscape + +_hostageConfig = ["C_man_polo_6_F", + [-7.08594,9.5957,-0.299652], + 126.345,[true,false], + ["AmovPercMstpSnonWnonDnon_Scared"], + ["H_Cap_red"], // array of headgear choices + ["U_NikosBody"] // array of uniform choices + ]; // Sitting Animation + // Use the animation view to see other choices: http://killzonekid.com/arma-3-animation-viewer-jumping-animation/ +_missionLootBoxes = [ + //["Box_NATO_Wps_F",[3,-3,0],_crateLoot,[4,10,2,5,5,1]], // Standard loot crate with standard loadout + //["Land_PaperBox_C_EPOCH",[-4,-3,0],_crateLoot,[0,0,0,10,10,3]], // No Weapons, Magazines, or optics; 10 each construction supplies and food/drink items, 3 backpacks + //["Land_CargoBox_V1_F",[3,4,0],_crateLoot,[0,10,2,5,5,1]] + ]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. + + // GMS_lootCountsBlue= [4,12,3,6,6,1]; +_missionLootVehicles = [ + //["I_G_Offroad_01_armed_F",[-8,8,0],_crateLoot,[0,10,2,5,5,1]], + //["I_G_Offroad_01_armed_F",[8,17,0],_crateLoot,[0,10,2,5,5,1]] + ]; // Parameters are "vehiclel type", offset relative to mission center, loot array, items to load from each category of the loot array. + // ["B_HMG_01_high_F"/*,"B_GMG_01_high_F","O_static_AT_F"*/]; + + /* + ["B_G_Soldier_AR_F",[26.9961,-29.9551,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[32.2461,33.0605,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[-35.6035,32.1855,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[-47.4219,-19.8906,-0.00143886],0,[true,false]] + */ +_missionGroups = + [ + //_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"]; + [[26.9961,-29.9551,-0.00143886],3,3,"Red",10,20], + [[32.2461,33.0605,-0.00143886],3,3,"Red",10,20], + [[-35.6035,32.1855,-0.00143886],3,3,"Red",10,20], + [[-47.4219,-19.8906,-0.00143886],3,3,"Red",10,20] + ]; // Can be used to define spawn positions of AI patrols + +_missionEmplacedWeapons = [ + //["B_HMG_01_high_F",[-10,-15,0]], + //["B_GMG_01_high_F",[10,12,0]], + //["O_static_AT_F",[-10,10,0]] + ]; // can be used to define the type and precise placement of static weapons [["wep",[1,2,3]] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used + + _missionPatrolVehicles = [ + //["B_MRAP_01_hmg_F",[27.8945,100.275,0],0,[true,false]], + //["B_MRAP_01_hmg_F",[-84.7793,72.2617,9.53674e-007],0,[true,false]], + //["B_MRAP_01_gmg_F",[-87.8457,-109.947,7.15256e-007],0,[true,false]] +]; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +_spawnCratesTiming = "atMissionEndAir"; +_endCondition = assetSecured; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear, assetSecured + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/inhaftierung.sqf b/@GMS/addons/GMS/Missions/Red/inhaftierung.sqf new file mode 100644 index 0000000..4ce6cf1 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/inhaftierung.sqf @@ -0,0 +1,180 @@ +/* + Mission Template by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default2"; + +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; +_startMsg = "A local Mafia Don has been spotted! Capture him and earn a reward!"; +_endMsg = "The Maria Don was captured and the area is under survivor control!"; +_assetKilledMsg = "Enemy Leader Killed and Bandits Fled with All Loot: Mission Aborted"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorBlue"; +_markerMissionName = "inhaftierung"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + //["babe_helper",[-3327.46,-2809.42,-0.00143909],0,true,true], + //["Sign_Arrow_Green_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + //["Sign_Arrow_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + //["Sign_Arrow_Yellow_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[-2.76221,-30.3596,-0.00143909],0,true,true], + ["Land_HBarrier_1_F",[-9.74463,-27.0081,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[-9.74268,-29.0042,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-8.36182,-30.3743,-0.00143909],180,true,true], + ["CamoNet_OPFOR_open_F",[-0.361816,-1.01782,-0.00143909],180,true,true], + ["Land_HBarrier_3_F",[-15.3853,-13.9866,-0.00143909],315,true,true], + ["Land_HBarrier_Big_F",[-3.61768,-5.26782,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[-5.46533,3.40405,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[-18.5767,-14.5354,-0.00143909],45,true,true], + ["Land_HBarrier_Big_F",[-12.4985,-20.3987,-0.00143909],45,true,true], + ["Land_HBarrier_1_F",[-22.9692,-2.77563,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[-23.3423,0.478271,-0.00143909],15,true,true], + ["Land_BagFence_Long_F",[-24.5767,-9.90649,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-22.8071,-8.13794,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-18.7427,-12.3811,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-23.2368,2.26245,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-21.8657,6.25952,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-22.3657,-13.8772,-0.00143909],135,true,true], + ["Land_BagFence_Long_F",[-9.74268,-25.1174,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-18.5649,-8.3147,-0.00143909],45,true,true], + ["Land_BagFence_Long_F",[-23.2368,4.88843,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-25.2192,0.111084,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-25.2192,-2.76587,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-26.5884,-1.39282,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-24.3989,-13.9709,-0.00143909],225,true,true], + ["Land_BagFence_Round_F",[-17.5747,-10.4006,-0.00143909],270,true,true], + ["Land_BagFence_Round_F",[-25.5493,-11.9026,-0.00143909],90,true,true], + ["Land_BagFence_Round_F",[-20.7212,-7.07642,-0.00143909],180,true,true], + ["Land_BagFence_End_F",[-9.7583,-23.3167,-0.00143909],270,true,true], + ["Land_Cargo_Patrol_V3_F",[-10.9263,-16.053,-0.00143862],45,true,true], + ["Land_Cargo_House_V3_F",[-3.09424,-20.7424,-0.00143909],180,true,true], + ["CamoNet_OPFOR_open_F",[-0.225098,8.17163,-0.00143909],0,true,true], + ["Land_HBarrier_3_F",[-1.85596,17.1208,-0.00143909],180,true,true], + ["Land_HBarrier_3_F",[-2.70752,19.4275,-0.00143909],90,true,true], + ["Land_HBarrier_Big_F",[-19.6177,9.36694,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[-19.6646,17.5466,-0.00143909],90,true,true], + ["Land_HBarrier_1_F",[-4.93994,9.58374,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[-16.4673,27.1775,-0.00143909],285,true,true], + ["Land_HBarrier_1_F",[-2.68408,25.3513,-0.00143909],120,true,true], + ["Land_BagFence_Long_F",[-2.30908,23.7244,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-19.7173,23.0505,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-19.7153,25.9265,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-18.3462,27.4314,-0.00143909],0,true,true], + ["Land_Cargo_Patrol_V3_F",[-15.4087,10.7146,-0.00143862],90,true,true], + ["Land_HBarrier_5_F",[-15.7407,14.7517,-0.00143909],0,true,true], + ["Land_HBarrier_5_F",[-6.33838,7.41382,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[4.87646,-28.4124,-0.00143909],330,true,true], + ["Land_HBarrier_3_F",[10.5171,0.540771,-0.00143909],0,true,true], + ["Land_HBarrier_3_F",[11.3687,-7.17212,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[23.0171,-13.6155,-0.00143909],285,true,true], + ["Land_HBarrier_Big_F",[3.04834,3.62964,-0.00143909],1.36604e-005,true,true], + ["Land_HBarrier_Big_F",[11.8745,-23.9084,-0.00143909],330,true,true], + ["Land_HBarrier_Big_F",[7.90967,0.343506,-0.00143909],90,true,true], + ["Land_HBarrier_Big_F",[24.978,-5.36938,-0.00143909],285,true,true], + ["Land_HBarrier_Big_F",[11.2808,-4.62427,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[25.9077,2.68921,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[4.35498,-2.41431,-0.00143909],90,true,true], + ["Land_HBarrier_1_F",[21.0073,-21.7493,-0.00143909],30,true,true], + ["Land_BagFence_Long_F",[19.1304,-21.6174,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[16.5073,-21.6174,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[7.89795,6.07788,-0.00143909],270,true,true], + ["Land_Loudspeakers_F",[21.2026,-15.3088,-0.00143909],196,true,true], + ["Land_HBarrier_5_F",[17.7847,6.20483,-0.00143909],270,true,true], + ["Land_HBarrier_5_F",[11.3823,-11.5022,-0.00143909],270,true,true], + ["Land_HBarrier_5_F",[5.75146,-0.244385,-0.00143909],90,true,true], + ["Land_Cargo_House_V3_F",[5.49561,-9.99927,-0.00143909],90,true,true], + ["Land_Cargo_House_V3_F",[5.03076,-17.6174,-0.00143909],150,true,true], + ["CamoNet_OPFOR_open_F",[22.6538,9.88257,-0.00143909],270,true,true], + ["Land_HBarrier_3_F",[18.7593,9.75757,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[9.20264,21.2849,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[15.9546,18.7849,-0.00143909],225,true,true], + ["Land_HBarrier_Big_F",[22.4077,16.1892,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[0.70459,21.283,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[25.7827,11.0642,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[4.57764,19.0466,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[4.57764,16.1716,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[11.3843,19.2634,-0.00143909],90,true,true], + ["Land_BagFence_End_F",[4.57764,14.4216,-0.00143909],90,true,true], + ["Land_BagFence_End_F",[7.68896,7.77515,-0.00143909],240,true,true], + ["Land_BagFence_End_F",[11.3843,17.5134,-0.00143909],90,true,true] + ]; // list of objects to spawn as landscape; // list of objects to spawn as landscape + +_buildings = [ + //"Land_Cargo_HQ_V4_F", + //"Land_Cargo_HQ_V1_F", + //"Land_Cargo_HQ_V2_F", + //"Land_Cargo_HQ_V3_F", + //"Land_Cargo_Tower_V1_F", + //"Land_Cargo_Tower_V2_F", + //"Land_Cargo_Tower_V3_F", + "Land_Cargo_Patrol_V3_F", + "Land_Cargo_House_V3_F" +]; +_enemyLeaderConfig = + ["I_G_resistanceLeader_F", // select 0 + [-7.83789,13.1465,-0.00143886], // select 1 + 126.345, // select 2 + [true,false], // select 3 + ["Acts_B_briefings"], // Use the animation viewer to see other choices: http://killzonekid.com/arma-3-animation-viewer-jumping-animation/ + ["H_Beret_Colonel"], // array of headgear choices + ["U_OrestesBody"], // array of uniform choices + [selectRandom _buildings,[-3.79102,2.56055,0],0,[true,false]] + ]; +_enemyLeaderConfig set[ + 1, selectRandom [[-7.83789,13.1465,-0.00143886]] + ]; + // This allows us to place the antagonist to be arrested in one of several random locations. +_missionLootBoxes = [ + //["Box_NATO_Wps_F",[3,-3,0],_crateLoot,[4,10,2,5,5,1]], // Standard loot crate with standard loadout + //["Land_PaperBox_C_EPOCH",[-4,-3,0],_crateLoot,[0,0,0,10,10,3]], // No Weapons, Magazines, or optics; 10 each construction supplies and food/drink items, 3 backpacks + //["Land_CargoBox_V1_F",[3,4,0],_crateLoot,[0,10,2,5,5,1]] + ]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. + + // GMS_lootCountsBlue= [4,12,3,6,6,1]; +_missionPatrolVehicles = [ + //["B_LSV_01_armed_F",[-41.377,-5.40894,-0.0238895],0.00171121], + ["B_LSV_01_armed_F",[39.5627,-5.26709,-0.0237107],0.00169144] + ]; // Parameters are "vehiclel type", offset relative to mission center, loot array, items to load from each category of the loot array. + // ["B_HMG_01_high_F"/*,"B_GMG_01_high_F","O_static_AT_F"*/]; + + /* + ["B_G_Soldier_AR_F",[-19.5156,25.2598,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[-27.7676,-24.5508,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[32.4883,-23.4609,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[36.6914,12.1836,-0.00143886],0,[true,false]] + */ + + +_missionEmplacedWeapons = []; // +_missionPatrolVehicles = [ + //["B_MRAP_01_hmg_F",[27.8945,100.275,0],0,[true,false]], + //["B_MRAP_01_hmg_F",[-84.7793,72.2617,9.53674e-007],0,[true,false]], + //["B_MRAP_01_gmg_F",[-87.8457,-109.947,7.15256e-007],0,[true,false]] +]; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; +_chancePara = GMS_chanceParaBlue; +_noPara = GMS_noParaBlue; +_chanceHeliPatrol = 0; +_spawnCratesTiming = "atMissionEndAir"; +_endCondition = assetSecured; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear, assetSecured +//_timeOut = -1; +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/junkyardWilly.sqf b/@GMS/addons/GMS/Missions/Red/junkyardWilly.sqf new file mode 100644 index 0000000..2e11ecc --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/junkyardWilly.sqf @@ -0,0 +1,46 @@ +/* +Mission Compositions by Ghostrider [GRG] for ghostridergaming +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "An enemy junkyard was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Sector at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[200,200],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Junkyard"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Land_Wreck_Van_F",[-9.02148,-1.02734,0],0,[false,false]], + ["Land_Wreck_Truck_dropside_F",[-3.02148,-7.02734,2.38419e-007],0,[false,false]], + ["Land_Wreck_T72_hull_F",[4.97852,8.97266,0],0,[false,false]], + ["Land_Wreck_Slammer_turret_F",[-5.02148,4.97266,0],0,[false,false]], + ["Land_Wreck_Ural_F",[9.97852,2.97266,-2.38419e-007],0,[false,false]], + ["Land_Wreck_UAZ_F",[9.97852,-5.02734,-2.38419e-007],0,[false,false]], + ["Land_Wreck_Offroad2_F",[6.97852,-11.0273,0],0,[false,false]], + ["Land_Wreck_Offroad_F",[-9.02148,-10.0273,2.38419e-007],0,[false,false]], + ["Land_Wreck_Heli_Attack_02_F",[17.9785,12.9727,0],0,[false,false]], + ["Land_Wreck_Hunter_F",[-10.0215,14.9727,2.38419e-007],0,[false,false]], + ["Land_Wreck_Car3_F",[-16.0215,5.97266,0],0,[false,false]], + ["Land_Wreck_Car_F",[-15.0215,-6.02734,0],0,[false,false]], + ["Land_Wreck_Car2_F",[17.9785,-6.02734,2.38419e-007],0,[false,false]], + ["Land_Wreck_Truck_F",[3.97852,23.9727,0],0,[false,false]], + ["Land_Wreck_CarDismantled_F",[-1.02148,-16.0273,0],0,[false,false]], + ["Land_Wreck_BRDM2_F",[-21.0215,0.972656,0],0,[false,false]], + ["Land_Wreck_BMP2_F",[14.9785,-18.0273,0],0,[false,false]], + ["Flag_AAF_F",[4,4,0],0,[false,false]] +]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/lager.sqf b/@GMS/addons/GMS/Missions/Red/lager.sqf new file mode 100644 index 0000000..bf8efbc --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/lager.sqf @@ -0,0 +1,175 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "An enemy Camp was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Camp at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Nachschublager"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_Tower_V1_F",[-8.1167,-39.0396,-0.00143862],180.738,true,true,[["O_HMG_01_high_F",[-4.98901,13.312,-0.0121193],359.999],["O_HMG_01_high_F",[-4.88916,0.893799,17.8798],359.999],["O_GMG_01_high_F",[2.86377,5.15186,17.7791],0.00110346],["O_GMG_01_high_F",[3.12354,-4.59814,17.8788],0.00619121],["O_HMG_01_high_F",[8.82837,21.6572,-0.0121193],359.999],["O_GMG_01_high_F",[-3.55591,26.4539,-0.0118098],360]],[]], + ["Land_Cargo_Tower_V1_F",[-8.7854,37.2058,-0.00143862],180.738,true,true,[["O_HMG_01_high_F",[-4.1167,-15.228,-0.0121188],359.999],["O_GMG_01_high_F",[-5.05029,0.812012,17.8801],359.999],["O_HMG_01_high_F",[2.97925,4.90308,17.7791],359.995],["O_HMG_01_high_F",[3.02808,-5.19946,17.8776],359.987],["O_HMG_01_high_F",[9.59595,-22.2854,-0.0121188],359.999],["O_GMG_01_high_F",[-1.95337,-25.9678,-0.0118098],360]],[]], + ["Land_Cargo_HQ_V1_F",[41.5171,-35.4209,-0.00143814],88.7297,true,true,[["O_HMG_01_high_F",[-4.19043,0.419922,3.1134],360],["O_GMG_01_high_F",[1.2395,-6.33594,3.11891],359.998]],[]], + ["Land_Cargo_HQ_V1_F",[41.6394,35.6191,-0.00143814],271.277,true,true,[["O_HMG_01_high_F",[1.75781,6.54565,3.11813],359.998]],[]], + ["Land_Cargo_Patrol_V1_F",[58.7402,-14.1282,-0.00143814],179.058,true,true,[["O_HMG_01_high_F",[0.936523,-0.546631,4.55561],186.318],["O_HMG_01_high_F",[-8.49658,3.90869,-0.0121207],0.00101132]],[]], + ["Land_Cargo_Patrol_V1_F",[58.6057,14.2329,-0.00143814],359.375,true,true,[["O_GMG_01_high_F",[1.16113,-1.15356,4.33123],360],["O_HMG_01_high_F",[-8.44897,-1.0686,-0.0121198],359.999]],[]] +]; + +_missionLandscape = [ + //["babe_helper",[-3950.48,-2427.52,-0.00143862],0,true,true], + //["Sign_Arrow_Green_F",[-3947.98,-2428.02,-0.00143862],0,true,true], + //["Sign_Arrow_F",[-3947.98,-2428.02,-0.00143862],0,true,true], + //["Sign_Arrow_Yellow_F",[-3947.98,-2428.02,-0.00143862],0,true,true], + ["Land_LampHalogen_F",[-16.9238,-29.4194,-0.00143814],175.993,true,true], + ["Land_HBarrierBig_F",[-16.6211,-36.4802,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-16.6907,-44.7676,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-16.8193,-28.7813,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-17.0107,-4.99146,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-16.8831,-20.9722,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-16.813,-12.6887,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-16.9338,3.10571,-0.00143862],271.533,true,true], + ["Land_LampHalogen_F",[-17.1384,26.0154,-0.00143814],175.993,true,true], + ["Land_HBarrierBig_F",[-17.126,26.9011,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-17.0623,19.092,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-16.8643,11.3931,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-17.0559,35.1846,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[-17.2517,42.8821,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[10.6238,-49.76,-0.00143862],1.58276,true,true], + ["Land_HBarrierBig_F",[4.90186,-29.2209,-0.00143862],181.755,true,true], + ["Land_HBarrierBig_F",[2.92627,-49.9541,-0.00143862],1.58276,true,true], + ["Land_HBarrierBig_F",[-3.42188,-29.1743,-0.00143862],181.755,true,true], + ["Land_HBarrierBig_F",[-5.36133,-49.8767,-0.00143862],1.58276,true,true], + ["Land_HBarrierBig_F",[-13.5088,-49.9219,-0.00143862],1.58276,true,true], + ["Land_HBarrierBig_F",[13.3582,-29.1738,-0.00143862],181.755,true,true], + ["Land_HBarrierBig_F",[-11.5808,-29.1753,-0.00143862],181.755,true,true], + ["Land_LampHalogen_F",[6.08081,-17.4399,-0.00143814],183.353,true,true], + ["Land_Cargo_House_V1_F",[5.85425,-11.7749,-0.00143862],178.957,true,true], + ["Land_Cargo_House_V1_F",[12.7263,-11.8384,-0.00143862],180.484,true,true], + ["Land_Cargo_House_V1_F",[6.03076,-23.2114,-0.00143862],0.530105,true,true], + ["Land_Cargo_House_V1_F",[-9.97656,-7.45703,-0.00143862],270.031,true,true], + ["Land_Cargo_House_V1_F",[-9.95679,-0.756836,-0.00143862],270.244,true,true], + ["Land_Cargo_House_V1_F",[12.6707,-23.292,-0.00143862],0.742551,true,true], + ["Land_LampHalogen_F",[4.89917,14.9739,-0.00143814],183.353,true,true], + ["Land_HBarrierBig_F",[3.46533,26.0403,-0.00143862],181.755,true,true], + ["Land_HBarrierBig_F",[-4.86035,26.0867,-0.00143862],181.755,true,true], + ["Land_HBarrierBig_F",[11.9197,26.0874,-0.00143862],181.755,true,true], + ["Land_HBarrierBig_F",[-13.1709,26.1252,-0.00143862],181.755,true,true], + ["Land_Cargo_House_V1_F",[-9.93091,6.11108,-0.00143862],268.716,true,true], + ["Land_Cargo_House_V1_F",[11.5469,20.5737,-0.00143862],180.484,true,true], + ["Land_Cargo_House_V1_F",[11.4912,9.12012,-0.00143862],0.742551,true,true], + ["Land_Cargo_House_V1_F",[4.6748,20.6372,-0.00143862],178.957,true,true], + ["Land_Cargo_House_V1_F",[4.79419,9.20044,-0.00143862],0.530105,true,true], + ["Land_HBarrierBig_F",[-13.959,47.9253,-0.00143862],1.51588,true,true], + ["Land_HBarrierBig_F",[10.1702,48.1106,-0.00143862],1.51588,true,true], + ["Land_HBarrierBig_F",[1.88428,48.1787,-0.00143862],1.51588,true,true], + ["Land_HBarrierBig_F",[-6.26294,48.124,-0.00143862],1.51588,true,true], + ["Land_LampHalogen_F",[37.4138,-49.6885,-0.00143814],86.6613,true,true], + ["Land_HBarrierBig_F",[18.4333,-49.7061,-0.00143862],1.58276,true,true], + ["Land_HBarrierBig_F",[21.7261,-29.1707,-0.00143862],181.755,true,true], + ["Land_HBarrierBig_F",[34.4153,-49.5938,-0.00143862],1.58276,true,true], + ["Land_HBarrierBig_F",[42.5332,-49.4375,-0.00143862],1.58276,true,true], + ["Land_HBarrierBig_F",[26.7168,-49.782,-0.00143862],1.58276,true,true], + ["Land_LampHalogen_F",[24.2969,-4.63354,-0.00143814],175.763,true,true], + ["Land_LampHalogen_F",[24.0779,2.92041,-0.00143814],175.763,true,true], + ["Land_HBarrierBig_F",[24.7175,-16.5247,-0.00143862],270.156,true,true], + ["Land_HBarrierBig_F",[24.5884,-8.51978,-0.00143862],270.156,true,true], + ["Land_HBarrierBig_F",[20.874,3.03345,-0.00143862],181.755,true,true], + ["Land_HBarrierBig_F",[24.8879,-24.3479,-0.00143862],270.156,true,true], + ["Land_HBarrierBig_F",[21.095,-4.52222,-0.00143862],181.755,true,true], + ["Land_Cargo_House_V1_F",[19.4255,-11.8789,-0.00143862],180.272,true,true], + ["Land_Cargo_House_V1_F",[19.5381,-23.3779,-0.00143862],359.215,true,true], + ["Land_HBarrierBig_F",[24.0823,6.26489,-0.00143862],270.156,true,true], + ["Land_HBarrierBig_F",[23.7832,22.0911,-0.00143862],270.156,true,true], + ["Land_HBarrierBig_F",[23.9121,14.0862,-0.00143862],270.156,true,true], + ["Land_HBarrierBig_F",[20.2896,26.0906,-0.00143862],181.755,true,true], + ["Land_Cargo_House_V1_F",[18.3564,9.03589,-0.00143862],359.215,true,true], + ["Land_Cargo_House_V1_F",[18.2441,20.533,-0.00143862],180.272,true,true], + ["Land_LampHalogen_F",[37.1499,49.4319,-0.00143814],270.972,true,true], + ["Land_HBarrierBig_F",[17.8696,48.312,-0.00143862],1.51588,true,true], + ["Land_HBarrierBig_F",[33.9624,48.3108,-0.00143862],1.51588,true,true], + ["Land_HBarrierBig_F",[25.6785,48.3774,-0.00143862],1.51588,true,true], + ["Land_HBarrierBig_F",[41.6587,48.5078,-0.00143862],1.51588,true,true], + ["Land_HBarrierBig_F",[53.832,-28.3086,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[53.8938,-44.4204,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[53.9326,-36.322,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[50.8213,-49.5146,-0.00143862],1.58276,true,true], + ["Land_LampHalogen_F",[61.6257,-8.93774,-0.00143814],183.353,true,true], + ["Land_HBarrierBig_F",[53.5598,-12.5808,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[58.1006,-9.04248,-0.00143862],180.639,true,true], + ["Land_HBarrierBig_F",[53.6702,-20.0735,-0.00143862],271.533,true,true], + ["Land_LampHalogen_F",[61.2739,9.27808,-0.00143814],183.353,true,true], + ["Land_HBarrierBig_F",[57.9741,9.22607,-0.00143862],180.457,true,true], + ["Land_HBarrierBig_F",[53.0159,20.7566,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[53.2136,13.0596,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[53.0928,28.8538,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[53.1624,37.1411,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[52.9644,44.8403,-0.00143862],271.533,true,true], + ["Land_HBarrierBig_F",[49.8362,48.4373,-0.00143862],1.51588,true,true] +]; + +_missionLootBoxes = [ + //["Exile_Container_SupplyBox",[-2.28174,0.128662,-0.00143862],_crateLoot,_lootCounts,0.000181514] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + ["Exile_Car_Hunter",[24.8054,-67.8333,0.00875282],89.6558], + ["Exile_Car_HEMMT",[24.8997,69.1799,-0.00138235],91.5468], + ["O_LSV_02_armed_F",[74.0911,1.21655,-0.0377212],359.999] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/medicalCamp.sqf b/@GMS/addons/GMS/Missions/Red/medicalCamp.sqf new file mode 100644 index 0000000..29db8eb --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/medicalCamp.sqf @@ -0,0 +1,56 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = medicalCamp"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "A Bandit Medical camp has been spotted. Check the Red marker on your map for its location"; +_endMsg = "The Bandit Medical camp at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[200,200],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Medical Camp"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AAF_F",[6,5,0],0,[false,true]], + ["Land_dp_transformer_F",[1.698242,-10.4668,-0.00763702],271.32,[true,true]], + ["Land_Wreck_BRDM2_F",[1.37012,13.498,0.00109863],184.487,[true,true]], + ["Land_BagBunker_Small_F",[18.4512,-3.66406,0.00780487],305.003,[true,true]], + ["Land_Cargo_HQ_V1_F",[-20.1367,11.7539,0],90.8565,[true,false]], + ["Land_BagBunker_Small_F",[-22.707,-3.75586,-0.0130234],44.9901,[true,true]], + ["Land_Cargo_House_V1_F",[24.3584,7.45313,0.00111389],91.6329,[true,true]], + ["StorageBladder_01_fuel_forest_F",[1.29492,29.3184,0.000999451],179.65,[false,true]], + ["Land_GarbageBags_F",[-9.45996,31.252,0.02005],184.595,[false,true]], + ["Land_GarbageBags_F",[-13.0459,32.668,-0.0283051],184.595,[false,false,true]], + ["Land_GarbageBags_F",[-11.5957,33.125,-0.598007],184.595,[false,false,true]], + ["Land_GarbageBags_F",[-8.98145,34.5801,-0.00514221],184.592,[false,true]], + ["Land_Addon_02_V1_ruins_F",[24.8369,24.6582,-0.00820923],90.9637,[false,true]], + ["Land_GarbageBags_F",[-10.9443,35.0449,0.577057],184.592,[false,true]], + ["Land_Cargo20_military_green_F",[14.6533,32.9004,0.000480652],90.0989,[false,true]], + ["Land_BagBunker_Small_F",[-23.0186,28.6738,-0.0271301],120.012,[false,true]], + ["Land_BagBunker_Small_F",[37.1504,34.5742,0.0146866],255,[false,true]] + ]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; + diff --git a/@GMS/addons/GMS/Missions/Red/redCamp.sqf b/@GMS/addons/GMS/Missions/Red/redCamp.sqf new file mode 100644 index 0000000..929f980 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/redCamp.sqf @@ -0,0 +1,85 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = redCamp"; + +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "A temporary enemy camp has been spotted. Check the Red marker on your map for its location"; +_endMsg = "The temporary enemy camp at the Red Marker is under player control"; +_markerLabel = ""; +_markerType = ["ellipse",[200,200],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Bandit Camp"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Land_CampingChair_V1_F",[1.32227,2.07813,8.2016e-005],108.293,[false,true]], + ["Land_CampingChair_V1_F",[-2.01465,2.91992,3.05176e-005],236.049,[false,true]], + ["FirePlace_burning_F",[0.0302734,4.26563,2.47955e-005],359.997,[false,true]], + ["Land_CampingChair_V1_F",[2.47168,4.21484,0.000102997],108.293,[false,true]], + ["Land_CampingChair_V1_F",[-1.86816,5.07422,3.05176e-005],319.489,[false,true]], + ["Land_CampingChair_V1_F",[0.915039,6.20898,1.71661e-005],51.7207,[false,true]], + ["Land_Sleeping_bag_brown_F",[8.27441,0.609375,0.00414658],98.0314,[false,true]], + ["Land_Sleeping_bag_brown_F",[8.27344,2.76758,0.00447083],91.7928,[false,true]], + ["Land_Sleeping_bag_brown_F",[7.9082,4.95898,-0.00173759],85.1176,[false,true]], + ["Land_Garbage_square3_F",[-4.95508,8.24023,0.00018692],60.0024,[false,true]], + ["Land_Camping_Light_F",[8.92773,3.80273,-0.000205994],344.236,[false,true]], + ["Land_Sleeping_bag_brown_F",[7.32129,7.55859,-0.0051899],60.1216,[false,true]], + ["Land_TentDome_F",[-9.75488,3.13477,0.00125313],146.574,[false,true]], + ["Land_WoodPile_F",[-0.322266,9.97266,-0.000553131],35.0017,[false,true]], + ["Land_Razorwire_F",[-0.0185547,-9.84961,0.0752335],1.7831,[false,true]], + ["Land_CampingChair_V1_folded_F",[3.8584,9.59375,0],60,[false,true]], + ["Land_TentDome_F",[-8.76855,7.85156,-0.00471497],207.522,[false,true]], + ["Land_BagFence_Round_F",[8.99707,-8.01367,-0.00951576],326.002,[false,true]], + ["Land_BagFence_Round_F",[-10.8164,-6.33594,-0.0038681],59.9991,[false,true]], + ["Land_TentDome_F",[-7.12207,11.8398,-0.00328445],231.101,[false,true]], + ["Land_CampingTable_small_F",[-4.62598,13.2754,7.62939e-005],344.243,[false,true]], + ["Land_Camping_Light_F",[-4.5957,13.332,0.687943],344.243,[false,true]], + ["Land_Razorwire_F",[15.5459,0.605469,0.145557],102.505,[false,true]], + ["Land_BagFence_Round_F",[7.16211,13.8516,0.000429153],221.639,[false,true]], + ["Land_Razorwire_F",[15.9678,8.35938,0.0635166],85.7459,[false,true]], + ["Land_Razorwire_F",[-19.1553,-1.61328,-0.0238552],70.0997,[false,true]], + ["Land_Razorwire_F",[-12.3906,-15.4492,0.0128002],19.2641,[false,true]], + ["Land_Razorwire_F",[-19.4629,5.67969,0.0492821],102.505,[false,true]], + ["Land_BagFence_Round_F",[-11.2891,17.6777,-0.00759888],128.563,[false,true]], + ["Land_Razorwire_F",[15.2949,-14.3027,0.0502853],139.224,[false,true]], + ["Land_Razorwire_F",[15.2852,16.2656,-0.0208111],85.1363,[false,true]], + ["Land_Razorwire_F",[4.80273,21.8223,-0.0563145],49.2133,[false,true]], + ["Land_Razorwire_F",[-17.7891,13.4863,-0.0646877],102.5,[false,true]], + ["Land_Razorwire_F",[-14.7109,20.2871,0.0674477],306.189,[false,true]], + ["Land_BagFence_Round_F",[25.3975,-6.08008,0.00466537],272.26,[false,true]], + ["Land_Wreck_Truck_F",[26.6289,12.2441,0.00333214],344.243,[false,true]], + ["Land_GarbageBags_F",[-24.9463,17.3066,0.000968933],60.0003,[false,true]], + ["Land_BagFence_Round_F",[11.167,28.832,-0.00405121],178.394,[false,true]], + ["Land_BagFence_Round_F",[-6.36914,30.6953,-0.000207901],178.378,[false,true]], + ["Land_Wreck_Hunter_F",[21.0391,25.9707,0.0118179],325.412,[false,true]], + ["Land_Camping_Light_F",[-33.7852,10.0371,0.000759125],344.235,[false,true]], + ["Land_BagFence_Round_F",[-34.3232,10.1035,0.00181007],60.0012,[false,true]] + ]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; + + diff --git a/@GMS/addons/GMS/Missions/Red/resupplyCamp.sqf b/@GMS/addons/GMS/Missions/Red/resupplyCamp.sqf new file mode 100644 index 0000000..513290a --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/resupplyCamp.sqf @@ -0,0 +1,46 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = resupplyCamp"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "A Bandit resupply camp has been spotted. Check the Red marker on your map for its location"; +_endMsg = "The Bandit resupply camp at the Red Marker is under player control"; +_markerLabel = ""; +_markerType = ["ellipse",[200,200],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Resupply Camp"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Land_Cargo_House_V1_F",[-29.41016,0.13477,-0.0224228],359.992,[true,true]], + ["Land_Cargo_House_V1_F",[29.2988,-0.1,0.150505],54.9965,[true,true]], + ["CamoNet_INDP_big_F",[-20.4346,15.43164,-0.00395203],54.9965,[false,true]], + ["Land_BagBunker_Small_F",[-20.4346,15.43164,-0.0138168],119.996,[false,true]], + ["Land_BagBunker_Small_F",[-20.3604,-15.6035,-0.0130463],44.9901,[false,true]], + ["Land_BagBunker_Small_F",[18.4453,-15.791,0.00744629],305.003,[false,true]], + ["Land_BagBunker_Small_F",[18.3711,15.5703,0.0101624],254.999,[false,true]], + ["CamoNet_INDP_big_F",[18.3711,15.5703,-0.00395203],54.9965,[false,true]] + ]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/survivalSupplies.sqf b/@GMS/addons/GMS/Missions/Red/survivalSupplies.sqf new file mode 100644 index 0000000..0198b57 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/survivalSupplies.sqf @@ -0,0 +1,97 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default"; +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; +_startMsg = "An enemy cache of supplies was sighted in a nearby sector! Check the Blue marker on your map for the location!"; +_endMsg = "The supply cache is under survivor control!"; + +_markerMissionName = "Survival Supplies"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorBlue"; +_markerLabel = ""; + + +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ +]; + +_missionLandscape = [ + ["Land_Crane_F",[2.51807,-4.66016,-0.00143909],0,true,true], + ["Land_Sink_F",[-3.77686,7.6582,-0.00135088],0,true,true], + ["Land_Wreck_Truck_dropside_F",[-2.01465,-10.9937,-0.00143909],49.8078,true,true], + ["Land_Wreck_Car2_F",[4.23486,-2.31738,-0.00143909],0,true,true], + ["Campfire_burning_F",[8.26514,-6.04102,-0.00143909],0,true,true], + ["Land_Timbers_F",[26.1719,2.8457,-0.00143909],0,true,true], + ["Land_Timbers_F",[23.7666,2.78564,-0.00143909],0,true,true], + ["Land_WoodPile_F",[10.9204,-6.24805,-0.00143909],0,true,true], + ["Land_Wreck_Offroad_F",[18.9897,-2.52344,-0.00143909],129.737,true,true], + ["Land_i_Barracks_V2_F",[6.89893,14.2139,-0.00143909],0,true,true] +]; + +_missionLootBoxes = []; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = [ + #ifdef GMS_milServer + ["I_Mortar_01_F",[4.10889,-12.8853,0.0354419],360], + ["I_HMG_01_F",[15.5317,-3.51758,0.0759335],202.402], + ["I_HMG_01_high_F",[9.75928,6.43506,-0.0135579],178.241] + #else + [selectRandom GMS_staticWeapons,[4.10889,-12.8853,0.0354419],360], + [selectRandom GMS_staticWeapons,[15.5317,-3.51758,0.0759335],202.402], + [selectRandom GMS_staticWeapons,[9.75928,6.43506,-0.0135579],178.241] + #endif + // selectRandom GMS_staticWeapons +]; + +_missionGroups = [ + // [[-3.30518,3.38721,0],3,6,"blue",30,45], + // [[2.85107,0.941895,0],3,6,"blue",30,45], + // [[13.2217,6.82227,0],3,6,"blue",30,45], + // [[8.5625,-3.65332,0],3,6,"blue",30,45] +]; + +_scubaGroupParameters = [ +]; + +_minNoAI = GMS_MinAI_Blue; // Setting this in the mission file overrides the defaults such as GMS_MinAI_Blue +_maxNoAI = GMS_MaxAI_Blue; // Setting this in the mission file overrides the defaults +_noAIGroups = GMS_AIGrps_Blue; // Setting this in the mission file overrides the defaults +_noVehiclePatrols = GMS_SpawnVeh_Blue; // Setting this in the mission file overrides the defaults +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; // Setting this in the mission file overrides the defaults +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; // Setting this in the mission file overrides the defaults + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/template.sqf b/@GMS/addons/GMS/Missions/Red/template.sqf new file mode 100644 index 0000000..5a7f067 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/template.sqf @@ -0,0 +1,103 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "An enemy research center was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Sector at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ellipse",[225,225],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Research Center"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + ["Flag_AltisColonial_F",[12.9492,-14.2676,0],0,[true,false]], + ["Land_Research_HQ_F",[-40.4258,-57.4492,-7.15256e-007],0,[true,false]], + ["Land_Research_HQ_F",[79.9063,68.1406,2.38419e-007],0,[true,false]], + ["Land_Research_house_V1_F",[-27.6895,70.9883,0],0,[true,false]], + ["Land_Research_house_V1_F",[-110.166,14.3926,0],0,[true,false]], + ["Land_Research_house_V1_F",[54.5078,-70.8457,0],0,[true,false]], + ["Land_Cargo_Patrol_V1_F",[111.865,11.9375,9.53674e-007],0,[true,false]], + ["Land_Cargo_HQ_V2_F",[-115.473,-44.5977,-4.76837e-007],0,[true,false]], + ["Land_SharpRock_apart",[-59.6836,-59.5996,-4.76837e-007],0,[true,false]], + ["Land_W_sharpRock_apart",[-81.6973,-42.4082,-4.76837e-007],0,[true,false]], + ["Land_SharpRock_apart",[-96.2168,-5.32031,4.76837e-007],0,[true,false]], + ["Land_Limestone_01_apart_F",[-79.2305,43.4219,0],0,[true,false]], + ["Land_Limestone_01_apart_F",[-50.2344,82.4746,0],0,[true,false]], + ["Land_BluntRock_apart",[3.88281,-71.5488,-2.38419e-007],0,[true,false]], + ["Land_Limestone_01_apart_F",[35.8926,-77.5918,0],0,[true,false]], + ["Land_Limestone_01_apart_F",[78.541,-52.3926,-4.76837e-007],0,[true,false]], + ["Land_Limestone_01_apart_F",[103.91,-6.88867,0],0,[true,false]], + ["Land_BluntRock_apart",[-11.5586,93.9688,-2.38419e-007],0,[true,false]], + ["Land_W_sharpStone_02",[54.7344,96.7012,0],0,[true,false]], + ["Land_BluntRock_apart",[77.4453,88.8301,-2.38419e-007],0,[true,false]], + ["Land_SharpRock_apart",[104.758,45.668,0],0,[true,false]], + ["Land_Limestone_01_02_F",[99.5117,23.752,-4.76837e-007],0,[true,false]], + ["Land_Limestone_01_02_F",[49.8477,50.0039,0],0,[true,false]], + ["Land_Limestone_01_02_F",[-8.14844,32.2227,4.76837e-007],0,[true,false]], + ["Land_Limestone_01_02_F",[-35.334,35.1465,-2.38419e-007],0,[true,false]], + ["Land_SharpStone_02",[-28.6523,1.33398,4.76837e-007],0,[true,false]], + ["Land_SharpStone_02",[-58.707,-7.46094,-4.76837e-007],0,[true,false]], + ["Land_Limestone_01_02_F",[64.5078,31.9707,0],0,[true,false]], + ["Land_Limestone_01_02_F",[33.7246,11.5469,0],0,[true,false]], + ["Land_SharpStone_02",[69.4277,-3.20313,0],0,[true,false]], + ["Land_SharpStone_02",[53.7227,-40.1777,-2.38419e-007],0,[true,false]], + ["Land_Limestone_01_02_F",[-6.26563,-46.0996,-4.76837e-007],0,[true,false]] +]; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = + [ + ["B_HMG_01_high_F",[27.8945,100.275,0],0,[true,false]], + ["B_HMG_01_high_F",[-84.7793,72.2617,9.53674e-007],0,[true,false]], + ["B_G_Mortar_01_F",[76.0586,66.9414,-3.1265],0,[true,false]] + ]; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used + +_missionGroups = + [ + //_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"]; + //[[-52.6523,15.8281,-0.00143838],4,6,"Red",4,8], + //[[-48.6113,-38.877,-0.00143886],4,6,"Red",4,8], + //[[18.4492,-39.5684,-0.00143838],4,6,"Red",4,8], + //[[42.6504,31.6621,-0.00143886],4,6,"Red",4,8], + //[[7.51563,46.4531,-0.001438864],4,6,"Red",4,8], + [[-8.99219,-11.623,-0.00143838],4,6,"Red",4,8] + ]; // Can be used to define spawn positions of AI patrols + +_missionPatrolVehicles = [ + //[selectRandom GMS_AIPatrolVehiclesRed,[27.8945,100.275,0],0,[true,false]], + //[selectRandom GMS_AIPatrolVehiclesRed,[-84.7793,72.2617,9.53674e-007],0,[true,false]], + [selectRandom GMS_AIPatrolVehiclesRed,[-87.8457,-109.947,7.15256e-007],0,[true,false]] +]; // can be used to define the spawn positions of vehicle patrols + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +_chanceLoot = 0.6; +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. +//_endCondition = allKilledOrPlayerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear +//_timeOut = -1; +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/testMission.sqf b/@GMS/addons/GMS/Missions/Red/testMission.sqf new file mode 100644 index 0000000..076f7ac --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/testMission.sqf @@ -0,0 +1,140 @@ + + +/* + Dynamic Mission Generated + Using 3DEN Plugin for blckeagls + dynamicMission.sqf generated:: blckeagls 3DEN Plugin Version 0 : Build 7 : Build Date 09/21/20 + By Ghostrider-GRG- +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +_defaultMissionLocations = []; +_markerType = ["round",[50,50],"GRID"]; +_markerColor = "red"; +_startMsg = "TODO: Change approiately"; +_endMsg = "TODO: Change Appropriately"; +_markerMissionName = "TODO: Update appropriately"; +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; + +_garrisonedBuildings_BuildingPosnSystem = [ + +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Medevac_HQ_V1_F",[-12.832,-6.40967,0],179.487,false,true,[["O_static_AA_F",[3.1626,3.46338,3.12652],0],["O_static_AT_F",[-6.3916,-3.32617,3.12652],0]],[[[-0.849609,0.173828,3.12796],0]]] +]; + +_missionLandscape = [ + ["Land_DeconTent_01_yellow_F",[-14.6782,8.51831,0],125.109,false,false], + ["DeconShower_02_F",[8.0249,-14.4717,0],0,false,true], + ["HazmatBag_01_F",[-7.54785,8.11841,0],0,false,false], + ["Land_MultiScreenComputer_01_olive_F",[-10.5688,3.57373,0.886935],202.361,true,true], + ["Land_MultiScreenComputer_01_black_F",[-10.231,2.22559,0.886935],261.232,true,true], + ["Land_PortableLight_02_quad_black_F",[-6.97998,9.46533,0],343.406,false,true], + ["Land_Razorwire_F",[-0.925293,-14.6257,0],0,false,false], + ["Land_Razorwire_F",[-9.43408,-14.6787,0],0,false,false], + ["Land_Razorwire_F",[-17.8281,-14.6936,0],0,false,false], + ["Land_Razorwire_F",[14.2949,-11.6028,0],269.575,false,false], + ["Land_Razorwire_F",[14.2549,-3.34668,0],269.575,false,false], + ["Land_Razorwire_F",[14.1929,5.09033,0],269.575,false,false], + ["Land_Razorwire_F",[14.1377,13.4653,0],269.575,false,false], + ["Land_Razorwire_F",[-22.9863,-11.5537,0],269.575,false,false], + ["Land_Razorwire_F",[-23.0264,-3.29761,0],269.575,false,false], + ["Land_Razorwire_F",[-23.0884,5.13843,0],269.575,false,false], + ["Land_Razorwire_F",[-23.1431,13.5134,0],269.575,false,false], + ["Land_Razorwire_F",[-1.58301,16.9043,0],0,false,false], + ["Land_Razorwire_F",[-10.0933,16.8503,0],0,false,false], + ["Land_Razorwire_F",[-18.4863,16.8354,0],0,false,false], + ["DeconShower_02_F",[7.93799,16.9402,0],0,true,true], + ["Land_Cargo_House_V1_F",[1.0708,-19.4346,0],269.909,true,true], + ["Land_Cargo_House_V1_F",[0.973633,21.8057,0],269.909,true,true], + ["RoadCone_L_F",[0,0,0],0,true,true] +]; + +_simpleObjects = [ + ["DeconShower_01_F",[-4.47119,6.31543,0.00600004],31.5], + ["Land_SolarPanel_04_black_F",[-5.67969,-9.79028,0],250.507], + ["Land_SatelliteAntenna_01_F",[-6.91016,-1.52856,0],61.162], + ["Land_PortableWeatherStation_01_olive_F",[-19.8584,2.68286,0],0], + ["Land_Cargo20_EMP_F",[-4.875,13.9023,0],0.349], + ["Land_DeskChair_01_olive_F",[-9.58643,2.39331,0],0], + ["Land_PortableDesk_01_olive_F",[-10.4292,2.88818,0],257.75], + ["Land_PortableCabinet_01_medical_F",[-7.76074,-0.27417,0],175.846], + ["Land_Cargo20_EMP_F",[-8.625,-21.1777,0],203.819], + ["Land_DeskChair_01_olive_F",[-10.1123,4.42334,0],315.776] +]; + +_missionLootVehicles = [ + +]; + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehicles,[-7.33154,41.9883,-0.000406742],89.3026,75,75], + [selectRandom GMS_AIPatrolVehicles,[-3.20459,-46.0554,-0.000406742],270.637,75,75] +]; + +_submarinePatrolParameters = [ + +]; + +_airPatrols = [ + +]; + +_missionEmplacedWeapons = [ + ["O_GMG_01_high_F",[14.8335,-17.9829,0],0], + ["O_GMG_01_high_F",[14.249,20.4355,0],0] +]; + +_missionGroups = [ + [[10.0596,-6.36841,0.00143909],3,6,"Blue",30,45], + [[-13.6816,-6.23584,3.12796],3,6,"Blue",30,45], + [[-8.26025,5.02686,0.00143909],3,6,"Blue",30,45], + [[3.58105,5.66821,0.00143909],3,6,"Blue",30,45] +]; + +_scubaGroupParameters = [ + +]; + +_missionLootBoxes = [ + +]; + +/* + Use the parameters below to customize your mission - see the template or GMS_configs.sqf for details about each them +*/ +_chanceHeliPatrol = GMS_chanceHeliPatrolBlue; +_noChoppers = GMS_noPatrolHelisBlue; +_missionHelis = GMS_patrolHelisBlue; +//_chancePara = GMS_chanceParaBlue; +//_noPara = GMS_noParaBlue; +//_paraTriggerDistance = 400; +//_paraSkill = 'Blue'; +//_chanceLoot = 0.0; +//_paraLoot = GMS_BoxLoot_Blue; +//_paraLootCounts = GMS_lootCountsBlue; +_missionLandscapeMode = "precise"; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +_vests = GMS_vests; +_backpacks = GMS_backpacks; +_sideArms = GMS_Pistols; +_spawnCratesTiming = "atMissionSpawnGround"; +_loadCratesTiming = "atMissionSpawn"; +_endCondition = allKilledOrPlayerNear; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; \ No newline at end of file diff --git a/@GMS/addons/GMS/Missions/Red/tko_camp.sqf b/@GMS/addons/GMS/Missions/Red/tko_camp.sqf new file mode 100644 index 0000000..cdb5a63 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/tko_camp.sqf @@ -0,0 +1,164 @@ +/* + Mission Template by Ghostrider [GRG] + Mission Compositions by Bill prepared for ghostridergaming + Copyright 2016 + Last modified 3/20/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Red Mission with template = default"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +_startMsg = "An enemy Military Camp was sighted in a nearby sector! Check the Red marker on your map for the location!"; +_endMsg = "The Military Camp at the Red Marker is under survivor control!"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorRed"; +_markerMissionName = "Military Camp"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" + +////////// +// Past the output of the script here +_garrisonedBuildings_BuildingPosnSystem = [ +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Cargo_House_V3_F",[8.00928,15.6453,-0.00143909],0,true,true,[["B_HMG_01_high_F",[-8.28516,3.27148,-0.0121188],0.000433404]],[]] +]; + +_missionLandscape = [ + //["babe_helper",[-3327.46,-2809.42,-0.00143909],0,true,true], + //["Sign_Arrow_Green_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + //["Sign_Arrow_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + //["Sign_Arrow_Yellow_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[-2.76221,-30.3596,-0.00143909],0,true,true], + ["Land_HBarrier_1_F",[-9.74463,-27.0081,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[-9.74268,-29.0042,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-8.36182,-30.3743,-0.00143909],180,true,true], + ["CamoNet_OPFOR_open_F",[-0.361816,-1.01782,-0.00143909],180,true,true], + ["Land_HBarrier_3_F",[-15.3853,-13.9866,-0.00143909],315,true,true], + ["Land_HBarrier_Big_F",[-3.61768,-5.26782,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[-5.46533,3.40405,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[-18.5767,-14.5354,-0.00143909],45,true,true], + ["Land_HBarrier_Big_F",[-12.4985,-20.3987,-0.00143909],45,true,true], + ["Land_HBarrier_1_F",[-22.9692,-2.77563,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[-23.3423,0.478271,-0.00143909],15,true,true], + ["Land_BagFence_Long_F",[-24.5767,-9.90649,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-22.8071,-8.13794,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-18.7427,-12.3811,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-23.2368,2.26245,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-21.8657,6.25952,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-22.3657,-13.8772,-0.00143909],135,true,true], + ["Land_BagFence_Long_F",[-9.74268,-25.1174,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-18.5649,-8.3147,-0.00143909],45,true,true], + ["Land_BagFence_Long_F",[-23.2368,4.88843,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-25.2192,0.111084,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-25.2192,-2.76587,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-26.5884,-1.39282,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-24.3989,-13.9709,-0.00143909],225,true,true], + ["Land_BagFence_Round_F",[-17.5747,-10.4006,-0.00143909],270,true,true], + ["Land_BagFence_Round_F",[-25.5493,-11.9026,-0.00143909],90,true,true], + ["Land_BagFence_Round_F",[-20.7212,-7.07642,-0.00143909],180,true,true], + ["Land_BagFence_End_F",[-9.7583,-23.3167,-0.00143909],270,true,true], + ["Land_Cargo_Patrol_V3_F",[-10.9263,-16.053,-0.00143862],45,true,true], + ["Land_Cargo_House_V3_F",[-3.09424,-20.7424,-0.00143909],180,true,true], + ["CamoNet_OPFOR_open_F",[-0.225098,8.17163,-0.00143909],0,true,true], + ["Land_HBarrier_3_F",[-1.85596,17.1208,-0.00143909],180,true,true], + ["Land_HBarrier_3_F",[-2.70752,19.4275,-0.00143909],90,true,true], + ["Land_HBarrier_Big_F",[-19.6177,9.36694,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[-19.6646,17.5466,-0.00143909],90,true,true], + ["Land_HBarrier_1_F",[-4.93994,9.58374,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[-16.4673,27.1775,-0.00143909],285,true,true], + ["Land_HBarrier_1_F",[-2.68408,25.3513,-0.00143909],120,true,true], + ["Land_BagFence_Long_F",[-2.30908,23.7244,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-19.7173,23.0505,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-19.7153,25.9265,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-18.3462,27.4314,-0.00143909],0,true,true], + ["Land_Cargo_Patrol_V3_F",[-15.4087,10.7146,-0.00143862],90,true,true], + ["Land_HBarrier_5_F",[-15.7407,14.7517,-0.00143909],0,true,true], + ["Land_HBarrier_5_F",[-6.33838,7.41382,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[4.87646,-28.4124,-0.00143909],330,true,true], + ["Land_HBarrier_3_F",[10.5171,0.540771,-0.00143909],0,true,true], + ["Land_HBarrier_3_F",[11.3687,-7.17212,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[23.0171,-13.6155,-0.00143909],285,true,true], + ["Land_HBarrier_Big_F",[3.04834,3.62964,-0.00143909],1.36604e-005,true,true], + ["Land_HBarrier_Big_F",[11.8745,-23.9084,-0.00143909],330,true,true], + ["Land_HBarrier_Big_F",[7.90967,0.343506,-0.00143909],90,true,true], + ["Land_HBarrier_Big_F",[24.978,-5.36938,-0.00143909],285,true,true], + ["Land_HBarrier_Big_F",[11.2808,-4.62427,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[25.9077,2.68921,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[4.35498,-2.41431,-0.00143909],90,true,true], + ["Land_HBarrier_1_F",[21.0073,-21.7493,-0.00143909],30,true,true], + ["Land_BagFence_Long_F",[19.1304,-21.6174,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[16.5073,-21.6174,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[7.89795,6.07788,-0.00143909],270,true,true], + ["Land_Loudspeakers_F",[21.2026,-15.3088,-0.00143909],196,true,true], + ["Land_HBarrier_5_F",[17.7847,6.20483,-0.00143909],270,true,true], + ["Land_HBarrier_5_F",[11.3823,-11.5022,-0.00143909],270,true,true], + ["Land_HBarrier_5_F",[5.75146,-0.244385,-0.00143909],90,true,true], + ["Land_Cargo_House_V3_F",[5.49561,-9.99927,-0.00143909],90,true,true], + ["Land_Cargo_House_V3_F",[5.03076,-17.6174,-0.00143909],150,true,true], + ["CamoNet_OPFOR_open_F",[22.6538,9.88257,-0.00143909],270,true,true], + ["Land_HBarrier_3_F",[18.7593,9.75757,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[9.20264,21.2849,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[15.9546,18.7849,-0.00143909],225,true,true], + ["Land_HBarrier_Big_F",[22.4077,16.1892,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[0.70459,21.283,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[25.7827,11.0642,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[4.57764,19.0466,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[4.57764,16.1716,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[11.3843,19.2634,-0.00143909],90,true,true], + ["Land_BagFence_End_F",[4.57764,14.4216,-0.00143909],90,true,true], + ["Land_BagFence_End_F",[7.68896,7.77515,-0.00143909],240,true,true], + ["Land_BagFence_End_F",[11.3843,17.5134,-0.00143909],90,true,true] +]; + +_missionLootBoxes = [ + //["Exile_Container_SupplyBox",[1.55273,0.0065918,-0.00143957],_crateLoot,_lootCounts,0.000522983] +]; + +_missionLootVehicles = [ +]; + +_missionPatrolVehicles = [ + //["B_LSV_01_armed_F",[-41.377,-5.40894,-0.0238895],0.00171121], + ["B_LSV_01_armed_F",[39.5627,-5.26709,-0.0237107],0.00169144] +]; + +_submarinePatrolParameters = [ +]; + +_airPatrols = [ +]; + +_missionEmplacedWeapons = []; // + + + +////////// +// The lines below define additional variables you may wish to configure. + + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Red; +_maxNoAI = GMS_MaxAI_Red; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; + +private _lootIndex = selectRandom[1,2,3,4]; +private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; +private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]]; +_paraLoot = _paralootChoices select _lootIndex; +_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Scouts/Scouts.sqf b/@GMS/addons/GMS/Missions/Scouts/Scouts.sqf new file mode 100644 index 0000000..1543d51 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Scouts/Scouts.sqf @@ -0,0 +1,56 @@ +/* + +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Scout Mission"; + +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = [3,5,2,3,6,1]; +_startMsg = "A group of Bandit Scouts was sighted in a nearby sector! Check the Red triangular marker on your map for the location!"; +_endMsg = "The Scout Camp is under Survivor Control!"; +_markerLabel = "Scouts"; +//_markerType = ["mil_triangle",[0,0]]; +_markerType = ["mil_triangle",[0,0]]; +_markerColor = "ColorRed"; +_markerMissionName = "Scouts"; +_missionLandscapeMode = "random"; // acceptable values are "none","random","precise" +_missionLandscape = ["Land_CratesWooden_F","Land_Mound01_8m_F", "Land_Mound01_8m_F","Land_Mound01_8m_F", "Land_Mound01_8m_F","Land_Mound01_8m_F", "Land_Mound01_8m_F","Land_CratesPlastic_F","Land_Sacks_goods_F","FirePlace_burning_F","Land_CratesShabby_F","Land_HBarrier_3_F","Land_HBarrier_3_F","Land_HBarrier_3_F","Land_HBarrier_3_F","Land_Sacks_heap_F","Land_Sacks_heap_F","Land_TentA_F","Land_TentA_F","Land_TentA_F"];; // list of objects to spawn as landscape +_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. +_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// Change _useMines to true/false below to enable mission-specific settings. +_missionGroups = [ + [[-5,-5,0],3,3,"Red",30,45], + [[-5,5,0],3,3,"Red",30,45], + [[5,5,0],3,3,"Red",30,45] +]; + +//_useMines = GMS_useMines; +_useMines = true; +_minNoAI = 6; +_maxNoAI = 9; +_noAIGroups = 3; +_noVehiclePatrols = -1; +_noEmplacedWeapons = -1; + +_uniforms = ["U_OG_Guerilla1_1","U_OG_Guerilla2_1","U_OG_Guerilla2_2","U_OG_Guerilla2_3","U_OG_Guerilla3_1","U_OG_Guerilla3_2"]; + +if (GMSCore_modtype isEqualTo "Epoch") then +{ + _headGear = ["H_92_EPOCH","H_91_EPOCH","H_90_EPOCH","H_89_EPOCH","H_88_EPOCH","H_87_EPOCH","H_86_EPOCH"]; + _uniforms = _uniforms + GMS_femaleUniformsEpoch; +}; +if (GMSCore_modtype isEqualTo "Exile") then +{ + _headGear = ["H_Cap_blk","H_Cap_blk_Raven","H_Cap_blu","H_Cap_brn_SPECOPS","H_Cap_grn","H_Cap_headphones","H_Cap_khaki_specops_UK","H_Cap_oli","H_Cap_press","H_Cap_red","H_Cap_tan","H_Cap_tan_specops_US"]; +}; + +_chancePara = 0; +_noPara = 0; +_chanceHeli = 0; +_noChoppers = 0; +_endCondition = allKilledOrPlayerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear + +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/UMS/GMS_UMS_StaticMissions_Lists.sqf b/@GMS/addons/GMS/Missions/UMS/GMS_UMS_StaticMissions_Lists.sqf new file mode 100644 index 0000000..a0dea71 --- /dev/null +++ b/@GMS/addons/GMS/Missions/UMS/GMS_UMS_StaticMissions_Lists.sqf @@ -0,0 +1,22 @@ +/* + by Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +if (!isServer) exitWith{}; + +private ["_staticMissions"]; + +_staticMissions = [ + // [mod (Epoch, Exile), map (Altis, Tanoa etc), mission center, eg [10445,2014,0], filename.sqf (name of static mission template for that mission)]; + //["Epoch","Altis","staticMissionExample2_Epoch.sqf"], + //["Exile","Altis","staticMissionExample2_Exile.sqf"] +]; + diff --git a/@GMS/addons/GMS/Missions/UMS/GMS_UMS_StaticMissions_init.sqf b/@GMS/addons/GMS/Missions/UMS/GMS_UMS_StaticMissions_init.sqf new file mode 100644 index 0000000..6cdb797 --- /dev/null +++ b/@GMS/addons/GMS/Missions/UMS/GMS_UMS_StaticMissions_init.sqf @@ -0,0 +1,27 @@ +/* + by Ghostrider [GRG] + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +//static mission descriptor for code: [position,level, numAI or [min,maxAI],patrolRadius, respawn, group[groupNull],spawnedAt[0],respawn[0]] +#include "\GMS\Compiles\Init\GMS_defines.hpp" +#include "\GMS\Missions\UMS\GMS_UMS_StaticMissions_Lists.sqf"; + +{ + diag_log format["[GMS] GMS__UMS_StaticMissions_init.sqf ",_x]; + diag_log format["[GMS] GMS__UMS_StaticMissions_init.sqf ",toLower worldName,(toLower GMSCore_modtype)]; + if ((toLower worldName) isEqualTo toLower(_x select 1)) then + { + if ((toLower GMSCore_modtype) isEqualTo (toLower(_x select 0))) then + { + call compilefinal preprocessFileLineNumbers format["\GMS\Missions\UMS\staticMissions\%1",(_x select 2)]; + }; + }; +}forEach _staticMissions; \ No newline at end of file diff --git a/@GMS/addons/GMS/Missions/UMS/GMS_UMS_configurations.sqf b/@GMS/addons/GMS/Missions/UMS/GMS_UMS_configurations.sqf new file mode 100644 index 0000000..ce9db45 --- /dev/null +++ b/@GMS/addons/GMS/Missions/UMS/GMS_UMS_configurations.sqf @@ -0,0 +1,91 @@ +/* + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\GMS\Compiles\Init\GMS_defines.hpp" + +GMS_UMS_uniforms = +[ + "U_I_Wetsuit", + "U_O_Wetsuit", + "U_B_Wetsuit" +]; + +GMS_UMS_headgear = +[ + "G_Diving", + "G_B_Diving", + "G_O_Diving", + "G_I_Diving" +]; + +GMS_UMS_vests = +[ + "V_RebreatherB", + "V_RebreatherIA", + "V_RebreatherIR" +]; + +GMS_UMS_weapons = +[ + "arifle_SDAR_F" +]; + +if ((tolower GMSCore_modtype) isEqualTo "exile") then +{ + GMS_UMS_submarines = + [ + + "Exile_Boat_SDV_CSAT", + "Exile_Boat_SDV_Digital", + "Exile_Boat_SDV_Grey" + ]; + + GMS_UMS_crates = ["Exile_Container_SupplyBox"]; +}; +if ((tolower GMSCore_modtype) isEqualTo "epoch") then +{ + GMS_UMS_submarines = ["B_SDV_01_EPOCH"]; + GMS_UMS_crates = GMS_crateTypes; + //GMS_UMS_crates = ["container_epoch"]; +}; +if ((toLower GMSCore_modtype) isEqualTo "default") then +{ + GMS_UMS_submarines = + [ + + "Exile_Boat_SDV_CSAT", + "Exile_Boat_SDV_Digital", + "Exile_Boat_SDV_Grey" + ]; + + GMS_UMS_crates = GMS_crateTypes; + +}; + +GMS_UMS_unarmedSurfaceVessels = +[ + "B_Boat_Transport_01_F", + "I_Boat_Transport_01_F" +]; +GMS_UMS_armedSurfaceVessels = +[ + "B_Boat_Armed_01_minigun_F", + "I_Boat_Armed_01_minigun_F" +]; +GMS_UMS_surfaceVessels = GMS_UMS_unarmedSurfaceVessels + GMS_UMS_armedSurfaceVessels; +GMS_UMS_shipWrecks = +[ + "Land_Boat_06_wreck_F", + "Land_Boat_05_wreck_F", + "Land_Boat_04_wreck_F", + "Land_Boat_02_abandoned_F", + "Land_Boat_01_abandoned_red_F", + "Land_Boat_01_abandoned_blue_F" +]; diff --git a/@GMS/addons/GMS/Missions/UMS/GMS_UMS_init.sqf b/@GMS/addons/GMS/Missions/UMS/GMS_UMS_init.sqf new file mode 100644 index 0000000..62674e4 --- /dev/null +++ b/@GMS/addons/GMS/Missions/UMS/GMS_UMS_init.sqf @@ -0,0 +1,27 @@ +/* + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +//diag_log "[GMS] Initializing UMS"; + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +GMS_dynamicUMS_MissionsRuning = 0; +GMS_priorDynamicUMS_Missions = []; +GMS_UMS_ActiveDynamicMissions = []; + +//diag_log "Including GMS_UMS_configurations.sqf"; +#include "GMS_UMS_configurations.sqf"; +//diag_log "Including GMS_UMS_dynamicMissionLIsts.sqf"; +//#include "GMS_UMS_dynamicMissionList.sqf"; +//diag_log format ["Initializing UMS static missions at %1",diag_tickTime]; +[] execVM "q\addons\GMS\Missions\UMS\GMS_UMS_StaticMissions_init.sqf"; + +//diag_log "[GMS] UMS "; + + diff --git a/@GMS/addons/GMS/Missions/UMS/code/GMS_fnc_sm_initializeUMSStaticMission.sqf b/@GMS/addons/GMS/Missions/UMS/code/GMS_fnc_sm_initializeUMSStaticMission.sqf new file mode 100644 index 0000000..ff40f8f --- /dev/null +++ b/@GMS/addons/GMS/Missions/UMS/code/GMS_fnc_sm_initializeUMSStaticMission.sqf @@ -0,0 +1,73 @@ +/* + By Ghostrider GRG + Copyright 2016 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "\GMS\Compiles\Init\GMS_defines.hpp" +params["_mission"]; +// Spawn landscape +// params["_objects"]; +if (isNil "_markerColor") then {_markerColor = "ColorBlack"}; +if (isNil "_markerType") then {_markerType = ["mil_box",[]]}; +if (isNil "_markerColor") then {_markerColor = "ColorBlack"}; +if (isNil "_markerType") then {_markerType = ["mil_box",[]]}; +if (isNil "_missionLandscape") then {_missionLandscape = []}; +if (isNil "_garrisonedBuilding_ASLsystem") then {_garrisonedBuilding_ASLsystem = []}; +if (isNil "_garrisonedBuildings_BuildingPosnSystem") then {_garrisonedBuildings_BuildingPosnSystem = []}; +if (isNil "_airPatrols") then {_airPatrols = []}; +if (isNil "_aiGroupParameters") then {_aiGroupParameters = []}; +if (isNil "_missionEmplacedWeapons") then {_missionEmplacedWeapons = []}; +if (isNil "_vehiclePatrolParameters") then {_vehiclePatrolParameters = []}; +if (isNil "_missionLootVehicles") then {_missionLootVehicles = []}; + +_markerClass = format["static%1",floor(random(1000000))]; +_GMS_localMissionMarker = [_markerClass,_missionCenter,"","",_markerColor,_markerType]; +if (GMS_labelMapMarkers select 0) then +{ + _GMS_localMissionMarker set [2, _markerMissionName]; +}; +if !(GMS_preciseMapMarkers) then +{ + _GMS_localMissionMarker set [1,[_missionCenter,75] call GMS_fnc_randomPosition]; +}; +_GMS_localMissionMarker set [3,GMS_labelMapMarkers select 1]; // Use an arrow labeled with the mission name? +[_GMS_localMissionMarker] call GMS_fnc_spawnMarker; + +[_missionLandscape] call GMS_fnc_sm_spawnObjects; +//diag_log format["_fnc_sm_initializeUMSStaticMission: count _airPatrols = %1 | _airPatrols = %2", count _airPatrols, _airPatrols]; +{ + [GMS_sm_Aircraft,_x] call GMS_fnc_sm_AddGroupToArray; + +}forEach _airPatrols; +//uiSleep 1; + +{ + [GMS_sm_Infantry,_x] call GMS_fnc_sm_AddGroupToArray; +}forEach _aiGroupParameters; + +{ + [GMS_sm_scubaGroups,_x] call GMS_fnc_sm_AddGroupToArray; +}forEach _aiScubaGroupParameters; + +{ + [GMS_sm_Emplaced,_x] call GMS_fnc_sm_AddGroupToArray; +}forEach _missionEmplacedWeapons; + +{ + [GMS_sm_surfaceShips,_x] call GMS_fnc_sm_AddGroupToArray; +}forEach _vehiclePatrolParameters; + +{ + [GMS_sm_submarines,_x] call GMS_fnc_sm_AddGroupToArray; +} forEach _submarinePatrolParameters; +//uiSleep 30; +// spawn loot chests +[_missionLootBoxes,_missionCenter] call GMS_fnc_sm_spawnLootContainers; + +diag_log format["[GMS] UMS Mission Spawner: Static UMS Mission %1 spawned",_mission]; diff --git a/@GMS/addons/GMS/Missions/UMS/dynamicMissions/default.sqf b/@GMS/addons/GMS/Missions/UMS/dynamicMissions/default.sqf new file mode 100644 index 0000000..60ac126 --- /dev/null +++ b/@GMS/addons/GMS/Missions/UMS/dynamicMissions/default.sqf @@ -0,0 +1,174 @@ +/* + This is a simple mission using precisely placed loot crates and infantry, static weapons and vehicle patrols. + See the accompanying example mission in the exampleMission folder to get an idea how I laid this out. + Note that I laid out the mission in EDEN editor, exported the mission using the exportAll function of M3EDEN editor. then copied, pasted and apporpriately edidet the specific categories of items to be spawned. +*/ +private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", + "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", + "_chancePara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines","_difficulty","_missionCenter", + "_missionGroups","_scubaGroupParameters","_vehiclePatrolParameters","_submarinePatrolParameters","_aircraftTypes","_noAirPatrols","_airPatrols", + "_vests","_backpacks","_weaponList","_sideArms","_uniforms","_headGear","_chanceHeliPatrol","_noChoppers","_chancePara","_missionHelis","_noPara", + "_chanceLoot","_paraTriggerDistance","_paraLoot","_paraLootCounts"]; +params["_missionCenter","_mission"]; +//_mission = "UMS mission example #2"; // Included for additional documentation. Not intended to be spawned as a mission per se. +//_missionCenter = [22584.9,15304.8,0]; // I pulled this from the position of the marker. +_aiDifficultyLevel = "red"; // Skill level of AI (blue, red, green etc) +//diag_log format["[blckeagls UMS missions] STARTED initializing dynamic mission %1 position at %2 difficulty %3",_mission,_missionCenter,_difficulty]; +//_crateLoot = GMS_BoxLoot_Orange; // You can use a customized _crateLoot configuration by defining an array here. It must follow the following format shown for a hypothetical loot array called _customLootArray + /* + _customLootArray = + // Loot is grouped as [weapons],[magazines],[items] in order to be able to use the correct function to load the item into the crate later on. + // Each item consist of the following information ["ItemName",minNum, maxNum] where min is the smallest number added and min+max is the largest number added. + + [ + [// Weapons + + ["srifle_DMR_06_olive_F","20Rnd_762x51_Mag"] + ], + [//Magazines + ["10Rnd_93x64_DMR_05_Mag" ,1,5] + ], + [ // Optics + ["optic_KHS_tan",1,3] + ], + [// Materials and supplies + ["Exile_Item_MetalScrews",3,10] + // + ], + [//Items + ["Exile_Item_MountainDupe",1,3] + ], + [ // Backpacks + ["B_OutdoorPack_tan",1,2] + ] + ]; + */ + +_isScubaMission = true; // This tells the mission spawner to search for a location on the water near a shore rather than on land. +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = [3,5,2,3,6,1]; +//_lootCounts = GMS_lootCountsRed; // You can use a customized set of loot counts or one that is predefined but it must follow the following format: + // values are: number of things from the weapons, magazines, optics, materials(cinder etc), items (food etc) and backpacks arrays to add, respectively. + // GMS_lootCountsOrange = [[6,8],[24,32],[5,10],[25,35],16,1]; // Orange + + +_startMsg = "Pirates were spotted off the coast - intercept them and collect the loot"; +_endMsg = "The pirates were defeated"; +_markerLabel = ""; // No Longer Used by the mission spawner +//_markerType = ["ellipse",[200,200],"GRID"]; +// An alternative would be: +_markerType = ["mil_triangle",[0,0]]; // You can replace mil_triangle with any other valid Arma 3 marker type https://community.bistudio.com/wiki/cfgMarkers +_markerColor = "ColorRed"; // This can be any valid Arma Marker Color +_markerMissionName = "Mafia Fishermen"; +_missionLandscapeMode = "precise"; // acceptable values are "random","precise" + // In precise mode objects will be spawned at the relative positions specified. + // In the random mode, objects will be randomly spawned within the mission area. +_missionLandscape = [ // Paste appropriate lines from M3EDEN output here. + ["Land_Boat_05_wreck_F",[1,2,0],0,[false,false]] +]; // list of objects to spawn as landscape using output from M3EDEN editor. + +_missionSurfaceWrecks = [ + //["Land_Boat_05_wreck_F",[1,1,0],0,[false,false]] // [false, false] here refers to enableSimulation / enableDamage +]; + +_missionLootBoxes = [ // Paste appropriate lines from M3EDEN editor output here, then add the appropriate lootArray + // [["box_classname1",_customLootArray1,[px,py,pz],...,_customLootArray1],["box_classname2",,[px2,py2,pz2],...,_customLootArray2] + // where _customLootArray follows the same format as GMS_BoxLoot_Red and the other pre-defined arrays and + // where _customlootcountsarray1 also follows the same format as the predefined arrays like GMS_lootCountsRed + // ["Box_NATO_Ammo_F",[22893,16766.8,6.31652],[[0,1,0],[0,0,1]],[true,false], _crateLoot, _lootCounts], + [selectRandom GMS_UMS_crates,[-1,-1,0],_crateLoot, _lootCounts] +]; // If this array is empty a single loot chest will be added at the center. If you add items loot chest(s) will be spawned in specific positions. + +_missionLootVehicles = [ // Paste appropriate lines from the output of M3EDEN Editor here and add the loot crate type and loot counts at the end of each entry as shown in the example below. + // Many vehicles have less inventory capacity than crates so you may have to modify _lootcounts to avoid having stuff spawned all over the ground. + ["I_Boat_Transport_01_F",[3,3,0],0,_crateLoot, _lootCounts] +]; // [ ["vehicleClassName", [px, py, pz] /* possition at which to spawn*/, _loot /* pointer to array of loot (see below)]; +// When blank nothing is spawned. +// You can use the same format used for _missionLootBoxes to add vehicles with/without loot. + +_minNoAI = 4; // Modify as needed +_maxNoAI = 6; // Modify as needed. +_noAIGroups = 2; // Modify as needed; note that these values are ignored of you specify AI patrols in the array below. +_missionGroups = +[ + // Intended to be land-based units or units manning some sort of above-water structure. + // position relative to center, difficulty, no AI, minRadius, maxRadius + // [[1,-1,-1],2,3,"red", 5,10] +]; + +_scubaGroupParameters = [ + // Scuba units. + [[-10.9121,-10.9824,-1.20243],2,3,"red",5,12], + [[-2,2,-1],2,3,"red", 5,10], + [[2,-2,-1],2,3,"red", 5,10] +]; + +//_noVehiclePatrols = GMS_SpawnVeh_Red; // Not useful for marine missions which we assume need pre-defined positions for vehicles. +// These are surface patrols. +_missionPatrolVehicles = [ + ["B_Boat_Armed_01_minigun_F",[2,2,0],0] +]; //[ ["vehicleClassName",[px,py,pz] /* center of patrol area */, difficulty /* blue, red etc*/, patrol radius] ] + // When this array is empty, vehicle patrols will be scattered randomely around the mission. + // Allows you to define the location of the center of the patrol, vehicle type spawned, radius to patrol, and AI difficulty (blue, red, green etc). + +_submarinePatrolParameters = [ + ["B_SDV_01_F",[-2,-2,-1.5],0] +]; + +_missionemplacedweapons = [ + +]; + +_aircraftTypes = GMS_patrolHelisRed; // You can use one of the pre-defined lists in GMS_configs or your own custom array. +_noAirPatrols = GMS_noPatrolHelisRed; // You can use one of the pre-defined values or a custom one. acceptable values are integers (1,2,3) or a range such as [2,4]; + // Note: this value is ignored if you specify air patrols in the array below. +_airPatrols = [ + [selectRandom GMS_patrolHelisRed,[0,0,10],0] +]; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = false; // Set to false if you have vehicles patrolling nearby. +_useMines = GMS_useMines; +/* + The values below are here as placeholders. + I recommend that you use the arrays above to define approximate number and spawn location of all AI units. +*/ +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; +// Pertains to AI on boats, structures or land +// The UMS configurations are used for sub and scuba AI. +_umsUniforms = GMS_UMS_uniforms; +_umsHeadgear = GMS_UMS_headgear; +_umsWeapons = GMS_UMS_weapons; +_umsVests = GMS_UMS_vests; + +_spawnCratesTiming = "atMissionSpawnGround"; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir". + // Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute. + // This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission. +_loadCratesTiming = "atMissionSpawn"; // valid choices are "atMissionCompletion" and "atMissionSpawn"; + // Pertains only to crates spawned at mission spawn. + // This sets the default but can be overridden for specific missions by defining _loadCratesTiming + + // Examples: + // To spawn crates at mission start loaded with gear set GMS_spawnCratesTiming = "atMissionSpawnGround" && GMS_loadCratesTiming = "atMissionSpawn" + // To spawn crates at mission start but load gear only after the mission is completed set GMS_spawnCratesTiming = "atMissionSpawnGround" && GMS_loadCratesTiming = "atMissionCompletion" + // To spawn crates on the ground at mission completion set GMS_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned. + // To spawn crates in the air and drop them by chutes set GMS_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned. +_endCondition = playerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear + +_chanceHeliPatrol = GMS_chanceHeliPatrolBlue; // Setting this in the mission file overrides the defaults +_noChoppers = GMS_noPatrolHelisBlue; +_missionHelis = GMS_patrolHelisBlue; + +//_chancePara = GMS_chanceParaBlue; // Setting this in the mission file overrides the defaults +//_noPara = 3; // Setting this in the mission file overrides the defaults +//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0. +//_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot. +//_paraLoot = GMS_BoxLoot_Blue; +//_paraLootCounts = GMS_lootCountsRed; // Throw in something more exotic than found at a normal blue mission. + +//#include "\GMS\Missions\UMS\GMS_fnc_spawnDynamicUMSMission.sqf"; +#include "\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; + diff --git a/@GMS/addons/GMS/Missions/UMS/staticMissions/privateVars.sqf b/@GMS/addons/GMS/Missions/UMS/staticMissions/privateVars.sqf new file mode 100644 index 0000000..0e9c31c --- /dev/null +++ b/@GMS/addons/GMS/Missions/UMS/staticMissions/privateVars.sqf @@ -0,0 +1,13 @@ + + +private ["_mission","_difficulty","_crateLoot","_lootCounts","_markerMissionName","_missionLandscapeMode","_markerLabel", + "_endMsg","_startMsg","_markerType","_markerColor","_missionCenter", + "_missionLandscape","_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_garrisonedBuilding_ASLsystem","_garrisonedBuildings_BuildingPosnSystem", + "_aiScubaGroupParameters","_submarinePatrolParameters", + "_aircraftTypes", + "_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons","_noPara","_helipatrol", + "_uniforms","_headgear","_weaponList","_sideArms","_vests","_backpacks", + "_weapons","_sideArms","_chancePara","_endCondition", + "_useMines"]; + + // _mission diff --git a/@GMS/addons/GMS/Missions/UMS/staticMissions/staticMissionExample2_Epoch.sqf b/@GMS/addons/GMS/Missions/UMS/staticMissions/staticMissionExample2_Epoch.sqf new file mode 100644 index 0000000..4a1919c --- /dev/null +++ b/@GMS/addons/GMS/Missions/UMS/staticMissions/staticMissionExample2_Epoch.sqf @@ -0,0 +1,143 @@ +/* + This is a simple mission using precisely placed loot crates and infantry, static weapons and vehicle patrols. + See the accompanying example mission in the exampleMission folder to get an idea how I laid this out. + Note that I laid out the mission in EDEN editor, exported the mission using the exportAll function of M3EDEN editor. then copied, pasted and apporpriately edidet the specific categories of items to be spawned. +*/ +/* + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "GMS_privateVars.sqf"; + +_mission = "UMS mission example #2"; // Included for additional documentation. Not intended to be spawned as a mission per se. +_missionCenter = [22584.9,15304.8,0]; // I pulled this from the position of the marker. +_difficulty = "red"; // Skill level of AI (blue, red, green etc) +diag_log format["[blckeagls UMS missions] STARTED initializing mission %1 position at %2 difficulty %3",_mission,_missionCenter,_difficulty]; +_crateLoot = GMS_BoxLoot_Orange; // You can use a customized _crateLoot configuration by defining an array here. It must follow the following format shown for a hypothetical loot array called _customLootArray + /* + _customLootArray = + // Loot is grouped as [weapons],[magazines],[items] in order to be able to use the correct function to load the item into the crate later on. + // Each item consist of the following information ["ItemName",minNum, maxNum] where min is the smallest number added and min+max is the largest number added. + + [ + [// Weapons + + ["srifle_DMR_06_olive_F","20Rnd_762x51_Mag"] + ], + [//Magazines + ["10Rnd_93x64_DMR_05_Mag" ,1,5] + ], + [ // Optics + ["optic_KHS_tan",1,3] + ], + [// Materials and supplies + ["Exile_Item_MetalScrews",3,10] + // + ], + [//Items + ["Exile_Item_MountainDupe",1,3] + ], + [ // Backpacks + ["B_OutdoorPack_tan",1,2] + ] + ]; + */ + +_lootCounts = GMS_lootCountsRed; // You can use a customized set of loot counts or one that is predefined but it must follow the following format: + // values are: number of things from the weapons, magazines, optics, materials(cinder etc), items (food etc) and backpacks arrays to add, respectively. + // GMS_lootCountsOrange = [[6,8],[24,32],[5,10],[25,35],16,1]; // Orange + +_markerLabel = ""; +//_markerType = ["ellipse",[200,200],"GRID"]; +// An alternative would be: +_markerType = ["mil_triangle",[0,0]]; // You can replace mil_triangle with any other valid Arma 3 marker type https://community.bistudio.com/wiki/cfgMarkers +_markerColor = "ColorRed"; // This can be any valid Arma Marker Color +_markerMissionName = "Bad Fishermen Live Here"; +_missionLandscapeMode = "precise"; // acceptable values are "random","precise" + // In precise mode objects will be spawned at the relative positions specified. + // In the random mode, objects will be randomly spawned within the mission area. +_missionLandscape = [ // Paste appropriate lines from M3EDEN output here. + // ["Land_Cargo_HQ_V2_F",[22894.7,16766,3.19],[[0,1,0],[0,0,1]],[true,false]], + ["Land_Boat_05_wreck_F",[22571.5,15278.9,0],[[0,1,0],[0,0,1]],[true,false]] +]; // list of objects to spawn as landscape using output from M3EDEN editor. + +_missionLootBoxes = [ // Paste appropriate lines from M3EDEN editor output here, then add the appropriate lootArray + // [["box_classname1",_customLootArray1,[px,py,pz],...,_customLootArray1],["box_classname2",,[px2,py2,pz2],...,_customLootArray2] + // where _customLootArray follows the same format as GMS_BoxLoot_Red and the other pre-defined arrays and + // where _customlootcountsarray1 also follows the same format as the predefined arrays like GMS_lootCountsRed + // ["Box_NATO_Ammo_F",[22893,16766.8,6.31652],[[0,1,0],[0,0,1]],[true,false], _crateLoot, _lootCounts], + [selectRandom GMS_UMS_crates,[22584.9,15282.2,-1],[[0,1,0],[0,0,1]],[true,false], _crateLoot, _lootCounts] +]; // If this array is empty a single loot chest will be added at the center. If you add items loot chest(s) will be spawned in specific positions. + + + +_missionLootVehicles = [ // Paste appropriate lines from the output of M3EDEN Editor here and add the loot crate type and loot counts at the end of each entry as shown in the example below. + // Many vehicles have less inventory capacity than crates so you may have to modify _lootcounts to avoid having stuff spawned all over the ground. + ["B_T_Boat_Transport_01_F",[22570.1,15235.3,-4.49949],0,_crateLoot, _lootCounts] +]; // [ ["vehicleClassName", [px, py, pz] /* possition at which to spawn*/, _loot /* pointer to array of loot (see below)]; +// When blank nothing is spawned. +// You can use the same format used for _missionLootBoxes to add vehicles with/without loot. + +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; // Modified as needed; can be a numberic value (e.g. 3) or range presented as [2,4] +//format: _noEmplacedWeapons = [2,3]; // a range of values +// or _noEmplacedWeapons = 3; // a constant number of emplaced weps per misison +// Note that this value is ignored if you define static weapon positions and types in the array below. +_missionEmplacedWeapons = [ + // ["Weapon class name", position[xy,z], AI Difficulty [blue, red, green, orange], patrol radius [0 for static weapons], seconds to wait before respawning (set to 0 to disable respawns)] + //["B_G_Mortar_01_F",[22867.3,16809.1,3.17968],"red",0,0], + //["B_HMG_01_high_F",[22944.3,16820.5,3.14243],"green",0,0] +]; +// example [ ["emplacedClassName",[px, py, pz] /* position to spawn weapon */, difficulty /* difficulty of AI manning weapon (blue, red etc)] ]; +// can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// If the number of possible locations exceeds the number of emplaced weapons specified above then only some of the locations in the array will have emplaced weapons spawned. +// If you leave this array blank then emplaced weapons will be spawned at random locations around the mission using the default list of emplace weapons. + +_minNoAI = GMS_MinAI_Red; // Modify as needed +_maxNoAI = GMS_MaxAI_Red; // Modify as needed. +_noAIGroups = GMS_AIGrps_Red; // Modify as needed; note that these values are ignored of you specify AI patrols in the array below. +_aiGroupParameters = [ + // [ [px, py, pz] /* position*/, "difficulty", 4 /*Number to Spawn*/, 150 /*radius of patrol*/] + +]; +_aiScubaGroupParameters = [ + // [ [px, py, pz] /* position*/, "difficulty", 4 /*Number to Spawn*/, 150 /*radius of patrol*/, seconds to wait after all units killed before respawning the group (set to 0 to disable respawns)] + + [[22549,15288.9,0],"red",3, 75,900] +]; +_noVehiclePatrols = GMS_SpawnVeh_Red; // Modified as needed; can be a numberic value (e.g. 3) or range presented as [2,4]; + // Note that this value is ignored if you define vehicle patrols in the array below. +_vehiclePatrolParameters = [ + //["Vehicle Class Name",Position [22570.1,15235.3,-4.49949],AI Difficulty "red",4 (Units to spawn into vehicle), 75 (radius of patrol area),60 (seconds to wait after all units dead before respawning)], + + ["B_T_Boat_Armed_01_minigun_F",[22578.6,15273.3,-0.0354593],"red",3, 75,0] +]; //[ ["vehicleClassName",[px,py,pz] /* center of patrol area */, difficulty /* blue, red etc*/, patrol radius] ] + // When this array is empty, vehicle patrols will be scattered randomely around the mission. + // Allows you to define the location of the center of the patrol, vehicle type spawned, radius to patrol, and AI difficulty (blue, red, green etc). + +_submarinePatrolParameters = [ + ////["Vehicle Class Name",Position [22570.1,15235.3,-4.49949],AI Difficulty "red",4 (Units to spawn into vehicle), 75 (radius of patrol area),60 (seconds to wait after all units dead before respawning)], + ["B_SDV_01_F",[22607.9,15299.8,-1],"red",3, 75,0], + ["B_SDV_01_F",[22609.9,15297.8,-1],"red",3, 75,0] +]; + +_aircraftTypes = GMS_patrolHelisRed; // You can use one of the pre-defined lists in GMS_configs or your own custom array. +_noAirPatrols = GMS_noPatrolHelisRed; // You can use one of the pre-defined values or a custom one. acceptable values are integers (1,2,3) or a range such as [2,4]; + // Note: this value is ignored if you specify air patrols in the array below. +_airPatrols = [ + //["Vehicle Class Name",Position [22570.1,15235.3,-4.49949],AI Difficulty "red", 75 (radius of patrol area),60 (seconds to wait after all units dead before respawning)], + ["selectRandom _aircraftTypes",[22578.4,15273,50],"red",1000,0] +]; + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = false; // Set to false if you have vehicles patrolling nearby. + +#include "\GMS\Missions\UMS\code\GMS_fnc_sm_initializeUMSStaticMission.sqf"; + +diag_log format["[blckeagls static missions] COMPLETED initializing misions %1 position at %2 difficulty %3",_mission,_missionCenter,_difficulty]; diff --git a/@GMS/addons/GMS/Missions/UMS/staticMissions/staticMissionExample2_Exile.sqf b/@GMS/addons/GMS/Missions/UMS/staticMissions/staticMissionExample2_Exile.sqf new file mode 100644 index 0000000..da53af1 --- /dev/null +++ b/@GMS/addons/GMS/Missions/UMS/staticMissions/staticMissionExample2_Exile.sqf @@ -0,0 +1,146 @@ +/* + This is a simple mission using precisely placed loot crates and infantry, static weapons and vehicle patrols. + See the accompanying example mission in the exampleMission folder to get an idea how I laid this out. + Note that I laid out the mission in EDEN editor, exported the mission using the exportAll function of M3EDEN editor. then copied, pasted and apporpriately edidet the specific categories of items to be spawned. +*/ +/* + by Ghostrider [GRG] + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + +#include "GMS_privateVars.sqf"; + +_mission = "UMS mission example #2"; // Included for additional documentation. Not intended to be spawned as a mission per se. +_missionCenter = [22584.9,15304.8,0]; // I pulled this from the position of the marker. +_difficulty = "red"; // Skill level of AI (blue, red, green etc) +diag_log format["[blckeagls UMS missions] STARTED initializing mission %1 position at %2 difficulty %3",_mission,_missionCenter,_difficulty]; +_crateLoot = GMS_BoxLoot_Orange; // You can use a customized _crateLoot configuration by defining an array here. It must follow the following format shown for a hypothetical loot array called _customLootArray + /* + _customLootArray = + // Loot is grouped as [weapons],[magazines],[items] in order to be able to use the correct function to load the item into the crate later on. + // Each item consist of the following information ["ItemName",minNum, maxNum] where min is the smallest number added and min+max is the largest number added. + + [ + [// Weapons + + ["srifle_DMR_06_olive_F","20Rnd_762x51_Mag"] + ], + [//Magazines + ["10Rnd_93x64_DMR_05_Mag" ,1,5] + ], + [ // Optics + ["optic_KHS_tan",1,3] + ], + [// Materials and supplies + ["Exile_Item_MetalScrews",3,10] + // + ], + [//Items + ["Exile_Item_MountainDupe",1,3] + ], + [ // Backpacks + ["B_OutdoorPack_tan",1,2] + ] + ]; + */ + +_lootCounts = GMS_lootCountsRed; // You can use a customized set of loot counts or one that is predefined but it must follow the following format: + // values are: number of things from the weapons, magazines, optics, materials(cinder etc), items (food etc) and backpacks arrays to add, respectively. + // GMS_lootCountsOrange = [[6,8],[24,32],[5,10],[25,35],16,1]; // Orange + +_markerLabel = ""; +//_markerType = ["ellipse",[200,200],"GRID"]; +// An alternative would be: +_markerType = ["mil_triangle",[0,0]]; // You can replace mil_triangle with any other valid Arma 3 marker type https://community.bistudio.com/wiki/cfgMarkers +_markerColor = "ColorRed"; // This can be any valid Arma Marker Color +_markerMissionName = "Bad Fishermen Live Here"; +_missionLandscapeMode = "precise"; // acceptable values are "random","precise" + // In precise mode objects will be spawned at the relative positions specified. + // In the random mode, objects will be randomly spawned within the mission area. +_missionLandscape = [ // Paste appropriate lines from M3EDEN output here. + // ["Land_Cargo_HQ_V2_F",[22894.7,16766,3.19],[[0,1,0],[0,0,1]],[true,false]], + ["Land_Boat_05_wreck_F",[22571.5,15278.9,0],[[0,1,0],[0,0,1]],[true,false]] +]; // list of objects to spawn as landscape using output from M3EDEN editor. + +_missionLootBoxes = [ // Paste appropriate lines from M3EDEN editor output here, then add the appropriate lootArray + // [["box_classname1",_customLootArray1,[px,py,pz],...,_customLootArray1],["box_classname2",,[px2,py2,pz2],...,_customLootArray2] + // where _customLootArray follows the same format as GMS_BoxLoot_Red and the other pre-defined arrays and + // where _customlootcountsarray1 also follows the same format as the predefined arrays like GMS_lootCountsRed + // ["Box_NATO_Ammo_F",[22893,16766.8,6.31652],[[0,1,0],[0,0,1]],[true,false], _crateLoot, _lootCounts], + [selectRandom GMS_UMS_crates,[22584.9,15282.2,-1],[[0,1,0],[0,0,1]],[true,false], _crateLoot, _lootCounts] +]; // If this array is empty a single loot chest will be added at the center. If you add items loot chest(s) will be spawned in specific positions. + + + +_missionLootVehicles = [ // Paste appropriate lines from the output of M3EDEN Editor here and add the loot crate type and loot counts at the end of each entry as shown in the example below. + // Many vehicles have less inventory capacity than crates so you may have to modify _lootcounts to avoid having stuff spawned all over the ground. + //["Exile_Car_Van_Box_Guerilla02",[22896.8,16790.1,3.18987],[[0,1,0],[0,0,1]],[true,false], _crateLoot, [[1,2],[4,6],[2,6],[5,8],6,1]], + ["B_T_Boat_Transport_01_F",[22570.1,15235.3,-4.49949],0,_crateLoot, _lootCounts] +]; // [ ["vehicleClassName", [px, py, pz] /* possition at which to spawn*/, _loot /* pointer to array of loot (see below)]; +// When blank nothing is spawned. +// You can use the same format used for _missionLootBoxes to add vehicles with/without loot. + +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; // Modified as needed; can be a numberic value (e.g. 3) or range presented as [2,4] +//format: _noEmplacedWeapons = [2,3]; // a range of values +// or _noEmplacedWeapons = 3; // a constant number of emplaced weps per misison +// Note that this value is ignored if you define static weapon positions and types in the array below. +_missionEmplacedWeapons = [ + // ["Weapon class name", position[xy,z], AI Difficulty [blue, red, green, orange], patrol radius [0 for static weapons], seconds to wait before respawning (set to 0 to disable respawns)] + //["B_G_Mortar_01_F",[22867.3,16809.1,3.17968],"red",0,0], + //["B_HMG_01_high_F",[22944.3,16820.5,3.14243],"green",0,0] +]; +// example [ ["emplacedClassName",[px, py, pz] /* position to spawn weapon */, difficulty /* difficulty of AI manning weapon (blue, red etc)] ]; +// can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used +// If the number of possible locations exceeds the number of emplaced weapons specified above then only some of the locations in the array will have emplaced weapons spawned. +// If you leave this array blank then emplaced weapons will be spawned at random locations around the mission using the default list of emplace weapons. + +_minNoAI = GMS_MinAI_Red; // Modify as needed +_maxNoAI = GMS_MaxAI_Red; // Modify as needed. +_noAIGroups = GMS_AIGrps_Red; // Modify as needed; note that these values are ignored of you specify AI patrols in the array below. +_aiGroupParameters = [ + // [ [px, py, pz] /* position*/, "difficulty", 4 /*Number to Spawn*/, 150 /*radius of patrol*/] + +]; +_aiScubaGroupParameters = [ + // [ [px, py, pz] /* position*/, "difficulty", 4 /*Number to Spawn*/, 150 /*radius of patrol*/, seconds to wait after all units killed before respawning the group (set to 0 to disable respawns)] + //[[22584.9,15304.8,-4.27578],"red",4, 75,0], + //[[22613.5,15269.1,-4.28332],"red",3, 75,900], + [[22549,15288.9,0],"red",3, 75,900] +]; +_noVehiclePatrols = GMS_SpawnVeh_Red; // Modified as needed; can be a numberic value (e.g. 3) or range presented as [2,4]; + // Note that this value is ignored if you define vehicle patrols in the array below. +_vehiclePatrolParameters = [ + //["Vehicle Class Name",Position [22570.1,15235.3,-4.49949],AI Difficulty "red",4 (Units to spawn into vehicle), 75 (radius of patrol area),60 (seconds to wait after all units dead before respawning)], + //["B_T_Boat_Armed_01_minigun_F",[22577.6,15275.3,-0.0354593],"red",3, 75,0], + ["B_T_Boat_Armed_01_minigun_F",[22578.6,15273.3,-0.0354593],"red",3, 75,0] +]; //[ ["vehicleClassName",[px,py,pz] /* center of patrol area */, difficulty /* blue, red etc*/, patrol radius] ] + // When this array is empty, vehicle patrols will be scattered randomely around the mission. + // Allows you to define the location of the center of the patrol, vehicle type spawned, radius to patrol, and AI difficulty (blue, red, green etc). + +_submarinePatrolParameters = [ + ////["Vehicle Class Name",Position [22570.1,15235.3,-4.49949],AI Difficulty "red",4 (Units to spawn into vehicle), 75 (radius of patrol area),60 (seconds to wait after all units dead before respawning)], + ["B_SDV_01_F",[22607.9,15299.8,-1],"red",3, 75,0], + ["B_SDV_01_F",[22609.9,15297.8,-1],"red",3, 75,0] +]; + +_aircraftTypes = GMS_patrolHelisRed; // You can use one of the pre-defined lists in GMS_configs or your own custom array. +_noAirPatrols = GMS_noPatrolHelisRed; // You can use one of the pre-defined values or a custom one. acceptable values are integers (1,2,3) or a range such as [2,4]; + // Note: this value is ignored if you specify air patrols in the array below. +_airPatrols = [ + //["Vehicle Class Name",Position [22570.1,15235.3,-4.49949],AI Difficulty "red", 75 (radius of patrol area),60 (seconds to wait after all units dead before respawning)], + ["Exile_Chopper_Huey_Armed_Green",[22578.4,15273,50],"red",1000,0] //, + //[selectRandom _aircraftTypes,_missionCenter,"green",1000,0] +]; + +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = false; // Set to false if you have vehicles patrolling nearby. + +#include "\GMS\Missions\UMS\code\GMS_fnc_sm_initializeUMSStaticMission.sqf"; + +diag_log format["[blckeagls static missions] COMPLETED initializing middions %1 position at %2 difficulty %3",_mission,_missionCenter,_difficulty]; diff --git a/@GMS/addons/GMS/changeLog.sqf b/@GMS/addons/GMS/changeLog.sqf new file mode 100644 index 0000000..e7f6d8f --- /dev/null +++ b/@GMS/addons/GMS/changeLog.sqf @@ -0,0 +1,781 @@ + +Ghostrider's Mission System (GMS) + +by Ghostrider [GRG] +Copywrite 2022 + +This is a complete reworking of blckeagls mission system which I maintained over many years and was built on the AI mission system by blckeagls ver 2.0.2 +Over the time I have developed this code many have contributed to debugging and testing. Some notable contributors include: +Narines: bug fixes, testing, infinite ammo fix. +Ideas or code from that by He-Man, Vampire and KiloSwiss have been used for certain functions. +Many thanks for new Coding and ideas from Grahame. + +The reworking of the missions was prompted by several factors. +- A desire to optimize code for each function using the most current functions and optimized coding methods. +- Development of GMSCore which provides many of the basic functions needed and in addition supports a pretty robust area-based system for generating waypoints for patrols. +- Realization that blckeagls was a bit bloated and hard to use. +- Discovery that blackeagls had some unrecognized bugs. + + +What has changed beyond the code: + +Time Acceleration was moved to a new Mod: +https://github.com/Ghostrider-DbD-/-timeManagement + +The MapAddons module was moved to a new, reworked mod: +https://github.com/Ghostrider-DbD-/mapAddons + +The Static Loot System was entirely removed. I may come back to it at a later time. + +The Mission system can now be run entirely on an HC - no more passing AI back and forth. + +The static loot system and dynamic loot system are gone. THese outlived thier usefulness. + +Support for Static Missions was removed. Use the ability to spawn a mission at a specific location instead. This reduced the number of functions needed for GMS and should improve reliability. + +I have kept the change log as a bit of history for those interested in development of this mission system. +Significant Changes: + +7.11 Build 253 +Changed format for skills to be compatible with GMS_fnc_skills from GMSCore +Changed to code for spawning and configuring units in groups to that from GMSCore +Changed from the system of cycling waypoints to the area based patrols supported by GMSCore +Change how functions that have been recoded to rely on core functions in GMSCore are compiled; these are compiled now in config.hpp\CfgFunctions + +/************************************************************************************** + OLD CHANGE LOGS BEGIN HERE +*************************************************************************************** */ + +7.06 Build 240 + +New: Player stats updated for each AI kill on Epoch. +New: added support for Mull of Kyntire. +New: Unit will randomly suppress locations when group members are hit or fired uppon. +Fixed: Launchers and Launcher rounds were not being deleted. +Fixed: AI at Turrets were spawned with scubba loadouts. +Fixed: Units at UMS missions (Pirate missions) now spawn with scuba gear if spawned over water . +Fixed: Mission Loot Vehicles were not being spawned. +Fixed: Missions that were aborted (hostage or leader killed, other reasons) were not being respawned. +Fixed: Money not being added to some mission crates. +Fixed: Units spawning without primary weapons. +Fixed: _missionLootCrates not defined when loot crate spawning occurs at mission completion. +Changed: Some improvements in coding efficiency were implemented for frequently called functions. +Changed: all constants used for searching for mission locations on land or at sea are defined in GMS_fnc_findWorld.sqf +Changed: maps without water have the search range for missions at sea set to 0. +Changed: No searches for missions at sea will be done when the search range is 0. + +===================== +7.02 Build 230 + +New: Option to hide bushes and trees that happen to be under the location in which an enterable building is spawned + GMS_hideRocksAndPlants = true; // When true, any rocks, trees or bushes under enterable buildings will be 'hidden' + +New: Added support for simple objects. Note that these can be exported by the editor tool now. + +New: Option to drop crates on a parachute at mission spawn which adds some randomness to where crates end up. + GMS_spawnCratesTiming = "atMissionSpawnAir"; + +New: You can now add money to crates at static missions by defining the following parameter in your .sqf for the mission. + _crateMoney = 10000; + this can be a value or a range such as [1000,10000]; + a random amount of money from 0 to the maximum defined will be added. + +New: Added checks and logging for invalid marker types and colors; default values are now provided. + +New: Added some basic error checking and logging for incorrect entries for some key settings. + +New: 3DEN Editor plugin exports missions as .sqf formated text ready to paste into a file. + See the instructions in the @blckeagls_3DEN folder of this download for more information. + +Fixed: Don and Hostage missions could not be completed +Fixed: Missions tended to spawn all at once +Fixed: Vehicles sometimes blew up on spawn. vehicles are spawned at a safe spot which should reduce unintended explosions +Fixed: Missions sometimes spawned on steep hillsides. +Fixed: Missions were not distributed over the entire map. The scripts now pick a random quadrant to search thus ensuring broader distribution of mission locations. +Fixed: Money was not added to crates at dynamic missions +Fixed: Markers were not shown if more than once instance of a mission was spawned. +Fixed: No subs or scuba units were spawned at dynamic UMS missions. +Fixed: Jets crashed at spawn in. + +Changed: Timers for spawning missions adjusted a bit to space out spawn/timeouts a bit more. +Changed: The system has been upgraded to a state-based system, meaning only one script (GMS_fnc_mainThread)is running once all missions are initialized. +Changed: a lot of debugging code was removed. +Changed: List of missions for dynamic Underwater missions was moved to \Missions\GMS_missionLIsts.sqf +Changed: Units spawned where the surface is water are spawned with UMS gear now. +Changed: Added some CBA compatability (Thanks to porkeid for the fixes) + +6.98 Build 206 +FIXED: few minor bug fixes. +FIXED: Static Mission Loot vehicles are no longer deleted by Epoch servers when players enter them. +FIXED: an error in coordinates for some randomly spawned missions tha added an extra 0 to the array with the coordinaates. +Added: a define for NIA all in one in GMS_defines; +Added a few preconfiguration variables with lists of NIA Armas items. +Added: an optional parameter to define the location of a mission as one of one or more locations in an array + _defaultMissionLocations = []; + +Added: a function that returns an array of all mission markers used by blckeagls for mission makers and server owners + GMS_fnc_getAllBlackeaglsMarkers + Returns: an array with all markers used by the mission system. + +Added: a function to pull a list of all map markers belonging to DMS and avoid spawning new blckeagls missions near these. + Configuraiont parameter: GMS_minDistanceFromDMS // set to -1 to disable this check. + Function: GMS_fnc_getAllDMSMarkers + +Removed: some debugging and map sepcific settings from GMS_custom_config.sqf +Changed: some code for finding locations for a new mission. +Added: all blckeagls map markers have the same prefix: "blckeagls_marker" + +6.96 Build 199 +Added support for Arma servers not running Epoch or Exile + +6.96 Build 197 +Sorted some wisses with the dynamic UMS spawner. +Removing debugging info + +6.92 Build 196 +sorted issues with markers +and added new findSafeLocation + +6.92 Build 194 +Added _noAIGroups to parameter list for _spawnMissionAI +Other minor changes to delete logging. + +6.92 Build 193 +Updates to scripts to see if player(s) are near locations. +Updates to scripts to delete alive and dead AI. +Updates to simulation managers. + +6.92 Guild 192 +All actions on dead AI are handled throug units GMS_graveyardGroup +All use of GMS_deadAI has been deleted. + +6.92 Build 184 +Fixed an issues that caused blckeagls to load before exile servers were ready to accept players. +Added checks that ensure that live AI and mission scenery do not despawn when players are nearby. +Decreased the frequency with which some checks (dead AI, live AI, scenery at completed missions) is checked. +Redid a few lops that should be using the more speedy deleteAt rather than forEach methods. +worked on killed and hit EH so that these can run on the client owning the unit and server with each having a specific role + - note that this requires that the code be streamed to clients and compiled on the HC. +Updates to client to reduce logging +Added a firedNear EH +Redid system for setting up combatmode and behavior to be context dependent +Redid setNextWaypont to include an antiStuck check and implement the above checks on behavior and combat mode. +Support for claim-vehicle scripts is now built-in + GMS_allowClaimVehicle = true; // To allow players to claim vehicles (Exile only). +Added a setting to disable having AI toss smoke before healing. Set: + GMS_useSmokeWhenHealing=false; // to disable this +Added an option to display kill notices using Toasts + GMS_aiKillUseToast=true; // in blckClient.sqf in the debug folder of your mission.pbo to enable these. +Added offloading of AI to clients + //////// + // Client Offloading and Headless Client Configurations + GMS_useHC = true; // Experimental (death messages and rewards not yet working). + // Credit to Defent and eraser for their excellent work on scripts to transfer AI to clients for which these settings are required. + GMS_ai_offload_to_client = true; // forces AI to be transfered to player's PCs. Disable if you have players running slow PCs. + GMS_ai_offload_notifyClient = false; // Set true if you want notifications when AI are offloaded to a client PC. Only for testing/debugging purposes. + // TODO: set to false before release + GMS_limit_ai_offload_to_blckeagls = true; // when true, only groups spawned by blckeagls are evaluated. + +Fixed - Vehicle unlock when empty of crew through adding a getOut event handler. +Code for spawning vehicles redone to reduced redundancy. +Monitoring of groups refined to route mission groups that have left the mission area back to it. + +V 6.90 Build 175 +1. Added new settings to specify the number of crew per vehhicle to GMS_config.sqf and GMS_config_mil.sqf + + // global settings for this parameters + // Determine the number of crew plus driver per vehicle; excess crew are ignored. + // This can be a value or array of [_min, _max]; + GMS_vehCrew_blue = 3; + GMS_vehCrew_red = 3; + GMS_vehCrew_green = 3; + GMS_vehCrew_orange = 3; + + You can also define this value in missions by adding the following variable definition to the mission template: + + _vehicleCrewCount = [3,6]; // min/max number of AI to load including driver. see the missions\blue\template.sqf and GMS_configs.sqf for more info. + +2. Lists of items to be excluded from dynamically generated loadouts has been moved to: + GMS_config.sqf + GMS_config_mil.sqf + +3. Added a new setting that specifies whether logging of blacklisted items is done (handy for debugging) + GMS_logBlacklistedItems = true; // set to false to disable logging + +4. Hit and Killed event handlers extensively reworked. Methods for notification of nearby AI and Vehicles of the killers whereabouts were revised to be more inclusive of neighboring AI. + +5. Issues with AIHit events fixed; AI now deploy smoke and heal. + +6. Added constraints on aircraft patrols to keep them in the mission area. + +7. Removed some unnecessary logging. + +8. Other minor coding fixes and optimizations. + +6.88 +This update consists primarily of a set of bug fixes and code tweaks. +Many thanks to HeMan for his time in effort spent going through the scripts to troublehsoot and improve them. + +6.86 Build 156 +Added support for spawning infantry and statics inside buildings for forming a garrison using either of two methods. + 1. by placing a marker object such as a sphere in the building you define it as having units/statics inside + 2. by placing units or statics in it you determine the garrison to be placed at mission spawn. +Added tools to facilitate grabbing data from missions in the editor (see the new TOOLS folders for more information). +Added additional error checks for missing mission parameters. +Fixed: issues that prevented completion of capture/hostage missions on exile servers +Added: code that forces air, land and sea vehicles to detect nearby players which should help with frozen AI _noChoppers +Changed: code for blckeagls simulation manager to force simulation when groups are awoken. +Added: additional settings for simulation management (see GMS_configs.sqf for details) +Changed: Simulation management is now set using the new variable GMS_simulationManager which is defined in GMS_configs.sqf +Fixed: Heli's just hovered over missions. +Fixed: GRG code that locked up the mission system was removed from the public RC. + +6.84 Build 145 +Added Option to load weapons, pistols, uniforms, headgear, vests and backpacks from CfgPricing (Epoch) or the Arsenal (Exile) and exclude items above a certain price + Add details on configs for enabling this and setting the maximum price + To use this new feature + Set GMS_useConfigsGeneratedLoadouts = true; + + To specify the maximum price for items added to AI, change: + GMS_maximumItemPriceInAI_Loadouts = 100; + + NOTE: this function overides any loadouts you specify in GMS_config.sqf etc. + +Added functions to despawn static patrols of all types when no players are nearby. This tracks the number of infantry alive in a group and respawns only the number alive when the group was despawned. +Added: Static units will now be spawned with gear specific to difficulty level (blue, red, green, orange) as specified in GMS_config.sqf etc. +Added: AI now have a chance of spawning with binocs or range finders. +Added: a lit road cone spawns at the center of the mission to help find it and aid in triggering mission completion. + +Changed: Hostage missions redesigned to reduce chances of AI being glitched into containers and of mission objects flying about when spawned in. +Changed: Units are spawned with greater dispersion. +Changed: method for spawning random landscapes has been changed. Note the added randomization in missions\blue\default.sqf + +Fixed: Collisions between objects at missions caused issues. +Fixed: Attempted a fix to reduce the chance that AI will spawn inside or under objects like rocks or containers. +Fixed: Captive missions now complete properly. +Fixed: Hostage missions now complete properly. +Fixed: Paratroops spawned at UMS missions now spawn with scuba gear. + +Version 1.82 Build 134 +Added: configs for blue, red, green and orange pistol, vest, backpack and uniforms (with thanks to Grahame for suggesting this change and doing most of the coding) +Changes: + Commented out all configs in missions for uniforms, headgear, backpacks and uniforms. + Commented out most configs for helis, paratroops and supplemental loot dropped by paratroops. + Removed some logging that is not required. + +Version 1.82 Build 132 +Added: GMS_killPercentage = 0.9; // The mission will complete if this fraction of the total AI spawned has been killed. + // This facilitates mission completion when one or two AI are spawned into objects. + +Added: Male and Female uniforms are separated and can be used alone or together for specific missiosn (Epoch Only). + +Added: Loot tables updated to include food and supplies as of Epoch 1.1.0. + +Added: Setting that configures vehicles to be sold at Black Market Traders. + GMS_allowSalesAtBlackMktTraders = true; // Allow vehicles to be sold at Halve's black market traders. + +Added: Support for hostage rescue missions. + The hostage can be spawned at any location relative to the mission center. + The mission aborts if the hostage is killed; all loot is deleted. + To complete the mission, a player must approach the hostage and execute the rescue action. + The hostage then runs away, and loot becomes available to the player. + See missions\blue\hostage.sqf for an example mission. + + ***** PLEASE READ - IMPORTANT **** + Please update the GMS_client.sqf in your mission.pbo or you will not be able to interact with or see animations of the new AI characters. + +Added: Support for Arrest Leader missions. + These are similar to the rescue hostage mission except that the leader, when arrested, will sites + awaiting arrival of imaginary survivor forces. + See missions\blue\capture.sqf for an example mission + +Added: GMS_missionEndCondition = playerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear + which provides a simple way to define the default conditions under which the mission ends for all missions. + You can of course define _endCondition in the specific mission file if you wish. + +Added: A new mission completion condition for hostage and captive missions. + _endCondition = assetSecured; + +Added: Mission crates can now be spawned on the ground or in the air at mission completion. + GMS_spawnCratesTiming sets the default for all missions. + GMS_spawnCratesTiming = "atMissionEndAir"; // Choices: "atMissionSpawnGround","atMissionSpawnAir","atMissionEndGround","atMissionEndAir". + Define _spawnCratesTiming to set this parameter for a particular mission. + _spawnCratesTiming = "atMissionEndAir"; + See the hostage1.sqf mission as an example. + +Added: Crates spawn with tabs or crypto. Set the values in the mod-specific configs. + For Epoch, the crypto can be accessed by pressing space bar. + +Added: Additional documentation for those who wish to design their own missions. + See \missions\blue\default.sqf and default2.sqf for details. + +Added: greater control over AI loadouts. + For land-based dynamic missions you can now specify for each mission: + Uniforms + Headgear + Vests + Weapons allowed + Sidearms allows. + (See \Missions\Blue\default2.sqf for examples). + [Still to do: upgrade statics for the same functionality; doable but will require adding these parameters to the spawn info for the groups of infantry, vehicle, submerged and air units]; + +Added: greater control of mission helis - you can now set variables in the mission file (see examples below). + when these are not defined in the mission file, defaults are used. + _chancePara = GMS_chanceParaBlue; // Setting this in the mission file overrides the defaults + _noPara = GMS_noParaBlue; // Setting this in the mission file overrides the defaults + _chanceHeliPatrol = GMS_chanceHeliPatrolBlue; // Setting this in the mission file overrides the defaults + _noChoppers = GMS_noPatrolHelisBlue; + _missionHelis = GMS_patrolHelisBlue; + +Added: default minimun and maximum radius for groups to patrol. + GMS_minimumPatrolRadius = 22; // AI will patrol within a circle with radius of approximately min-max meters. note that because of the way waypoints are completed they may more more or less than this distance. + GMS_maximumPatrolRadius = 35; + +Changed: **** VERY IMPORTANT ****** + The definitions of private variables used in missions in now read in through an include statement (see Missions\Blue\default.sqf for an example) + Please update any custom mission you have generated accordingly. + This should save quite a bit of editing going forward. + Please note that if you do not update the private variables definitions list certain features of the mission spawner may not work due to issues with scope of variables. + +Changed: Each mission is now compiled at server startup which I hope will save a little server resource between restarts. + A few variables that were not used were eliminated. + Some declarations of private variables were consolidated. + Together these changes should be worth a small performance bump. + +Changed: Code for Heli Patrols redone. + Code that spawns paratroops moved to a separate function that is called when a player is within a certain radius of the mission. + Code that spawns a supplemental loot chest added - this will be spawned along with the paratroop reinforcements, if desired. + This crate can have customized loot (think ammo, building supplies, tools and food, ala Exile/Epoch airdrops). + +Changed: Logic for spawning paratroops was redone so it is more clear. + When helis are spawned the paratroops will spawn at the heli location at the location at which the heli spawn based on probability set in _chancePara in the mission file or the default for that mission difficulty. + When no helies are to be spawned, paratroops will spawn at the mission center when it spawns based on probability set in _chancePara in the mission file or the default for that mission difficulty. + A delay was added so that paratroops spawn when players are nearby for more drama !! + +Changed: Methods for detecting NULL Groups (rarely a problem with arma these days) simplified. + Still more work to be done here. + +Changed: Methods for defining mission crate loot were relaxed. + You can define each item either with the old method ["Item Name", minimun number, maximum number] or just "Item name". + +Fixed: disabled some logging that is not required except when debugging. +Fixed: AI Counts were not being shown at dynamic UMS. +Fixed: AI were glitching through walls. +Fixed: Emplaced weapons are now spawned at correct locations when their positions are defined in an array in the mission file. +Fixed: an issue with the experimental build whereby the number of dynamically tracked missions was not correctly spawned. +Fixed: Dead Ai in vehicles were sometimes detected as alive. Dead AI are now ejected. +Fixed: Vehicles are now properly released to players when all AI inside are killed when an HC is connected. + +Version 1.80 Build 118 +Added: you can now determine whether objects spawned at dynamic missions have simulation or damage enabled. + See the medicalCamp.sqf mission for an example of how this is done. +Added: you can now spawn simple objects as part of your mission landscape. Useful for STATIC missions only. +Added: lists of armed vehicles from which you can choose those you wish to spawn at vehicles broken down by category (wheeled, traced APC, Tank, etc) +Added: Three constants that define how far away missions are from players when they spawn. + GMS_minDistanceToBases = 900; Minimum distance from any freq jammer or flag + GMS_minDistanceToPlayer = 900; Minimum distance from any player + GMS_minDistanceFromTowns = 300; Minimum distance from cites or towns. + +Changed: Default missions reworked to support the above. + +Version 1.79, Build 116 +Added: Map-specific information for Lythium. +Added: New configuration setting: GMS_showCountAliveAI = true; When = true, the number of alive AI at a mission will be displayed by the mission marker. +Added: You can now define the types of patrol vehicles spawned based on AI difficulty. + +Fixed: Setting GMS_useTimeAcceleration = false; now disables the time acceleration module. +Fixed: several issues with dynamic UMS missions. +Fixed: AI Heli's at missions should now be released to players when all AI are dead. +Fixed: script errors when dynamic simulation off. + +Changed: Code for checking the state of AI vehicles and releasing them to players was re-written. +Changed: Eliminated useless files from the debug folder (mission.pbo). + Please replace the debug folder in your mission PBO with the updated one found on the github. + [removed all scripts for markers from mission\debug. These are now located in GMS\compiles\functions.] + +Version 6.78 Build 107 +Fixed: GMS_baseSkill is now used properly to set skill of units. +Added: Units assemble in formation when spawned. + +Version 6.78 build 106 +Changed how event handlers are handled. +bug fixes +Removed lines specific to GRG servers. + +Version 6.76 Build 104 +Added: A new timer that determines the time after which Vehicles are deleted once all AI are dead if no player has entered the driver's seat. +Added: an optional variable in the template for missions called _missionGroups by which you can define the parameters (position, skill level, number, patrol radius) for each group spawned. + See the default2.sqf mission under GMS\Missions\blue for an example +Changed: The method by which the server handles AI damage was changed to use MPHit. +Added: an MPKilled event handler for vehicles. + +Fixed: Static Vehicles were being spawned repeatedly. +Fixed: _missionGroups parameters were not being handled correctly. +Fixed: sever FPS was not being logged by GMS_passToHCs +Fixed: crate marker was not shown when in debug mode. +Known Issues: Vehicles are not unlocked when released to players if an HC is connected. + +Version 6.74 Build 97 +Added Core Code for spawning dynamic underwater missions. +Added Core Code for spawning scuba units and surface and SDV patrols. +Added Code to spawn static underwater missions. +Note: support for scuba AI required a significant re-write of the code for spawning AI groups and units. + +Changed static missions so that AI are spawned only when players are within 2000 meter. +Added optional respawn to static AI groups, vehicles, emplaced weaps and aircraft. +Added four functions that support spawning of static AI with setting for difficulty, patrol radius, and respawn time. + For examples, see the updated static eample mission + and GMS_custom_config.sqf and the examples below: + + position difficulty radius respawn + [[[22920.4,16887.3,3.19144],"red",[1,2], 75, 120]] call GMS_fnc_sm_AddGroup; + + weapon position difficulty radius (not used) respawn time + [["B_G_Mortar_01_F",[22867.3,16809.1,3.17968],"red",0,0]] call GMS_fnc_sm_AddEmplaced; + + vehicle position difficulty radius respawn + [["B_G_Offroad_01_armed_F",[22819.4,16929.5,3.17413],"red", 600, 0]] call GMS_fnc_sm_AddVehicle; + + aircraft position difficulty radius respawn + [["Exile_Chopper_Huey_Armed_Green",[22923.4,16953,3.19],"red", 1000, 0]] call GMS_fnc_sm_AddAircraft; +Re-did event handlers for compatability with Arma 1.78+, and moved most code into pre-compiled functions that execute on the server. + +====================== +Version 6.72 Build 81 +[Added] Support for headless clients. This functionality works for one HC regardless of the name used for HCs. +[Added] Added an optional variable for mission patrol vehicles: _missionPatrolVehicles + One can use this variable to defin the spawn position and types of vehicles spawned at missions. + note: one can still have the type of vehicle randomized by using selectRandom and pointing it to either the default list of patrol vehicles for the mission system or providing a custom array of vehicle class names. + I added this because on some of our GRG missions the vehicles were being destroyed at the time they were spawned. +[Changed] Crates can now be lifted only AFTER a mission is completed. +[Changed] The client is now activated using remoteExec instead of a public variable. + **** Please be sure to update the files in the debug folder on your client. + +===================== +Version 6.71 Build 77 +[Added] HandleDamage Event Handler for Armed Vehicles to increase their interaction with players. +[Fixed] Mission name was not displayed with start or end messages when the mission marker labels were disabled. +[Fixed] the mission system would hang in some situations due to an undefined global variable in SLS. + +============================ +8/13/17 Version 6.61 Build 71 +[Added] Most parameters for numbers of loot, AI, and vehicle patrols can be defined as either a scalar value or range. + Note that there is backwards compatability to prior versions so you need make no changes to your configs if you do not wish to. + The major reason to include this feature is so that players to do not go looking for that third static weapon at an orange mission. They have to scope out the situation. +[Added] options to have multiple aircraft spawn per mission. + [Note that if you spawn more than one aircraft I recommend that you disable the paratroop spawns to avoid spawning more than 124 groups]. +[Added] an optional militarized setting whereby missions use a full complement of Arma air and ground vehicles including fighter jets and tanks. This is OFF by default. + Uncomment #define GMS_milServer in GMS\Configs\GMS_defines to enable this. + [ Note!!! There are both general and mod-specific configs for the militarized missions.] +[Added] Support for setting a range for certain configurations rather than setting a single value. +This should make missions a little more varied in that players will no longer be looking for the 4 statics that always spawn at an orange mission. +This pertains to: + Numbers of Emplaced Weapons + Numbers of Vehicles Patrols + Numbers of Air Patrols + AI Skills; for example you can now set ["aimingAccuracy",[0.08,16]],["aimingShake",[0.25,0.35]],["aimingSpeed",0.5],["endurance",0.50], .... ]; + Numbers of Items to load into Mission and Static loot crates; for example, for the orange level of difficulty item counts could be revised as follows: + GMS_lootCountsOrange = [[6,8],[24,32],[5,10],[25,35],16,1]; + +7/27/17 Version 6.59 Build 60 +[added] AI units in mission vehicles and emplaced weapons are notified of the location of the shooter when an AI unit is hit or killed. Location of the unit is revealed gradually between 0.1 and 4 where 4 is precise. Increments increase with increasing mission difficulty. + +6/1/17 Version 6.59 Build 59 +[changed] Players are no longer given crypto for each AI kill. Crypto added to AI Bodies was increased. +[fixed] error in GMS_fnc_setupWaypoints wherein _arc was not defined early enough in the script. +[fixed] Exile Respect Loss bug (temporary fix only). + +5/21/17 Version 6.58 build 58 +[Fixed] typos for GMS_epochValuables. +[Fixed] All loot was removed from AI vehicles at the time a mission was completed. +[Fixed] When mission completion criteria included killing all AI, missions could be completed with alive AI in vehicles. + +4/6/17 Version 6.58 Build 54 +[Added] A FAQ presenting an overview of the mission system and addons. +[Changed] Helicopter crew waypoint system reverted to that from Build 46. +[Fixed] Mission timouts would prevent new missions from spawning after a while. +[Fixed] GMS_timeAcceleration now determines if time acceleration is activated. +[Fixed] Missions did not complete correctly under certain circumstances. +[Fixed] Mission vehicles were not properly deleted, unlocked or otherwise handled at misison end or when AI crew were killed. +[Fixed] Throws errors when evaluating errors related to certain disallowed types of kills. +Known errors: throws errors with certain loot crate setups (Exile) + +3/23/17 Verision 6.58 build 48 +Turned debugging off +Added some preprocessor commands to minimize the use of if()then for debugging purposes when running without any debugging settings on. +Teaks to heli patrol waypoint system. +bugfixes. + +3/21/17 Version 6.58 Build 44 +[Added] Each mission now has a setting for mines which is set to false. To use the global setting in GMS_config for yoru mission just change this to read: + _useMines = GMS_useMines; +[Fixed] Logging by the time acceleration module was disabled. +[Fixed] Emplaced weapons now spawn in the correct locations. +[Fixed] Missions end correctly when all AI are dead and _endCondition = allKilledOrPlayerNear; +[changed] Reverted to the waypoint system from build 42. + +3/18/17 Version 6.58 Build 44 +[Fixed] Time acceleration was not working. +[Fixed] GMS_timeAcceleration now determines if time acceleration is activated. +[Fixed] The mission described by default2 in the blue missions folder now spawns correctly. + You can use this as a guide for how to place loot crates or static weapons at specific locations like inside or on top of structures. + Loot vehicles are now spawned correctly. + Loot crates positioned at specific locations are now spawned correctely. + static weapons to be spawned at specified positions are now spawned correctly. + That mission is disabled by default. +[Added] option to disable time acceleration (GMS_timeAcceleration = true; line 30 of GMS_config.sqf) +[Added] options to have armed heli's patrolling the missions and for them to drop AI. +[Added] options to have paratroops drop over missions as an alternative to the above. +[Added] Code optimization for GMS_fnc_spawnMissionAI.sqf and several other AI spawning scripts. +Added] Formalizing exception handling for the case in which a createGroup request returns grpNull. + If this happens during mission spawning the mission will be aborted and all mission objects and AI will be deleted. + This should prevent the mission system from crashing causing no further missions to spawn. +[Added] a new configuration that sets a cap on the maximum number of spawned missions. + GMS_maxSpawnedMissions = 4; // Line 181 of GMS_configs.sqf +[Added] a function GMS_fnc_allPlayers which returns an array of allPlayers (as a temporizing fix till BIS patches the allPlayers function. + +[Changed] Coding improvements for waypoint generation. + Tried a new approach to generating waypoints to make AI more aggressive without the overhead of the last method. + +[Changed] Redid the mission spawner to spawn one random mission every 1 min for mission for which timers say they can be spoawned. + This will continue until the cap is reached then randomly select a mission from those that are ready to be respawned to be spawned next. + If you want the various missions to have an equal chance of being spawned at all times, give the the timers for blue, red, green and red timers the same values for Min and Max. +[Chaged] logic for detecting whether a player is near the mission center or loot crates to test if a player is near any of an array of location or objects. +[Added] a function GMS_fnc_allPlayers which returns an array of allPlayers (as a temporizing fix till BIS patches the allPlayers function. + +To Do - consider moving back to storing AI in a group-based manner (doable easily, needs testing). + Build a template for static missions (planned for Ver 6.60). + Write a static mission spawning routine (planned for Ver 6.60). + +3/17/17 Version 6.58 Build 43 +Reverted back to v6.56 build 39 then: +[Added] a Hit event handler to make AI more responsive. All AI in the group to which the hit AI belongs are informed of the shooter's location. +[Changed] the Killed event handler as below. +[Added] New logic for informing AI of the location of players to give AI a more gradual ramp up from little knowledge about player location to full knowledge. +[Added] scripts and functions for reinforcements: a) heli patrols; b) paratroops. +[Added] ...\GMS\Configs\GMS_defines.hpp inside which you can disable APEX gear and other attributes. + +[Changed] Re-organized variables in the configs. +[Changed] Divided configs into tow basic parts: + - General configs for the mission system. + - Mod-specific configs. +[Changed] spawnMarker.sqf in the debug folder (mission.pbo) to reduce unneeded logging. + +3/13/17 Version 6.57 Build 41 +Changed the method of tracking live AI from an array of units to an array of groups which will aid in monitoring groups for a 'stuck' state. +Added Search and Destroy waypoints for each location in the waypoint cycle. +Change waypoint compbat mode to "COMBAT" +Added Group Waypoint Monitor that deals with the case wherein a group gets 'stuck' in a search and destroy waypoint without any nearby targets. +Updated spawnMarker.sqf in the debug folder (mission.pbo) to reduce unneeded logging. + +3/12/17 Version 6.57 Build 40 Reworked AI Event handlers +Added an event handler to make AI more responsive. +Revised logic for informing AI of the location of players to give AI a more gradual ramp up from little knowledge about player location to full knowledge. + +2/24/17 Version 6.56 Build 39. Reworked Mission End Criteria and timing of loading of loot chests +Added a check so that mission completion by players near loot crates was tripped only when players were on foot. +Added a setting that determines whether loot crates are loaded when the mission spawns or once the mission is complete. + see GMS_loadCratesTiming = "atMissionCompletion"; (line 78) for this configuration setting. + +1/28/17 Version 6.55 Build 38 Bug Fixes +bug fixes +Commented out logging that is no longer needed +Removed a weapon from loot tables that could be used for dupping. + +1/24/17 Version 6.55 Build 35 Improved handling of static weapons with dead AI; added option to delete loot chests at some time after mission completion. +Added a new configuration GMS_killEmptyStaticWeapons which determines if static weapons shoudl be disabled after the AI is killed. +Added a configuration GMS_cleanUpLootChests that determines if loot crates are deleted when other mission objects are deleted. +Fixed an issue that prevented proper deletion of mission objects and live AI. + +1/23/17 Version 6.54 Build 33 Bug Fixes +Fixed typos in GMS_fnc_vehicleMonitor.sqf +Removed a few files that are not used or needed. +Removed some code that had been commented out from GMS_functions.sqf. + +1/22/17 Version 6.54 build 32 Primarily performance-oriented improvements to switch from using timers and .sqf to a 'thread' that scans various arrays related to missions and mission objects using pre-compiled functions. +Changed code to test for conditions that trigger to spawn mission objects and AI completely +Rewrote the code for spawning emplaced weapons from scratch. +Fixed an error in how the waitTime till a mission was respawned after being updated to inactive status. +Added additional reporting as to the mission type for which AI, statics and vehicle patrols are being spawned. +Continued switching from GMS_debugOn to GMS_debugLevel. +Continued work to move much of the code from GMS_fnc_missionSpawner to precompiled functions. + - tested and working for all but the emplaced weapons module. +Removed old code that had been commented out from GMS_missionSpawner. +deactivated the 'fired' event handler +added an 'reloaded' event handler to units that adds a magazin of the type used to reload the weapon to prevent units running out of ammo. this also provides a break in firing and is more realistic. +Added a check to GMS_fnc_vehicleMonitor that addes ammo to vehicle cargo when stores are low. Removed the infinite ammo script for static and vehicle weapons, again for greater realism. +Increased number of rounds of ammo added to AI units for primary and secondary weapons. +Tweaked code in GMS_fnc_spawnUnit to increase efficiency. +Attempted a fix for occaisional issues with missions not triggering or ending by changing from distance to distance2D. +Tweaked code for deleting dead AI to also delete any weapons containers nearby. +Checked throughout for potential scope issues; ensured all private variables were declared as such. +Changed the method by which mission patrol vehicles and static weapons are deleted at the end of a mission. + +1/21/17 Build 29. Reverted to an older system for mission timers. +Went back to the timerless system for spawning missions. +Improved code for updating the array of pending/active missions + GMS_fnc_updateMissionQue.sqf re-written to take greater advantage of existing array commands: set and find. +Ensured that the array used to store the location(s) of active or recent missions is properly updated. + +1/13/17 Version 6.54 Build 27 +Rerverted back to the code that spawned a single instance of each mission until I can debug certain issues. + +1/7/17 Version 6.53 Build 24 AI difficulty updates; some performance improvements. +Added a setting GMS_baseSkill = 0.7; // This defines the base skil of AI. Increase it to make AI more challenging. +Tweaked AI difficulty settings to make missions more difficult. +changed - GMS_EH_unitKilled - the event handler now uses precompiled rather than compiled on the fly code. +changed - several other minor performance tweaks were made server side. +changed - small changes were made the the loop in GMS_client.sqf +Tweaked debugging information to reduced unnecessary logging when not in debug-mode. +Disabled the loop sending server fps client-side +fixed - GMS_fnc_updateMissionQue was not correctly updating mission information after mission completion. +fixed - GMS_fnc_mainThread was not deleted old AI and Vehicles from the arrays used to capture them after mission completion. +changed - calls to GMS_fnc_vehicleMonitor were moved inside the main loop. + +1/3/17 Version 6.51 Build 23 Added several new kinds of messaging to the UI. +Moved configuration for the client from debug\blckclient.sqf to debug\blckconfig.sqf. +Added a setting GMS_useKillMessages = true/false; (line 60 of the config. when true, kill messages will be send to all players when a player kills an AI. The style of the message is controlled client-side (debug\GMS_config.sqf) +Added a setting GMS_useKillScoreMessage = true/false; // (line 61 of the config) when true a tile is displayed to the killer with the kill score information +Added a setting GMS_useIEDMessages = true/false; // when true players will receive a message that their vehicle was damaged when AI are killed in a forbidden way (Run over Or Killed with vehicle-mounted weapons) +Fixed: Messages that a nearby IED was detonated are now properly displayed when players illegally kill AI. +Added a way to easily include / exclude APEX items. To exclude them comment out the line + #define useAPEX 1 + at approximately line 219 in the config. + +12/21/16 Version 6.50 Build 21 Added checks that delete empty groups. +Added a check for mod type to the routine that deletes empty groups as this is only needed for Epoch. +Added back the code that (a) eliminates the mission timers and (b) allows multiple instances of a mission to be spawned. + +12/20/16 Version 6.46 Buid 20 Tweaks to time acceleration module. +Moved Variables for time acceleration to the config files. +Reworked code for time acceleration to use timeDay and BIS_fnc_sunriseSunsetTime. + +11/20/16 Build 6.45 Build 19 UI-related additions and bug fixes. +Added Option to display mission information in Toasts (Exile Only). +Fixed an issue related to bugs in Arma 1.66 + +11/16/16 Version 6.44 Build 15 Added options for automated generation of location blacklists; added APEX gear; tweaks to the code that loads items into crates. +Added parameters + GMS_blacklistTraderCities=true; // the locations of the Epoch/Exile trader cities will be pulled from the config and added to the location blacklist for the mission system. + blcklistConcreteMixerZones = true; // Locations of the concrete mixers will be pulled from the configs; no missions will be spawned within 1000 m of these locations. + GMS_blacklistSpawns = true; // Locations of Exile spawns will be pulled from the config. No missions will spawn within 1000 m of these locations. +Added: the main thread now runs a function that checks for empty groups. +Fixed: The mission system would hang on epoch after a while because createGroup returned nullGroup. this appeared to occur because the maximum number of active groups had been reached. Deleting empty groups periodically solved the issue on a test machine. +Teaked: code to check whether a possible mission spawn location is near a flag or plot pole. Still needs work. +Added: Completed adding EDEN weapons, optics, bipods, optics to AI configurations and mission loot crates. +Added APEX headgear and uniforms. (Note, you would need to add any of these you wished for players to sell to Epoch\\epoch_config\CfgPricing.hpp on Epoch) +Changed: Definitions of blacklist locations such as spawns moved from GMS_findWorld.sqf to the GMS_configs_(epoch|exile). +Changed: Divided rifles and optics into subcategories to better enable assigning weapons to AI difficulties in a sort of class-based way, e.g., 556, 6.5, or LMG are separate classes. +Changed: DLS crate loader (not publically available yet) now uses GMS_fnc_loadLootItemsFromArray rather than the prior approach for which specific crate loading functions were called depending on the loadout type (weapons, building supplies, foord etc). +Fixed: You can now loot AI bodies in Epoch. + +11/12/16 Version 6.43 Build 12 Added MAP ADDONS and Loot Crate Spawners. +Added: MapAddons - use this to spawn AI strongholds or other compositions you generate with Eden editor at server startup. +Added: Loot Crate Spawner - Spawn loot crates at prespecified points. This is designed so that you can spawn crates inside buildings or other structures spawned through the map-addons. +Added: APEX weapons, sights and optics to AI and loot crates. + +11/12/16 Version 6.42 Build 11 Added code to fit weapons attachments. +Enhancements to code to equip weapons; pointrs, silencers and bipods are now attached. + +11/11/16 Version 6.42 build 10 Added code to fit weapons attachments. Improved code to spawn mission objects. +Redid the code that spawns the objects at missions to work properly with the new formats generated by M3Arma EDEN Editor whilc being backwards compatible with older formats used in the existing missions. +Added code to add scopes and other attachments to AI weapons. +Added new variable GMS_blacklistedOptics which you can use to block spawning optics like TMS. +Added new parameter GMS_removeNVG which when true will cause NVG to be deleted from AI bodies. +Fixed: launchers and rounds should now be deleted when GMS_removeLaunchers = true; +Fixed: All AI should spawn with a uniform. +More bug fixes and correction of typos. + +11/2/16 Version 6.41 Build 9 Kill message improvements; added money to AI. +Added a parameter GMS_useKilledAIName that, when true, changes the kill messages to show player name and AI unit name +Added message to players for killstreaks and a crypto/Tabs bonus for killstreaks. +Exile: AI spawn with a few tabs. +//Epoch: AI spawn with a few Crypto +Corrected an error that would spawn Epoch NVG on AI in Exile. + +10/25/16 Version 6.4 Build 8 Code improvements. +Reworked the code to spawn vehicle patrols and static weapons and clean them up. +Reworked the code that messages players to be sure that calling titleText does not hang the messaging function and delay hints or system chat notifications. + +10/22/16 v 6.3 Build 8-14-16 Code performance improvements. +Moved routines that delete dead AI, Alive AI and mission objects from individual loops to a single loop spawned by GMS_init.sqf. +Added functions to cache these data with time stamps for later time-based deletion. + +10/21/16 Version 6.2 Build 7 Coding improvements +Redid system for markers which are now defined in the mission template reducing dependence on client side configurations for each mission or marker type. +Bug-fixes for helicrashes including ensuring that live AI are despawned after a certain time. + +10-1-16 Version 6.1.4 Build 6 Added a time acceleration function +1) Added back the time acceleration module + +9-25-16 Version 6.1.4 Build 6 bug fixes; added metadata. +1) Added metadata for Australia 5.0.1 +2) Fixed bugs with the IED notifications used when a player is penalized for illeagal AI Kills. _fnc_processIlegalKills (server side) and blckClient (client side) reworked. _this select 0 etc was replaced with params[] throughout. Many minor errors were corrected. + +9/24/16 Version 6.1.3 Build 5 Code optimization +1) Re-wrote the SLS crate spawning code which now relies on functions for crate spawning and generating a smoke source already used by the mission system. Replaced old functions with newer ones (e.g., params[] and selectRandom). Found a few bugs. Broke the script up into several discrete functions. Tested on Exile and Epoch, +2) Reworked the code for generating a smoke source. Added additional options with defaults set using params[]. + +9-19-16 Ver 6.1.2/11/16 Bug fixes. +Minor bug fixes to support Exile. +Corrected errors with scout and hunter missions trying to spawn using Epoch headgear. +Corrected error wherein AI were spawned as Epoch soldiers +Inactivated a call to an exile function that had no value + +9-15-16 vER 6.1.1 Bug fixes. +1) Reverted to the old spawnUnits routine because the new one was not spawning AI at Scouts and Hunters correctly. + +9-13-16 Ver 6.10 Improved vehicle patrols. +1) Added waypoints for spawned AI Vehicles. +2) Reworked the logic for generating the positions of these waypoints +3) Added loiter waypoints in addition to move wayponts. +4) Reworked the param/params for spawnUnits +5) several other minor optimizations. + +9-3-16 Ver 6.0 +1) Re-did the GMS folder so the mod automatically starts. GMS_client.sqf no longer calls the mod from the server. +2) Added a variable GMSCore_modtype which presently can be either "Epoch" or "Exile" with the aim of having a single mission system for both mods. +3) Added a more intelligent method for loading key components (variables, functions, and map-specific parameters). +4) Re-did all code to automatically select correct parameters to run correctly on either exile or epoch servers. +5) Added the Exile Static Loot Crate Spawner; Re-did this to load either an exile or epoch version as needed since a lot of the variables and also the locations tables are unique. +6) Added the Dynamic Loot system from Exile again with Exile and Epoch specific configurations; here the difference is only in the location tables. +7) Pulled the map addons function from the Exile build and added a functionality to spawn addons appropriately for map and mod type. +8) Helicrashes redone to provide more variability in the types of wrecks, loot and challenge. These are spawned by a new file Crashes2.sqf +9) Added a setting to determine the number of crash sites spawned at any one time: GMS_maxCrashSites. Set to -1 to disable altogether. +10) Added settings to enable / disable specific mission classes, e.g., GMS_enableOrangeMissions. Set to 1 to enable, -1 to disable. + +8-14-16 +Added mission timout feature, set GMS_MissionTimeout = -1 to disble; +Changed to use of params for all .sqf which also eliminated calls to BIS_fnc_params +changed to selectRandom for all .sqf + +some changes to client side functions to eliminate the public variable event handler (credits to IT07 for showing the way) +Added the armed powerler to the list of default mission vehicles. + +2/28/16 +1) Bug fixes completed. Cleanup of bodies is now properly separated from cleanup of live AI. Cleanup of vehicles with live AI is now working correctly. +2) Released to servers this morning. +3) Next step will be to add in the heli reinforcements for ver 5.2. + +2/20/16 +Bugfixes and enhancements. +1) added checks for nearby bases or nearby players when spawning missions. +2) Fixed typos in Medical Camp missions. +3) Added two new modes for completing mission: 1) mission is complete when all AI are killed; 2) mission is complete when player reaches the crate OR when all AI are killed. + +In Progress +1) Mission timouts +2) Added optional reinforcments via helicopters which can then patrol the mission area. + +2/11/16 +Major Update to Build 5.0 + +1) All missions but heli crashes are spawned using a single mission timer and mission spawner +2) The mission timer now calles a file containing the mission parameters. The mission spawner is included and run from that file. +3) A kill feed was added reporting each AI kill. +4) AI kills are now handled via an event handler run on the server for forward compatability with headless clients. +5) Multiple minor errors and bug fixes related to mission difficulty, AI loadouts, loot and other parameters were included. +6) The first phase of restructuring of the file structure has been completed. Most code for functions and units has been moved to a compiles directory in Compiles\Units and Compiles\Functions. +7) Some directionality and randomness was added where mission objects are spawned at random locations from an array of objects to give the missions more of a feeling of a perimeter defense where H-barrier and other objects were added. +8) As part of the restructuing, variables were moved from AIFunctions to a separate file. +9) Bugs in routines for cleanup of dead and live AI were fixed. A much simpler system for tracking live AI, dead AI, locations of active and recent missions, was implemented because of the centralization of the mission spawning to a single script diff --git a/@GMS/addons/GMS/config.cpp b/@GMS/addons/GMS/config.cpp new file mode 100644 index 0000000..b2916cf --- /dev/null +++ b/@GMS/addons/GMS/config.cpp @@ -0,0 +1,159 @@ +/* + for ghostridergaming + By Ghostrider [GRG] + Copyright 2016 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + + class GMSBuild { + Version = "7.144"; + Build = "262"; + Date = "09-16-2023"; + }; + +class CfgPatches { + class GMS { + units[] = {}; + weapons[] = {}; + requiredVersion = 0.1; + requiredAddons[] = {"GMSCore"}; + }; +}; + +class CfgFunctions { + class GMS { + class startup { + file = "\GMS\Compiles\Init"; + class init { + postInit = 1; + }; + }; + + class functions { + file = "\GMS\Compiles\Functions"; + class broadcastServerFPS {}; + class cleanEmptyGroups {}; + class countAliveAI {}; + class createMissionMarkers {}; + class deleteMarker {}; + class findPositionsAlongARadius {}; + class findRandomLocationWithinCircle {}; + class findShoreLocation {}; + class findWaterDepth {}; + class getAllBlckeaglsMarkers {}; + class getAllDMSMarkers {}; + class getAllMarkersOfSubtype {}; + class getIndexFromDifficulty {}; + class loadLootItemsFromArray {}; + class mainThread {}; + class markerSetAliveAICount {}; + class messagePlayers {}; + class missionCompleteMarker {}; + class msgIED {}; + class nearestPlayers {}; + class playerInRange {}; + class playerInRangeArray {}; + class restoreHiddenObjects {}; + class setDirUp {}; + class spawnMarker {}; + class updateMarkerAliveCount {}; + }; + class groups { + file = "\GMS\Compiles\Groups"; + class checkGroupWaypointStatus {}; + class cleanEmptyGroups {}; + class createGroup {}; // Kept for backwards compatability with static missions if these are kept and not updated. + class emplacedWeaponWaypoint {}; // Not sure this is needed - can we do the same thing directly in another script? + class findNearestInfantryGroup {}; + class groupWaypointMonitor {}; + class setNextWaypoint {}; + class setupWaypoints {}; + class simulationMonitor {}; + class spawnGroup {}; + }; + class missions { + file = "\GMS\Compiles\Missions"; + class addMIssionToQue {}; + //class crateMoved {}; + class endMission {}; + class fillBoxes {}; + class garrisonBuilding_ATLsystem {}; + class loadLootItemsFromArray {}; + class initializeMission {}; + class loadMissionCrate {}; + class missionCleanup {}; + class monitorInitializedMissions {}; + class monitorSpawnedMissions {}; + class paraDropObject {}; + class selectAIBackpacks {}; + class selectAILoadout {}; + class selectAISidearms {}; + class selectAIUniforms {}; + class selectAIHeadgear {}; + class selectAIVests {}; + class selectChanceHeliPatrol {}; + class selecctChanceParatroops {}; + class selectMissionHelis {}; + class selectNumberAirPatrols {}; + class selectNumberParatroops {}; + class selectVehicleCrewCount {}; + class signalEnd {}; + class smokeAtCrates {}; + class spawnCrate {}; + class spawnCompositionObjects {}; + class spawnEmplacedWeaponArray {}; + class spawnMines {}; + class spawnMissionAI {}; + class spawnMissionCrates {}; + class spawnMissionHelis {}; + class spawnMissionLootVehicles {}; + class spawnMissionVehiclePatrols {}; + class spawnNewMissions {}; + class spawnRandomLandscape {}; + class spawnScubaGroup {}; + class spawnSimpleObjects {}; + class spawnSDVPatrol {}; + class spawnSurfacePatrol {}; + }; + class units { + file = "\GMS\Compiles\Units"; + class cleanupAliveAI {}; + class deleteAI {}; + class removeAllAIgear {}; + class spawnParaUnits {}; + class spawnUnit {}; + class unitHit {}; + class unitKilled {}; + }; + class Utils { + file = "\GMS\Compiles\Utils"; + class log {}; + }; + class vehicles { + file = "\GMS\Compiles\Vehicles"; + class alertVehicles {}; + class deleteAIVehicle {}; + class checkForEmptyVehicle {}; + class handleEmptyVehicle {}; + class loadVehicleCrew {}; + class protectVehicle {}; + class releaseVehicleToPlayers {}; + class revealNearbyPlayers {}; + class scanForPlayersNearVehicles {}; + class selectPatrolVehicle {}; + class spawnMissionHeli {}; + class spawnVehicle {}; + class spawnVehiclePatrol {}; + class vehicleHit {}; + class vehicleKilled {}; + class vehicleMonitor {}; + }; + }; +}; + diff --git a/GMS_Client/GMS_client.sqf b/GMS_Client/GMS_client.sqf new file mode 100644 index 0000000..5b8c3df --- /dev/null +++ b/GMS_Client/GMS_client.sqf @@ -0,0 +1,18 @@ + +diag_log format["[GMS] LOADING GMS_Client.sqf at %1",diag_tickTime]; +#include "GMS_clientFunctions.sqf"; +#include "GMS_clientSettings.sqf"; + +{ + diag_log format["[GMS_Client] %1 = %2",_x, missionNamespace getVariable[_x,-1]]; +} forEach [ + "GMS_useHint", + "GMS_useSystemChat", + "GMS_useTitleText", + "GMS_useDynamic", + "GMS_useToast", + "GMS_aiKilluseSystemChat", + "GMS_aiKilluseDynamic", + "GMS_aiKilluseTitleText" +]; +diag_log format["[GMS] DONE LOADING GMS_Client.sqf at %1",diag_tickTime]; \ No newline at end of file diff --git a/GMS_Client/GMS_clientFunctions.sqf b/GMS_Client/GMS_clientFunctions.sqf new file mode 100644 index 0000000..b1cf628 --- /dev/null +++ b/GMS_Client/GMS_clientFunctions.sqf @@ -0,0 +1,327 @@ + #define hideOnUse true + #define showWindow true + + GMS_fnc_nextAnimation = { + _hostage = _this; + _hostage switchMove ""; + _animations = _hostage getVariable["GMSAnimations",[""]]; + diag_log format["_fnc_nextAnimation: _hostage = %1 and _animations = %2",_hostage,_animations]; + _hostage switchMove (selectRandom _animations); + }; + + GMS_EH_onAnimationDone = { + diag_log format["GMS_EH_onAnimationDone: _this = %1",_this]; + private _hostage = _this select 0; + if (alive _hostage) then + { + diag_log format["GMS_EH_onAnimationDone: _animations = %1",_hostage getVariable["GMSAnimations",[""]]]; + _hostage call GMS_fnc_nextAnimation; + } else { + _hostage removeAllEventHandlers "AnimDone"; + }; + }; + + GMS_fnc_freeHostage = { + diag_log format["fn_freeHostage: _this = %1",_this]; + private _hostage = _this select 0; + if (_hostage getVariable["GMS_unguarded",0] isEqualTo 1) then + { + _hostage setVariable["GMS_AIState",1,true]; + private _msg = "Thank you For freeing me. I must return home."; + systemChat _msg; + if (GMSCore_modType isEqualTo "Epoch") then + { + [_msg,5] call Epoch_message; + }; + if (GMSCore_modType isEqualTo "Exile") then + { + ["InfoTitleAndText", ["The Hostage Says", _msg]] call ExileClient_gui_toaster_addTemplateToast; + }; + } else { + private _msg = "I am afraid, please kill more of the enemy!"; + systemChat _msg; + if (GMSCore_modType isEqualTo "Epoch") then + { + [_msg,5] call Epoch_message; + }; + if (GMSCore_modType isEqualTo "Exile") then + { + ["InfoTitleAndText", ["The Hostage Says", _msg]] call ExileClient_gui_toaster_addTemplateToast; + }; + }; + }; + + GMS_fnc_addHostageActions = { + private _hostage = _this; + private _handle = _hostage addAction ["Free Hostage",{_this call GMS_fnc_freeHostage},[],1,showWindow,hideOnUse]; //,"",{alive _target}]; //,"", (alive _target)]; + }; + + GMS_fnc_addAssetAnimations = { + private _asset = _this; + _asset addEventHandler ["AnimDone", {_this call GMS_EH_onAnimationDone}]; + _asset call GMS_fnc_nextAnimation; + diag_log format["_fnc_addAssetAnimations: Animation and event handler added for asset %1",_asset]; + }; + + GMS_fnc_initHostage = { + if (hasInterface) then + { + private _hostage = _this; + _hostage call GMS_fnc_addHostageActions; + _hostage call GMS_fnc_addAssetAnimations; + diag_log format["_fnc_initHostage: hostage %1 initialized",_hostage]; + }; + }; + + GMS_fnc_arrestLeader = { + diag_log format["GMS_fnc_arrestLeader: _this = %1",_this]; + private _leader = _this select 0; + if (_leader getVariable["GMS_unguarded",0] isEqualTo 1) then + { + _leader setVariable["GMS_AIState",1,true]; + private _msg = "I surrender."; + systemChat _msg; + if (GMSCore_modType isEqualTo "Epoch") then + { + [_msg,5] call Epoch_message; + }; + if (GMSCore_modType isEqualTo "Exile") then + { + ["InfoTitleAndText", ["The Leader Says", _msg]] call ExileClient_gui_toaster_addTemplateToast; + }; + } else { + private _msg = "I will resist arrest until all of my men are down!"; + systemChat _msg; + if (GMSCore_modType isEqualTo "Epoch") then + { + [_msg,5] call Epoch_message; + }; + if (GMSCore_modType isEqualTo "Exile") then + { + ["InfoTitleAndText", ["The Leader Says", _msg]] call ExileClient_gui_toaster_addTemplateToast; + }; + }; + }; + + GMS_fnc_addLeaderActions = { + private _leader = _this; + private _handle = _leader addAction ["Under Arrest",{_this call GMS_fnc_arrestLeader},[],1,showWindow,hideOnUse]; //,"",{alive _target}]; //,"", (alive _target)]; + }; + + GMS_fnc_initLeader = { + if (hasInterface) then + { + private _leader = _this; + _leader call GMS_fnc_addLeaderActions; + _leader call GMS_fnc_addAssetAnimations; + diag_log format["_fnc_initLeader: Leader %1 initialized",_leader]; + }; + }; + +if !(isServer) then +{ + + GMS_useHint = false; + GMS_useSystemChat = true; + GMS_useTitleText = false; + GMS_useDynamic = true; + GMS_useToast = false; // Exile only + GMS_aiKilluseSystemChat = true; + GMS_aiKilluseDynamic = false; + GMS_aiKilluseTitleText = false; + GMS_processingMsg = -1; + GMS_processingKill = -1; + GMS_message = ""; + + GMS_fnc_killScoreNotification = { + params["_bonus","_distanceBonus","_killStreak"]; + //diag_log format["fn_killScoreNotification:: -- >> _bonus = %1 | _distanceBonus = %2 | _killStreak = %3",_bonus,_distanceBonus,_killStreak]; + _msg2 = format["AI Killed
"]; + if (typeName _bonus isEqualTo "SCALAR") then // add message for the bonus + { + if (_bonus > 0) then + { + _msg2 = _msg2 + format["Bonus +%1
",_bonus]; + }; + }; + if (typeName _distanceBonus isEqualTo "SCALAR") then // Add message for distance bonus + { + if (_distanceBonus > 0) then + { + _msg2 = _msg2 + format["Dist Bonus +%1
",_distanceBonus]; + }; + }; + if (typeName _killStreak isEqualTo "SCALAR") then + { + if (_killStreak > 0) then + { + _msg2 = _msg2 + format["Killstreak %1X
",_killStreak]; + }; + }; + [parseText _msg2,[0.0823437 * safezoneW + safezoneX,0.379 * safezoneH + safezoneY,0.0812109 * safezoneW,0.253 * safezoneH], nil, 7, 0.3, 0] spawn BIS_fnc_textTiles; + }; + + GMS_fnc_dynamicWarning = { + private["_text","_screentime","_xcoord","_ycoord"]; + params["_mission","_message"]; + + waitUntil {GMS_processingMsg < 0}; + GMS_processingMsg = 1; + _screentime = 7; + _text = format[ + "%1

+ %2
", + _mission,_message + ]; + _ycoord = [safezoneY + safezoneH - 0.8,0.7]; + _xcoord = [safezoneX + safezoneW - 0.5,0.35]; + [_text,_xcoord,_ycoord,_screentime,0.5] spawn BIS_fnc_dynamicText; + uiSleep 3; // 3 second delay before the next message + GMS_processingMsg = -1; + }; + GMS_fnc_missionWarning = { + params["_event","_message","_mission"]; + + if (GMS_useSystemChat) then {systemChat format["%1",_message];}; + if (GMS_useHint) then { + hint parseText format[ + "%1
+ ______________

+ %2
+ ______________

+ Any loot you find is yours as payment for eliminating the threat!",_mission,_message + ]; + }; + if (GMS_useDynamic) then { + [_mission,_message] call fn_dynamicWarning; + }; + if (GMS_useTitleText) then { + [_message] spawn { + params["_msg"]; + titleText [_msg, "PLAIN DOWN",5];uiSleep 5; titleText ["", "PLAIN DOWN",5] + }; + }; + if (GMS_useToast) then + { + ["InfoTitleAndText", [_mission, _message]] call ExileClient_gui_toaster_addTemplateToast; + }; + //diag_log format["_fn_missionNotification ====] Paremeters _event %1 _message %2 _mission %3",_event,_message,_mission]; + }; + GMS_fnc_dynamicNotification = { + private["_text","_screentime","_xcoord","_ycoord"]; + params["_mission","_message"]; + + waitUntil {GMS_processingMsg < 0}; + GMS_processingMsg = 1; + _screentime = 7; + _text = format[ + "%1

+ %2
", + _mission,_message + ]; + _ycoord = [safezoneY + safezoneH - 0.8,0.7]; + _xcoord = [safezoneX + safezoneW - 0.5,0.35]; + [_text,_xcoord,_ycoord,_screentime,0.5] spawn BIS_fnc_dynamicText; + uiSleep 3; // 3 second delay before the next message + GMS_processingMsg = -1; + }; + + //diag_log "[blckeagls] initializing client functions"; + GMS_fnc_missionNotification = { + params["_message","_mission"]; + diag_log format["[GMS] GMS_fnc_missionNotification: _message = %1 | _mission = %2",_message,_mission]; + diag_log format["[GMS] GMS_useDynamic = %1",GMS_useDynamic]; + if (GMS_useSystemChat) then {systemChat format["%1",_message];}; + if (GMS_useHint) then { + hint parseText format[ + "%1
+ ______________

+ %2
+ ______________

+ Any loot you find is yours as payment for eliminating the threat!",_mission,_message + ]; + }; + if (GMS_useDynamic) then { + [_mission,_message] call GMS_fnc_dynamicNotification; + }; + if (GMS_useTitleText) then { + [_message] spawn { + params["_msg"]; + titleText [_msg, "PLAIN DOWN",5];uiSleep 5; titleText ["", "PLAIN DOWN",5] + }; + }; + if (GMS_useToast) then + { + ["InfoTitleAndText", [_mission, _message]] call ExileClient_gui_toaster_addTemplateToast; + }; + diag_log format["_fn_missionNotification ====] Paremeters _message %1 _mission %2",_message,_mission]; + }; + + GMS_fnc_AI_KilledNotification = { + private["_message","_text","_screentime","_xcoord","_ycoord"]; + _message = _this select 0; + //diag_log format["_fn_AI_KilledNotification ====] Paremeters _event %1 _message %2 _mission %3",_message]; + if (GMS_aiKilluseSystemChat) then {systemChat format["%1",_message];}; + if (GMS_aiKilluseTitleText) then {titleText [_message, "PLAIN DOWN",5];uiSleep 5; titleText ["", "PLAIN DOWN",5]}; + if (GMS_aiKilluseDynamic) then { + //diag_log format["blckClient.sqf:: dynamic messaging called for mission %2 with message of %1",_message]; + waitUntil{GMS_processingKill < 0}; + GMS_processingKill = 1; + _text = format["%1",_message]; + _xcoord = [safezoneX,0.8]; + _ycoord = [safezoneY + safezoneH - 0.5,0.2]; + _screentime = 5; + [" "+ _text,_xcoord,_ycoord,_screentime] spawn BIS_fnc_dynamicText; + uiSleep 3; + GMS_processingKill = -1; + }; + }; + + GMS_fnc_handleMessage = { + params["_event","_message",["_mission",""]]; + + switch (_event) do + { + case "start": + { + playSound "UAV_05"; + [_message,_mission] spawn GMS_fnc_missionNotification; + }; + case "end": + { + playSound "UAV_03"; + [_message,_mission] spawn GMS_fnc_missionNotification; + }; + case "aikilled": + { + [_message] spawn GMS_fnc_AI_KilledNotification; + }; + case "DLS": + { + if ( (player distance _mission) < 1000) then {playsound "AddItemOK"; hint _message;systemChat _message}; + }; + case "reinforcements": + { + if ( (player distance _mission) < 1000) then {playsound "AddItemOK"; ["Alert",_message] call GMS_fnc_dynamicNotification;}; + //diag_log "---->>>> Reinforcements Spotted"; + }; + case "IED": + { + [1] call BIS_fnc_Earthquake; + //["IED","Bandits targeted your vehicle with an IED"] call GMS_fnc_dynamicNotification; + ["Bandits targeted your vehicle with an IED.", 5] call Epoch_message; + for "_i" from 1 to 3 do {playSound "BattlefieldExplosions3_3D";uiSleep 0.3;}; + }; + case "showScore": + { + [_message select 0, _message select 1, _message select 2] call GMS_fnc_killScoreNotification; + }; + case "warning": + { + [_event,_message,_mission] spawn GMS_fnc_missionWarning; + }; + }; + + }; +}; +diag_log format["[GMS_Client] Client Functions Loaded at %1",diag_tickTime]; \ No newline at end of file diff --git a/GMS_Client/GMS_clientSettings.sqf b/GMS_Client/GMS_clientSettings.sqf new file mode 100644 index 0000000..509873b --- /dev/null +++ b/GMS_Client/GMS_clientSettings.sqf @@ -0,0 +1,11 @@ +/* + Adjust these to suit your liking. +*/ +GMS_useHint = false; +GMS_useSystemChat = true; +GMS_useTitleText = false; +GMS_useDynamic = true; +GMS_useToast = false; // Exile only +GMS_aiKilluseSystemChat = true; +GMS_aiKilluseDynamic = false; +GMS_aiKilluseTitleText = false; \ No newline at end of file