Last step of bid folder restructure

This commit is contained in:
kaltokri
2024-01-01 23:45:14 +01:00
parent 3aee942510
commit d0ce19b779
500 changed files with 6601 additions and 6601 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,38 @@
---
-- Name: SCO-100 - Scoring Demo
-- Author: FlightControl
-- Date Created: 21 Feb 2017
--
-- # Situation:
--
-- A shooting range has been setup. Fly the Ka-50 or the Su-25T to the statics and units located near the airport, and shoot them.
--
-- # Test cases:
--
-- 1. Observe the scoring granted to your flight when you hit and kill targets.
HQ = GROUP:FindByName( "HQ", "Bravo HQ" )
CommandCenter = COMMANDCENTER:New( HQ, "Bravo" )
Scoring = SCORING:New( "Shooting Range 1" )
Scoring:SetScaleDestroyScore( 10 )
Scoring:SetScaleDestroyPenalty( 40 )
Scoring:AddUnitScore( UNIT:FindByName( "Unit #001" ), 200 )
-- Test for zone scores.
-- This one is to test scoring on normal units.
ShootingRangeZone = ZONE:New( "ScoringZone1" )
Scoring:AddZoneScore( ShootingRangeZone, 200 )
-- This one is to test scoring on scenery.
-- Note that you can only destroy scenery with heavy weapons.
SceneryZone = ZONE:New( "ScoringZone2" )
Scoring:AddZoneScore( SceneryZone, 200 )
Scoring:AddStaticScore(STATIC:FindByName( "Shooting Range #010" ), 100 )

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,21 @@
---
-- Name: SCO-101 - Scoring Client to Client
-- Author: FlightControl
-- Date Created: 24 Feb 2017
--
-- # Situation:
--
-- A shooting range has been setup to test client to client scoring.
--
-- # Test cases:
--
-- 1. Observe the scoring granted to your flight when you hit and kill other clients.
HQ = GROUP:FindByName( "HQ", "Bravo HQ" )
CommandCenter = COMMANDCENTER:New( HQ, "Lima" )
Scoring = SCORING:New( "Detect Demo" )

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,41 @@
---
-- Name: SCO-200 - Telemetry
-- Author: FlightControl
-- Date Created: 24 Sep 2017
--
-- # Situation:
--
-- A shooting range has been setup. Fly the Ka-50 or the Su-25T to the statics and objects located near the airport, and shoot them.
--
-- # Test cases:
--
-- 1. Observe the scoring granted to your flight when you hit and kill targets.
-- 2. Check the scoring telemetry communicated to the website.
HQ = GROUP:FindByName( "HQ", "Bravo HQ" )
CommandCenter = COMMANDCENTER:New( HQ, "Bravo" )
Scoring = SCORING:New( "Shooting Range 1" )
Scoring:SetTelemetryServer( "96.49.78.227", 5010 )
Scoring:SetScaleDestroyScore( 10 )
Scoring:SetScaleDestroyPenalty( 40 )
Scoring:AddUnitScore( UNIT:FindByName( "Unit #001" ), 200 )
-- Test for zone scores.
-- This one is to test scoring on normal units.
ShootingRangeZone = ZONE:New( "ScoringZone1" )
Scoring:AddZoneScore( ShootingRangeZone, 200 )
-- This one is to test scoring on scenery.
-- Note that you can only destroy scenery with heavy weapons.
SceneryZone = ZONE:New( "ScoringZone2" )
Scoring:AddZoneScore( SceneryZone, 200 )
Scoring:AddStaticScore(STATIC:FindByName( "Shooting Range #010" ), 100 )

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,139 @@
---
-- Name: SCO-500 - Scoring Multi Player Demo Mission 1
-- Author: Pikey and FlightControl
-- Date Created: 1 Mar 2017
--
-- # Situation:
--
-- A demo mission for the scoring. Read the briefing and have fun.
--
-- # Test cases:
--
-- 1. Observe the scoring granted to your flight when you hit and kill targets.
-- Define the patrol zones
BlueCapZone = ZONE_POLYGON:New( "BlueCapZone", GROUP:FindByName( "Blue CAP Zone Patrol" ) )
RedCapZone = ZONE_POLYGON:New( "RedCapZone", GROUP:FindByName( "Red CAP Zone Patrol" ) )
-- Define the engage zones
BlueEngageZone = ZONE_POLYGON:New( "BlueEngageZone", GROUP:FindByName( "Blue CAP Zone Engage" ) )
RedEngageZone = ZONE_POLYGON:New( "RedEngageZone", GROUP:FindByName( "Red CAP Zone Engage" ) )
-- Define the Spawn zones for ground vehicles
BlueSpawnGroundZone = ZONE_POLYGON:New( "BlueSpawnGroundZone", GROUP:FindByName( "Blue Spawn Zone" ) )
--RedSpawnGroundZone = ZONE_POLYGON:New( "RedSpawnGroundZone", GROUP:FindByName( "Red Spawn Zone" ) )
RedSpawnGroundZone = ZONE:New( "Red Spawn Zone" )
-- Define the Scoring zones that define the shelters
BlueShelterZone = ZONE_POLYGON:New( "Blue Shelters", GROUP:FindByName( "Blue Shelters" ) )
RedShelterZone = ZONE_POLYGON:New( "Red Shelters", GROUP:FindByName( "Red Shelters" ) )
-- Define the Set of Clients that are used for the AI Balancers
BluePlanesClientSet = SET_CLIENT:New():FilterCoalitions( "blue" ):FilterCategories( "plane" ):FilterPrefixes( "Blue Player")
RedPlanesClientSet = SET_CLIENT:New():FilterCoalitions( "red" ):FilterCategories( "plane" ):FilterPrefixes( "Red Player")
-- Define the Spawn objects for the AI planes
BluePlanesSpawn = SPAWN:New( "BlueAICAP" ):InitCleanUp( 120 ):InitLimit( 5, 0 )
RedPlanesSpawn = SPAWN:New( "RedAICAP" ):InitCleanUp( 120 ):InitLimit( 5, 0 )
-- Define the AI Balancers for the planes
BlueAIB = AI_BALANCER:New( BluePlanesClientSet, BluePlanesSpawn ):InitSpawnInterval( 60, 1200 )
RedAIB = AI_BALANCER:New( RedPlanesClientSet, RedPlanesSpawn ):InitSpawnInterval( 60, 1200 )
-- Define the Spawn objects for the airbase defenses
BlueAirbaseDefense1Spawn = SPAWN:New( "Blue Airbase Defense 1" ):InitLimit( 10, 10 ):SpawnScheduled( 60, 0 )
BlueAirbaseDefense2Spawn = SPAWN:New( "Blue Airbase Defense 2" ):InitLimit( 2, 10 ):SpawnScheduled( 60, 0 )
RedAirbaseDefense1Spawn = SPAWN:New( "Red Airbase Defense 1" ):InitLimit( 10, 10 ):SpawnScheduled( 60, 0 )
RedAirbaseDefense2Spawn = SPAWN:New( "Red Airbase Defense 2" ):InitLimit( 2, 10 ):SpawnScheduled( 60, 0 )
-- Define the ground forces spawning engines...
-- First define the template arrays.
BlueGroundTemplates = { "Blue Ground Forces 1", "Blue Ground Forces 2", "Blue Ground Forces 3" }
RedGroundTemplates = { "Red Ground Forces 2", "Red Ground Forces 2", "Red Ground Forces 3" }
-- New we are using these templates to define the spawn objects for the ground forces.
-- We spawn them at random places into the define zone.
BlueGroundSpawn = SPAWN
:New( "Blue Ground Forces" )
:InitLimit( 12, 30 )
:InitRandomizeZones( { BlueSpawnGroundZone } )
:InitRandomizeTemplate( BlueGroundTemplates )
:SpawnScheduled( 60, 0.2 )
RedGroundSpawn = SPAWN
:New( "Red Ground Forces" )
:InitLimit( 12, 30 )
:InitRandomizeTemplate( RedGroundTemplates )
:InitRandomizeZones( { RedSpawnGroundZone } )
:SpawnScheduled( 60, 0.2 )
BlueCap = {}
RedCap = {}
-- Define the OnAfterSpawned events of the AI balancer Spawn Groups
function BlueAIB:OnAfterSpawned( SetGroup, From, Event, To, AIGroup )
if AIGroup then
BlueCap[AIGroup] = BlueCap[AIGroup] or AI_CAP_ZONE:New( BlueCapZone, 500, 3000, 450, 1200 )
local Cap = BlueCap[AIGroup] -- AI.AI_CAP#AI_CAP_ZONE
Cap:ManageFuel( 0.4, 180 )
Cap:SetEngageZone( BlueEngageZone )
Cap:SetControllable( AIGroup )
Cap:Start()
end
end
function RedAIB:OnAfterSpawned( SetGroup, From, Event, To, AIGroup )
if AIGroup then
RedCap[AIGroup] = RedCap[AIGroup] or AI_CAP_ZONE:New( RedCapZone, 500, 3000, 450, 1200 )
local Cap = RedCap[AIGroup] -- AI.AI_CAP#AI_CAP_ZONE
Cap:ManageFuel( 0.4, 180 )
Cap:SetEngageZone( BlueEngageZone )
Cap:SetControllable( AIGroup )
Cap:Start()
end
end
-- Okay, now that we defined all this stuff, now make the SCORING setup ...
-- First define a Scoring object
local Scoring = SCORING:New( "SCO-500 - Scoring Demonstration Mission" )
-- Define within the scoring the shelter designated targets.
Scoring:AddZoneScore( BlueShelterZone, 50 ) -- Per shelter destroyed, 50 extra points are granted.
Scoring:AddZoneScore( RedShelterZone, 50 ) -- Per shelter destroyed, 50 extra points are granted.
-- Define the static objects that give extra scores
Scoring:AddStaticScore( STATIC:FindByName( "Red Factory 1"), 100 )
Scoring:AddStaticScore( STATIC:FindByName( "Red Factory 2"), 100 )
Scoring:AddStaticScore( STATIC:FindByName( "Red Factory 3"), 100 )
Scoring:AddStaticScore( STATIC:FindByName( "Red Factory 4"), 100 )
Scoring:AddStaticScore( STATIC:FindByName( "Red Truck #001"), 80 )
Scoring:AddStaticScore( STATIC:FindByName( "Red Truck #002"), 80 )
Scoring:AddStaticScore( STATIC:FindByName( "Red Truck #003"), 80 )
Scoring:AddStaticScore( STATIC:FindByName( "Red Truck #004"), 80 )
Scoring:AddStaticScore( STATIC:FindByName( "Blue Factory 1" ), 100 )
Scoring:AddStaticScore( STATIC:FindByName( "Blue Factory 2" ), 100 )
Scoring:AddStaticScore( STATIC:FindByName( "Blue Factory 3" ), 100 )
Scoring:AddStaticScore( STATIC:FindByName( "Blue Factory 4" ), 100 )
Scoring:AddStaticScore( STATIC:FindByName( "Blue Truck #001" ), 80 )
Scoring:AddStaticScore( STATIC:FindByName( "Blue Truck #002" ), 80 )
Scoring:AddStaticScore( STATIC:FindByName( "Blue Truck #003" ), 80 )
Scoring:AddStaticScore( STATIC:FindByName( "Blue Truck #004" ), 80 )
-- Scale the scoring rewarded.
Scoring:SetScaleDestroyScore( 30 )
Scoring:SetScaleDestroyPenalty( 90 ) -- Penalties are punished more than normal destroys.