[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- These variables do not change
ATT = REP;
DEF = CIS;
function ScriptPostLoad()
--This defines the CPs. These need to happen first
cp1 = CommandPost:New{name = "cp-1"}
cp2 = CommandPost:New{name = "cp-2"}
cp3 = CommandPost:New{name = "cp-3"}
cp4 = CommandPost:New{name = "cp-4"}
--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF,
textATT = "game.modes.con",
textDEF = "game.modes.con2",
multiplayerRules = true}
--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)
conquest:Start()
ActivateRegion("mapbounds")
local VehspawnNum = 1
local VehspawnMaxNum = 4
local FirstSpawn = 1
local ID1
local ID2
local ID3
local ID4
testfunction = OnEnterRegion(
function(region, player)
if IsCharacterInRegion(player, "mapbounds") then
if FirstSpawn == 0 then
if player == ID1 then
EnterVehicle(player, "Vehspawn1")
EntityFlyerTakeOff("Vehspawn1")
end
if player == ID2 then
EnterVehicle(player, "Vehspawn2")
EntityFlyerTakeOff("Vehspawn2")
end
if player == ID3 then
EnterVehicle(player, "Vehspawn3")
EntityFlyerTakeOff("Vehspawn3")
end
if player == ID4 then
EnterVehicle(player, "Vehspawn4")
EntityFlyerTakeOff("Vehspawn4")
MissionDefeat(1)
end
end
if FirstSpawn == 1 then
EnterVehicle(player, "Vehspawn" .. VehspawnNum)
EntityFlyerTakeOff("Vehspawn" .. VehspawnNum)
if VehspawnNum == 1 then
ID1 = player
end
if VehspawnNum == 2 then
ID2 = player
end
if VehspawnNum == 3 then
ID3 = player
end
if VehspawnNum == 4 then
ID4 = player
end
VehspawnNum = VehspawnNum + 1
if VehspawnNum > VehspawnMaxNum then
if FirstSpawn == 1 then
FirstSpawn = 0
end
VehspawnNum = 1
end
end
end
end,"mapbounds"
)
end
---------------------------------------------------------------------------
-- FUNCTION: ScriptInit
-- PURPOSE: This function is only run once
-- INPUT:
-- OUTPUT:
-- NOTES: The name, 'ScriptInit' is a chosen convention, and each
-- mission script must contain a version of this function, as
-- it is called from C to start the mission.
---------------------------------------------------------------------------
function ScriptInit()
ReadDataFile("dc:Load\\common.lvl")
ReadDataFile("ingame.lvl")
SetMaxFlyHeight(8)
SetMinFlyHeight(2)
SetMaxPlayerFlyHeight (8)
SetMinPlayerFlyHeight (2)
SetMemoryPoolSize ("ClothData",20)
SetMemoryPoolSize ("Combo",50) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",650) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",650) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",650) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",550) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",6000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",100) -- should be ~1x #combo
ReadDataFile("sound\\yav.lvl;yav1cw")
ReadDataFile("dc:SIDE\\POD.lvl",
"pod_fly_podracer1",
"pod_inf_engineer")
ReadDataFile("SIDE\\ALL.lvl",
"all_inf_engineer")
SetupTeams{
rep = {
team = REP,
units = 4,
reinforcements = -1,
soldier = { "pod_inf_engineer",4,5},
assault = { "pod_inf_engineer",4,5},
engineer = { "pod_inf_engineer",4,5},
sniper = { "pod_inf_engineer",4,5},
},
cis = {
team = CIS,
units = 0,
reinforcements = -1,
engineer = { "pod_inf_engineer",1,2},
},
}
-- SetTeamName(3, "podracer3")
-- SetUnitCount(3, 1)
-- SetReinforcementCount (3, 999)
-- AddUnitClass(3, "pod_inf_engineer",1, 2)
-- SetTeamName(4, "podracer4")
-- SetUnitCount(4, 1)
-- SetReinforcementCount (4, -1)
-- AddUnitClass(4, "pod_inf_engineer",1, 2)
-- SetTeamAsEnemy(3,ATT)
-- SetTeamAsEnemy(3,DEF)
-- SetTeamAsEnemy(ATT,3)
-- SetTeamAsEnemy(DEF,3)
-- SetTeamAsEnemy(4,ATT)
-- SetTeamAsEnemy(4,DEF)
-- SetTeamAsEnemy(ATT,4)
-- SetTeamAsEnemy(DEF,4)
-- SetTeamAsEnemy(3,4)
-- SetTeamAsEnemy(4,3)
--AllowAISpawn(2, "false")
--AllowAISpawn(3, "true")
--AllowAISpawn(4, "true")
ForceHumansOntoTeam1()
-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 0) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 0) -- 3x2 (3 pairs of legs)
local weaponCnt = 1024
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 32)
SetMemoryPoolSize("EntityHover", 32)
SetMemoryPoolSize("EntityLight", 200)
SetMemoryPoolSize("EntitySoundStream", 4)
SetMemoryPoolSize("EntitySoundStatic", 32)
SetMemoryPoolSize("MountedTurret", 32)
SetMemoryPoolSize("Navigator", 128)
SetMemoryPoolSize("Obstacle", 1024)
SetMemoryPoolSize("PathNode", 1024)
SetMemoryPoolSize("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)
SetSpawnDelay(10.0, 0.25)
ReadDataFile("dc:TCS\\TCS.lvl", "TCS_podrace")
SetDenseEnvironment("false")
ShowAllUnitsOnMinimap("true")
-- Sound
SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
voiceSlow = OpenAudioStream("sound\\global.lvl", "rep_unit_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "global_vo_slow", voiceSlow)
voiceQuick = OpenAudioStream("sound\\global.lvl", "rep_unit_vo_quick")
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_quick", voiceQuick)
OpenAudioStream("sound\\global.lvl", "cw_music")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")
OpenAudioStream("sound\\yav.lvl", "yav1")
OpenAudioStream("sound\\yav.lvl", "yav1")
OpenAudioStream("sound\\yav.lvl", "yav1_emt")
SetBleedingVoiceOver(REP, REP, "rep_off_com_report_us_overwhelmed", 1)
SetBleedingVoiceOver(REP, CIS, "rep_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(CIS, REP, "cis_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(CIS, CIS, "cis_off_com_report_us_overwhelmed", 1)
--SetOutOfBoundsVoiceOver(2, "cisleaving")
--SetOutOfBoundsVoiceOver(1, "repleaving")
--SetAmbientMusic(REP, 1.0, "rep_yav_amb_start", 0,1)
--SetAmbientMusic(REP, 0.8, "rep_yav_amb_middle", 1,1)
--SetAmbientMusic(REP, 0.2, "rep_yav_amb_end", 2,1)
--SetAmbientMusic(CIS, 1.0, "cis_yav_amb_start", 0,1)
--SetAmbientMusic(CIS, 0.8, "cis_yav_amb_middle", 1,1)
--SetAmbientMusic(CIS, 0.2, "cis_yav_amb_end", 2,1)
SetAmbientMusic(REP, 1.0, "cis_hero_Grievous_lp", 0,1)
SetAmbientMusic(REP, 0.8, "cis_yav_amb_middle", 1,1)
SetAmbientMusic(REP, 0.2, "cis_yav_amb_end", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_hero_Grievous_lp", 0,1)
SetAmbientMusic(CIS, 0.8, "cis_yav_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.2, "cis_yav_amb_end", 2,1)
SetVictoryMusic(REP, "rep_yav_amb_victory")
SetDefeatMusic (REP, "rep_yav_amb_defeat")
SetVictoryMusic(CIS, "cis_yav_amb_victory")
SetDefeatMusic (CIS, "cis_yav_amb_defeat")
SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
--SetSoundEffect("BirdScatter", "birdsFlySeq1")
--SetSoundEffect("WeaponUnableSelect", "com_weap_inf_weaponchange_null")
--SetSoundEffect("WeaponModeUnableSelect", "com_weap_inf_modechange_null")
SetSoundEffect("SpawnDisplayUnitChange", "shell_select_unit")
SetSoundEffect("SpawnDisplayUnitAccept", "shell_menu_enter")
SetSoundEffect("SpawnDisplaySpawnPointChange", "shell_select_change")
SetSoundEffect("SpawnDisplaySpawnPointAccept", "shell_menu_enter")
SetSoundEffect("SpawnDisplayBack", "shell_menu_exit")
--OpeningSateliteShot
AddCameraShot(0.637519, -0.027661, 0.769214, 0.033375, -2528.554932, 7.933463, -1212.458618);
end[/code]