Where are the heroes? [Solved]
Posted: Sat May 09, 2009 10:17 am
by Xavious
This problem has been plaguing be for several days now. I used an edited version of Mav's random heroes script to add in random heroes and clone legions for my mod. I succesfully implemented both features into the shipped Coruscant map, and they worked without problem. But upon trying to add random AI heroes and legions to other maps with the same proccess, I found it didn't work. The clone legions were fine but the heroes did not show up at all. I actually tried this on three seperate maps, and it worked on none of them. I also tried placing the lines in different places, but to no avail.
Here's the lua file for Tantive IV, where the heroes do not work, though the legions do.
And here's Coruscant's lua for comparison, in which heroes and legions do work.
Lastly, this is the error I get on Tantive IV.
Here's the lua file for Tantive IV, where the heroes do not work, though the legions do.
Hidden/Spoiler:
[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- load the gametype script
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("CWrandom")
ScriptCB_DoFile("CWlegion")
ScriptCB_DoFile("AIHeroSupport")
---------------------------------------------------------------------------
-- 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 ScriptPostLoad()
AddDeathRegion("turbinedeath")
KillObject("blastdoor")
DisableBarriers("barracks")
DisableBarriers("liea")
SetMapNorthAngle(180)
-- Turbine Stuff --
BlockPlanningGraphArcs("turbine")
OnObjectKillName(destturbine, "turbineconsole")
OnObjectRespawnName(returbine, "turbineconsole")
cp4 = CommandPost:New{name = "CP4CON"}
cp5 = CommandPost:New{name = "CP5CON"}
cp6 = CommandPost:New{name = "CP6CON"}
cp7 = CommandPost:New{name = "CP7CON"}
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF, textATT = "game.modes.con", textDEF = "game.modes.con2", multiplayerRules = true}
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
conquest:AddCommandPost(cp7)
EnableSPHeroRules()
conquest:Start()
if not ScriptCB_InMultiplayer() then
herosupport = AIHeroSupport:New{AIATTHeroHealth = 4000, AIDEFHeroHealth = 4000, gameMode = "NonConquest",}
herosupport:SetHeroClass(CIS, herostrCIS)
herosupport:SetHeroClass(REP, herostrRep)
herosupport:AddSpawnCP("CP4CON","cp4spawn")
herosupport:AddSpawnCP("CP5CON","cp5spawn")
herosupport:AddSpawnCP("CP6CON","cp6spawn")
herosupport:AddSpawnCP("CP7CON","CP7SPAWNPATH")
herosupport:Start()
else
end
--Setup Timer--
timeConsole = CreateTimer("timeConsole")
SetTimerValue(timeConsole, 0.3)
StartTimer(timeConsole)
OnTimerElapse(
function(timer)
SetProperty("turbineconsole", "CurHealth", GetObjectHealth("turbineconsole") + 1)
DestroyTimer(timer)
end,
timeConsole
)
end
function destturbine()
UnblockPlanningGraphArcs("turbine")
PauseAnimation("Turbine Animation")
RemoveRegion("turbinedeath")
-- SetProperty("woodr", "CurHealth", 15)
end
function returbine()
BlockPlanningGraphArcs("turbine")
PlayAnimation("Turbine Animation")
AddDeathRegion("turbinedeath")
-- SetProperty("woodr", "CurHealth", 15)
end
function ScriptInit()
-- Designers, these two lines *MUST* be first!
StealArtistHeap(840000)
SetPS2ModelMemory(4990000)
if not ScriptCB_InMultiplayer() then
DecideUnits(1, 1, 1, 1, 1, 1, 1)
DecideLegion(1, 1, 1)
elseif ScriptCB_InMultiplayer() then
herostrCIS = "cis_hero_grievous"
herostrRep = "rep_hero_obiwan"
medstrCIS = "cis_inf_1_medium"
lightstrCIS = "cis_inf_1_light"
heavystrCIS = "cis_inf_1_heavy"
supportstrCIS = "cis_inf_1_support"
guardstrCIS = "cis_inf_1_guard"
medstrRep = "rep_inf_shock_medium"
lightstrRep = "rep_inf_shock_light"
heavystrRep = "rep_inf_shock_heavy"
supportstrRep = "rep_inf_shock_support"
assassinstrRep = "rep_inf_shock_assassin"
end
SetMemoryPoolSize ("ClothData",40)
SetMemoryPoolSize ("Combo",170) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",1850) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",1850) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",1850) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",1750) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",14000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",1140) -- should be ~1x #combo -- should be ~1x #combo
ReadDataFile("ingame.lvl")
SetWorldExtents(1064.5)
-- Republic Attacking (attacker is always #1)
local REP = 1
local CIS = 2
-- These variables do not change
local ATT = 1
local DEF = 2
ReadDataFile("dc:sound\\JN1.lvl;JN1cw")
ReadDataFile("sound\\tan.lvl;tan1cw")
ReadDataFile("SIDE\\rep.lvl",
"rep_hero_macewindu",
"rep_hero_aalya",
"rep_hero_obiwan",
"rep_hero_anakin")
ReadDataFile("SIDE\\cis.lvl",
"cis_hero_darthmaul",
"cis_hero_countdooku",
"cis_hero_grievous")
ReadDataFile("dc:SIDE\\republic2.lvl",
"rep_inf_607_support",
"rep_inf_607_assassin",
"rep_inf_607_medium",
"rep_inf_607_heavy",
"rep_inf_607_light")
ReadDataFile("dc:SIDE\\republic1.lvl",
"rep_inf_shock_support",
"rep_inf_shock_assassin",
"rep_inf_shock_medium",
"rep_inf_shock_heavy",
"rep_inf_shock_light")
ReadDataFile("dc:SIDE\\droids1.lvl",
"cis_inf_1_medium",
"cis_inf_1_support",
"cis_inf_1_guard",
"cis_inf_1_light",
"cis_inf_1_heavy")
SetupTeams{
rep = {
team = REP,
units = 32,
reinforcements = 150,
},
cis = {
team = CIS,
units = 32,
reinforcements = 150,
}
}
--Set up Republic team
AddUnitClass(REP, medstrRep, 5, 12)
AddUnitClass(REP, lightstrRep, 5, 10)
AddUnitClass(REP, heavystrRep, 5, 10)
AddUnitClass(REP, supportstrRep, 1, 6)
AddUnitClass(REP, assassinstrRep, 1, 2)
--End Republic team
--Set up CIS team
AddUnitClass(CIS, medstrCIS, 5, 12)
AddUnitClass(CIS, lightstrCIS, 5, 10)
AddUnitClass(CIS, heavystrCIS, 5, 10)
AddUnitClass(CIS, supportstrCIS, 1, 6)
AddUnitClass(CIS, guardstrCIS, 1, 2)
--End CIS team
if ScriptCB_InMultiplayer() then
SetHeroClass(CIS, herostrCIS)
SetHeroClass(REP, herostrRep)
else
end
-- Level Stats
ClearWalkers()
AddWalkerType(0, 5) -- number of droidekas
local weaponCnt = 177
local guyCnt = 32
SetMemoryPoolSize ("Aimer", 17)
SetMemoryPoolSize ("AmmoCounter", weaponCnt)
SetMemoryPoolSize ("BaseHint", 250)
SetMemoryPoolSize ("EnergyBar", weaponCnt)
SetMemoryPoolSize ("EntityCloth", 18)
SetMemoryPoolSize ("EntitySoundStream", 14)
SetMemoryPoolSize ("EntitySoundStatic", 29)
SetMemoryPoolSize ("EntityFlyer", 6)
SetMemoryPoolSize ("MountedTurret", 2)
SetMemoryPoolSize ("Navigator", guyCnt)
SetMemoryPoolSize ("Obstacle", 250)
SetMemoryPoolSize ("PathFollower", guyCnt)
SetMemoryPoolSize ("PathNode", 384)
SetMemoryPoolSize ("SoundspaceRegion", 15)
SetMemoryPoolSize ("TentacleSimulator", 0)
SetMemoryPoolSize ("TreeGridStack", 150)
SetMemoryPoolSize ("UnitAgent", guyCnt)
SetMemoryPoolSize ("UnitController", guyCnt)
SetMemoryPoolSize ("Weapon", weaponCnt)
SetMemoryPoolSize("SoldierAnimation", 2000)
-- SetMemoryPoolSize("Obstacle", 182)
--
SetSpawnDelay(10.0, 0.25)
ReadDataFile("tan\\tan1.lvl", "tan1_conquest")
SetDenseEnvironment("false")
AISnipeSuitabilityDist(30)
--AddDeathRegion("Sarlac01")
-- SetMaxFlyHeight(90)
-- SetMaxPlayerFlyHeight(90)
-- Sound Stats
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\\tan.lvl", "tan1")
OpenAudioStream("sound\\tan.lvl", "tan1")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")
-- OpenAudioStream("sound\\tan.lvl", "tan1_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)
SetLowReinforcementsVoiceOver(REP, REP, "rep_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(REP, CIS, "rep_off_victory_im", .1, 1)
SetLowReinforcementsVoiceOver(CIS, CIS, "cis_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(CIS, REP, "cis_off_victory_im", .1, 1)
SetOutOfBoundsVoiceOver(1, "Repleaving")
SetOutOfBoundsVoiceOver(2, "Cisleaving")
SetAmbientMusic(REP, 1.0, "rep_tan_amb_start", 0,1)
SetAmbientMusic(REP, 0.8, "rep_tan_amb_middle", 1,1)
SetAmbientMusic(REP, 0.2,"rep_tan_amb_end", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_tan_amb_start", 0,1)
SetAmbientMusic(CIS, 0.8, "cis_tan_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.2,"cis_tan_amb_end", 2,1)
SetVictoryMusic(REP, "rep_tan_amb_victory")
SetDefeatMusic (REP, "rep_tan_amb_defeat")
SetVictoryMusic(CIS, "cis_tan_amb_victory")
SetDefeatMusic (CIS, "cis_tan_amb_defeat")
SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
--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")
-- Camera Stats
AddCameraShot(0.233199, -0.019441, -0.968874, -0.080771, -240.755920, 11.457644, 105.944176);
AddCameraShot(-0.395561, 0.079428, -0.897092, -0.180135, -264.022278, 6.745873, 122.715752);
AddCameraShot(0.546703, -0.041547, -0.833891, -0.063371, -309.709900, 5.168304, 145.334381);
end[/code]
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- load the gametype script
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("CWrandom")
ScriptCB_DoFile("CWlegion")
ScriptCB_DoFile("AIHeroSupport")
---------------------------------------------------------------------------
-- 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 ScriptPostLoad()
AddDeathRegion("turbinedeath")
KillObject("blastdoor")
DisableBarriers("barracks")
DisableBarriers("liea")
SetMapNorthAngle(180)
-- Turbine Stuff --
BlockPlanningGraphArcs("turbine")
OnObjectKillName(destturbine, "turbineconsole")
OnObjectRespawnName(returbine, "turbineconsole")
cp4 = CommandPost:New{name = "CP4CON"}
cp5 = CommandPost:New{name = "CP5CON"}
cp6 = CommandPost:New{name = "CP6CON"}
cp7 = CommandPost:New{name = "CP7CON"}
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF, textATT = "game.modes.con", textDEF = "game.modes.con2", multiplayerRules = true}
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
conquest:AddCommandPost(cp7)
EnableSPHeroRules()
conquest:Start()
if not ScriptCB_InMultiplayer() then
herosupport = AIHeroSupport:New{AIATTHeroHealth = 4000, AIDEFHeroHealth = 4000, gameMode = "NonConquest",}
herosupport:SetHeroClass(CIS, herostrCIS)
herosupport:SetHeroClass(REP, herostrRep)
herosupport:AddSpawnCP("CP4CON","cp4spawn")
herosupport:AddSpawnCP("CP5CON","cp5spawn")
herosupport:AddSpawnCP("CP6CON","cp6spawn")
herosupport:AddSpawnCP("CP7CON","CP7SPAWNPATH")
herosupport:Start()
else
end
--Setup Timer--
timeConsole = CreateTimer("timeConsole")
SetTimerValue(timeConsole, 0.3)
StartTimer(timeConsole)
OnTimerElapse(
function(timer)
SetProperty("turbineconsole", "CurHealth", GetObjectHealth("turbineconsole") + 1)
DestroyTimer(timer)
end,
timeConsole
)
end
function destturbine()
UnblockPlanningGraphArcs("turbine")
PauseAnimation("Turbine Animation")
RemoveRegion("turbinedeath")
-- SetProperty("woodr", "CurHealth", 15)
end
function returbine()
BlockPlanningGraphArcs("turbine")
PlayAnimation("Turbine Animation")
AddDeathRegion("turbinedeath")
-- SetProperty("woodr", "CurHealth", 15)
end
function ScriptInit()
-- Designers, these two lines *MUST* be first!
StealArtistHeap(840000)
SetPS2ModelMemory(4990000)
if not ScriptCB_InMultiplayer() then
DecideUnits(1, 1, 1, 1, 1, 1, 1)
DecideLegion(1, 1, 1)
elseif ScriptCB_InMultiplayer() then
herostrCIS = "cis_hero_grievous"
herostrRep = "rep_hero_obiwan"
medstrCIS = "cis_inf_1_medium"
lightstrCIS = "cis_inf_1_light"
heavystrCIS = "cis_inf_1_heavy"
supportstrCIS = "cis_inf_1_support"
guardstrCIS = "cis_inf_1_guard"
medstrRep = "rep_inf_shock_medium"
lightstrRep = "rep_inf_shock_light"
heavystrRep = "rep_inf_shock_heavy"
supportstrRep = "rep_inf_shock_support"
assassinstrRep = "rep_inf_shock_assassin"
end
SetMemoryPoolSize ("ClothData",40)
SetMemoryPoolSize ("Combo",170) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",1850) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",1850) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",1850) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",1750) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",14000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",1140) -- should be ~1x #combo -- should be ~1x #combo
ReadDataFile("ingame.lvl")
SetWorldExtents(1064.5)
-- Republic Attacking (attacker is always #1)
local REP = 1
local CIS = 2
-- These variables do not change
local ATT = 1
local DEF = 2
ReadDataFile("dc:sound\\JN1.lvl;JN1cw")
ReadDataFile("sound\\tan.lvl;tan1cw")
ReadDataFile("SIDE\\rep.lvl",
"rep_hero_macewindu",
"rep_hero_aalya",
"rep_hero_obiwan",
"rep_hero_anakin")
ReadDataFile("SIDE\\cis.lvl",
"cis_hero_darthmaul",
"cis_hero_countdooku",
"cis_hero_grievous")
ReadDataFile("dc:SIDE\\republic2.lvl",
"rep_inf_607_support",
"rep_inf_607_assassin",
"rep_inf_607_medium",
"rep_inf_607_heavy",
"rep_inf_607_light")
ReadDataFile("dc:SIDE\\republic1.lvl",
"rep_inf_shock_support",
"rep_inf_shock_assassin",
"rep_inf_shock_medium",
"rep_inf_shock_heavy",
"rep_inf_shock_light")
ReadDataFile("dc:SIDE\\droids1.lvl",
"cis_inf_1_medium",
"cis_inf_1_support",
"cis_inf_1_guard",
"cis_inf_1_light",
"cis_inf_1_heavy")
SetupTeams{
rep = {
team = REP,
units = 32,
reinforcements = 150,
},
cis = {
team = CIS,
units = 32,
reinforcements = 150,
}
}
--Set up Republic team
AddUnitClass(REP, medstrRep, 5, 12)
AddUnitClass(REP, lightstrRep, 5, 10)
AddUnitClass(REP, heavystrRep, 5, 10)
AddUnitClass(REP, supportstrRep, 1, 6)
AddUnitClass(REP, assassinstrRep, 1, 2)
--End Republic team
--Set up CIS team
AddUnitClass(CIS, medstrCIS, 5, 12)
AddUnitClass(CIS, lightstrCIS, 5, 10)
AddUnitClass(CIS, heavystrCIS, 5, 10)
AddUnitClass(CIS, supportstrCIS, 1, 6)
AddUnitClass(CIS, guardstrCIS, 1, 2)
--End CIS team
if ScriptCB_InMultiplayer() then
SetHeroClass(CIS, herostrCIS)
SetHeroClass(REP, herostrRep)
else
end
-- Level Stats
ClearWalkers()
AddWalkerType(0, 5) -- number of droidekas
local weaponCnt = 177
local guyCnt = 32
SetMemoryPoolSize ("Aimer", 17)
SetMemoryPoolSize ("AmmoCounter", weaponCnt)
SetMemoryPoolSize ("BaseHint", 250)
SetMemoryPoolSize ("EnergyBar", weaponCnt)
SetMemoryPoolSize ("EntityCloth", 18)
SetMemoryPoolSize ("EntitySoundStream", 14)
SetMemoryPoolSize ("EntitySoundStatic", 29)
SetMemoryPoolSize ("EntityFlyer", 6)
SetMemoryPoolSize ("MountedTurret", 2)
SetMemoryPoolSize ("Navigator", guyCnt)
SetMemoryPoolSize ("Obstacle", 250)
SetMemoryPoolSize ("PathFollower", guyCnt)
SetMemoryPoolSize ("PathNode", 384)
SetMemoryPoolSize ("SoundspaceRegion", 15)
SetMemoryPoolSize ("TentacleSimulator", 0)
SetMemoryPoolSize ("TreeGridStack", 150)
SetMemoryPoolSize ("UnitAgent", guyCnt)
SetMemoryPoolSize ("UnitController", guyCnt)
SetMemoryPoolSize ("Weapon", weaponCnt)
SetMemoryPoolSize("SoldierAnimation", 2000)
-- SetMemoryPoolSize("Obstacle", 182)
--
SetSpawnDelay(10.0, 0.25)
ReadDataFile("tan\\tan1.lvl", "tan1_conquest")
SetDenseEnvironment("false")
AISnipeSuitabilityDist(30)
--AddDeathRegion("Sarlac01")
-- SetMaxFlyHeight(90)
-- SetMaxPlayerFlyHeight(90)
-- Sound Stats
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\\tan.lvl", "tan1")
OpenAudioStream("sound\\tan.lvl", "tan1")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")
-- OpenAudioStream("sound\\tan.lvl", "tan1_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)
SetLowReinforcementsVoiceOver(REP, REP, "rep_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(REP, CIS, "rep_off_victory_im", .1, 1)
SetLowReinforcementsVoiceOver(CIS, CIS, "cis_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(CIS, REP, "cis_off_victory_im", .1, 1)
SetOutOfBoundsVoiceOver(1, "Repleaving")
SetOutOfBoundsVoiceOver(2, "Cisleaving")
SetAmbientMusic(REP, 1.0, "rep_tan_amb_start", 0,1)
SetAmbientMusic(REP, 0.8, "rep_tan_amb_middle", 1,1)
SetAmbientMusic(REP, 0.2,"rep_tan_amb_end", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_tan_amb_start", 0,1)
SetAmbientMusic(CIS, 0.8, "cis_tan_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.2,"cis_tan_amb_end", 2,1)
SetVictoryMusic(REP, "rep_tan_amb_victory")
SetDefeatMusic (REP, "rep_tan_amb_defeat")
SetVictoryMusic(CIS, "cis_tan_amb_victory")
SetDefeatMusic (CIS, "cis_tan_amb_defeat")
SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
--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")
-- Camera Stats
AddCameraShot(0.233199, -0.019441, -0.968874, -0.080771, -240.755920, 11.457644, 105.944176);
AddCameraShot(-0.395561, 0.079428, -0.897092, -0.180135, -264.022278, 6.745873, 122.715752);
AddCameraShot(0.546703, -0.041547, -0.833891, -0.063371, -309.709900, 5.168304, 145.334381);
end[/code]
Hidden/Spoiler:
[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- load the gametype script
Conquest = ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("CWrandom")
ScriptCB_DoFile("CWlegion")
ScriptCB_DoFile("AIHeroSupport")
-- These variables do not change
ATT = 1
DEF = 2
-- Empire Attacking (attacker is always #1)
CIS = ATT
REP = DEF
---------------------------------------------------------------------------
-- 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 ScriptPostLoad()
AddDeathRegion("death")
AddDeathRegion("death1")
AddDeathRegion("death2")
AddDeathRegion("death3")
AddDeathRegion("death4")
SetProperty ("LibCase1","MaxHealth",1000)
SetProperty ("LibCase2","MaxHealth",1000)
SetProperty ("LibCase3","MaxHealth",1000)
SetProperty ("LibCase4","MaxHealth",1000)
SetProperty ("LibCase5","MaxHealth",1000)
SetProperty ("LibCase6","MaxHealth",1000)
SetProperty ("LibCase7","MaxHealth",1000)
SetProperty ("LibCase8","MaxHealth",1000)
SetProperty ("LibCase9","MaxHealth",1000)
SetProperty ("LibCase10","MaxHealth",1000)
SetProperty ("LibCase11","MaxHealth",1000)
SetProperty ("LibCase12","MaxHealth",1000)
SetProperty ("LibCase13","MaxHealth",1000)
SetProperty ("LibCase14","MaxHealth",1000)
SetProperty ("LibCase1","CurHealth",1000)
SetProperty ("LibCase2","CurHealth",1000)
SetProperty ("LibCase3","CurHealth",1000)
SetProperty ("LibCase4","CurHealth",1000)
SetProperty ("LibCase5","CurHealth",1000)
SetProperty ("LibCase6","CurHealth",1000)
SetProperty ("LibCase7","CurHealth",1000)
SetProperty ("LibCase8","CurHealth",1000)
SetProperty ("LibCase9","CurHealth",1000)
SetProperty ("LibCase10","CurHealth",1000)
SetProperty ("LibCase11","CurHealth",1000)
SetProperty ("LibCase12","CurHealth",1000)
SetProperty ("LibCase13","CurHealth",1000)
SetProperty ("LibCase14","CurHealth",1000)
EnableSPHeroRules()
DisableBarriers("SideDoor1")
DisableBarriers("MainLibraryDoors")
DisableBarriers("SideDoor2")
DisableBarriers("SIdeDoor3")
DisableBarriers("ComputerRoomDoor1")
DisableBarriers("StarChamberDoor1")
DisableBarriers("StarChamberDoor2")
DisableBarriers("WarRoomDoor1")
DisableBarriers("WarRoomDoor2")
DisableBarriers("WarRoomDoor3")
PlayAnimation("DoorOpen01")
PlayAnimation("DoorOpen02")
EnableSPHeroRules()
--This defines the CPs. These need to happen first
cp1 = CommandPost:New{name = "cp1"}
cp2 = CommandPost:New{name = "cp2"}
cp3 = CommandPost:New{name = "cp3"}
cp4 = CommandPost:New{name = "cp4"}
cp5 = CommandPost:New{name = "cp5"}
cp6 = CommandPost:New{name = "cp6"}
--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:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
conquest:Start()
if not ScriptCB_InMultiplayer() then
herosupport = AIHeroSupport:New{AIATTHeroHealth = 4000, AIDEFHeroHealth = 4000, gameMode = "NonConquest",}
herosupport:SetHeroClass(CIS, herostrCIS)
herosupport:SetHeroClass(REP, herostrRep)
herosupport:AddSpawnCP("CP1","CP1SpawnPath")
herosupport:AddSpawnCP("CP2","CP2SpawnPath")
herosupport:AddSpawnCP("CP3","CP3SpawnPath")
herosupport:AddSpawnCP("CP4","CP4SpawnPath")
herosupport:AddSpawnCP("CP5","CP5SpawnPath")
herosupport:AddSpawnCP("CP6","CP6SpawnPath")
herosupport:Start()
else
end
end
function ScriptInit()
-- Designers, these two lines *MUST* be first.
SetPS2ModelMemory(4056000)
if not ScriptCB_InMultiplayer() then
DecideUnits(1, 1, 1, 1, 1, 1, 1)
DecideLegion(1, 1, 1)
elseif ScriptCB_InMultiplayer() then
herostrCIS = "cis_hero_grievous"
herostrRep = "rep_hero_obiwan"
medstrCIS = "cis_inf_1_medium"
lightstrCIS = "cis_inf_1_light"
heavystrCIS = "cis_inf_1_heavy"
supportstrCIS = "cis_inf_1_support"
guardstrCIS = "cis_inf_1_guard"
medstrRep = "rep_inf_shock_medium"
lightstrRep = "rep_inf_shock_light"
heavystrRep = "rep_inf_shock_heavy"
supportstrRep = "rep_inf_shock_support"
assassinstrRep = "rep_inf_shock_assassin"
end
SetMapNorthAngle(180, 1)
SetMaxFlyHeight(25)
SetMaxPlayerFlyHeight (25)
AISnipeSuitabilityDist(30)
SetMemoryPoolSize ("ClothData",40)
SetMemoryPoolSize ("Combo",170) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",1850) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",1850) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",1850) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",1750) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",14000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",1140) -- should be ~1x #combo -- should be ~1x #combo
SetMemoryPoolSize("Music", 33)
ReadDataFile("ingame.lvl")
ReadDataFile("dc:sound\\JN1.lvl;JN1cw")
ReadDataFile("sound\\cor.lvl;cor1cw")
ReadDataFile("SIDE\\rep.lvl",
"rep_hero_macewindu",
"rep_hero_aalya",
"rep_hero_obiwan",
"rep_hero_anakin")
ReadDataFile("SIDE\\cis.lvl",
"cis_hero_darthmaul",
"cis_hero_countdooku",
"cis_hero_grievous")
ReadDataFile("dc:SIDE\\republic2.lvl",
"rep_inf_607_support",
"rep_inf_607_assassin",
"rep_inf_607_medium",
"rep_inf_607_heavy",
"rep_inf_607_light")
ReadDataFile("dc:SIDE\\republic1.lvl",
"rep_inf_shock_support",
"rep_inf_shock_assassin",
"rep_inf_shock_medium",
"rep_inf_shock_heavy",
"rep_inf_shock_light")
ReadDataFile("dc:SIDE\\droids1.lvl",
"cis_inf_1_medium",
"cis_inf_1_support",
"cis_inf_1_guard",
"cis_inf_1_light",
"cis_inf_1_heavy")
ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser")
SetupTeams{
rep = {
team = REP,
units = 32,
reinforcements = 150,
},
cis = {
team = CIS,
units = 32,
reinforcements = 150,
}
}
--Set up Republic team
AddUnitClass(REP, medstrRep, 5, 12)
AddUnitClass(REP, lightstrRep, 5, 10)
AddUnitClass(REP, heavystrRep, 5, 10)
AddUnitClass(REP, supportstrRep, 1, 6)
AddUnitClass(REP, assassinstrRep, 1, 2)
--End Republic team
--Set up CIS team
AddUnitClass(CIS, medstrCIS, 5, 12)
AddUnitClass(CIS, lightstrCIS, 5, 10)
AddUnitClass(CIS, heavystrCIS, 5, 10)
AddUnitClass(CIS, supportstrCIS, 1, 6)
AddUnitClass(CIS, guardstrCIS, 1, 2)
--End CIS team
if ScriptCB_InMultiplayer() then
SetHeroClass(CIS, herostrCIS)
SetHeroClass(REP, herostrRep)
else
end
-- Level Stats
ClearWalkers()
AddWalkerType(0, 3) -- 8 droidekas (special case: 0 leg pairs)
AddWalkerType(1, 0) --
AddWalkerType(2, 0) -- 2 spider walkers with 2 leg pairs each
AddWalkerType(3, 0) -- 2 attes with 3 leg pairs each
local weaponCnt = 210
SetMemoryPoolSize("Aimer", 22)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 250)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 18)
SetMemoryPoolSize("EntitySoundStream", 10)
SetMemoryPoolSize("EntitySoundStatic", 0)
SetMemoryPoolSize("MountedTurret",12)
SetMemoryPoolSize("PathFollower", 50)
SetMemoryPoolSize("Navigator", 50)
SetMemoryPoolSize("Obstacle", 375)
SetMemoryPoolSize("SoundSpaceRegion", 38)
SetMemoryPoolSize("TentacleSimulator", 0)
SetMemoryPoolSize("TreeGridStack", 140)
SetMemoryPoolSize("UnitAgent", 50)
SetMemoryPoolSize("UnitController", 50)
SetMemoryPoolSize("Weapon", weaponCnt)
SetMemoryPoolSize("EntityFlyer", 4)
SetMemoryPoolSize("SoldierAnimation", 2000)
SetSpawnDelay(10.0, 0.25)
ReadDataFile("cor\\cor1.lvl","cor1_Conquest")
SetDenseEnvironment("True")
-- SetMaxFlyHeight(25)
--SetMaxPlayerFlyHeight (25)
AddDeathRegion("DeathRegion1")
-- Sound Stats
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\\cor.lvl", "cor1")
OpenAudioStream("sound\\cor.lvl", "cor1")
-- OpenAudioStream("sound\\cor.lvl", "cor1_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)
SetLowReinforcementsVoiceOver(REP, REP, "rep_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(REP, CIS, "rep_off_victory_im", .1, 1)
SetLowReinforcementsVoiceOver(CIS, CIS, "cis_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(CIS, REP, "cis_off_victory_im", .1, 1)
SetOutOfBoundsVoiceOver(2, "Repleaving")
SetOutOfBoundsVoiceOver(1, "Cisleaving")
SetAmbientMusic(REP, 1.0, "rep_cor_amb_start", 0,1)
SetAmbientMusic(REP, 0.8, "rep_cor_amb_middle", 1,1)
SetAmbientMusic(REP, 0.2, "rep_cor_amb_end", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_cor_amb_start", 0,1)
SetAmbientMusic(CIS, 0.8, "cis_cor_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.2, "cis_cor_amb_end", 2,1)
SetVictoryMusic(REP, "rep_cor_amb_victory")
SetDefeatMusic (REP, "rep_cor_amb_defeat")
SetVictoryMusic(CIS, "cis_cor_amb_victory")
SetDefeatMusic (CIS, "cis_cor_amb_defeat")
SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
--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")
-- Camera Stats
--Tat 1 - Dune Sea
AddCameraShot(0.419938, 0.002235, -0.907537, 0.004830, -15.639358, 5.499980, -176.911179);
AddCameraShot(0.994506, 0.104463, -0.006739, 0.000708, 1.745251, 5.499980, -118.700668);
AddCameraShot(0.008929, -0.001103, -0.992423, -0.122538, 1.366768, 16.818106, -114.422173);
AddCameraShot(0.761751, -0.117873, -0.629565, -0.097419, 59.861904, 16.818106, -81.607773);
AddCameraShot(0.717110, -0.013583, 0.696703, 0.013197, 98.053314, 11.354497, -85.857857);
AddCameraShot(0.360958, -0.001053, -0.932577, -0.002721, 69.017578, 18.145807, -56.992413);
AddCameraShot(-0.385976, 0.014031, -0.921793, -0.033508, 93.111061, 18.145807, -20.164375);
AddCameraShot(0.695468, -0.129569, -0.694823, -0.129448, 27.284357, 18.145807, -12.377695);
AddCameraShot(0.009002, -0.000795, -0.996084, -0.087945, 1.931320, 13.356332, -16.410583);
AddCameraShot(0.947720, -0.145318, 0.280814, 0.043058, 11.650738, 16.955814, 28.359180);
AddCameraShot(0.686380, -0.127550, 0.703919, 0.130810, -30.096384, 11.152356, -63.235146);
AddCameraShot(0.937945, -0.108408, 0.327224, 0.037821, -43.701199, 8.756138, -49.974789);
AddCameraShot(0.531236, -0.079466, -0.834207, -0.124787, -62.491230, 10.305247, -120.102989);
AddCameraShot(0.452286, -0.179031, -0.812390, -0.321572, -50.015198, 15.394646, -114.879379);
AddCameraShot(0.927563, -0.243751, 0.273918, 0.071982, 26.149965, 26.947924, -46.834148);
end[/code]
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
-- load the gametype script
Conquest = ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("CWrandom")
ScriptCB_DoFile("CWlegion")
ScriptCB_DoFile("AIHeroSupport")
-- These variables do not change
ATT = 1
DEF = 2
-- Empire Attacking (attacker is always #1)
CIS = ATT
REP = DEF
---------------------------------------------------------------------------
-- 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 ScriptPostLoad()
AddDeathRegion("death")
AddDeathRegion("death1")
AddDeathRegion("death2")
AddDeathRegion("death3")
AddDeathRegion("death4")
SetProperty ("LibCase1","MaxHealth",1000)
SetProperty ("LibCase2","MaxHealth",1000)
SetProperty ("LibCase3","MaxHealth",1000)
SetProperty ("LibCase4","MaxHealth",1000)
SetProperty ("LibCase5","MaxHealth",1000)
SetProperty ("LibCase6","MaxHealth",1000)
SetProperty ("LibCase7","MaxHealth",1000)
SetProperty ("LibCase8","MaxHealth",1000)
SetProperty ("LibCase9","MaxHealth",1000)
SetProperty ("LibCase10","MaxHealth",1000)
SetProperty ("LibCase11","MaxHealth",1000)
SetProperty ("LibCase12","MaxHealth",1000)
SetProperty ("LibCase13","MaxHealth",1000)
SetProperty ("LibCase14","MaxHealth",1000)
SetProperty ("LibCase1","CurHealth",1000)
SetProperty ("LibCase2","CurHealth",1000)
SetProperty ("LibCase3","CurHealth",1000)
SetProperty ("LibCase4","CurHealth",1000)
SetProperty ("LibCase5","CurHealth",1000)
SetProperty ("LibCase6","CurHealth",1000)
SetProperty ("LibCase7","CurHealth",1000)
SetProperty ("LibCase8","CurHealth",1000)
SetProperty ("LibCase9","CurHealth",1000)
SetProperty ("LibCase10","CurHealth",1000)
SetProperty ("LibCase11","CurHealth",1000)
SetProperty ("LibCase12","CurHealth",1000)
SetProperty ("LibCase13","CurHealth",1000)
SetProperty ("LibCase14","CurHealth",1000)
EnableSPHeroRules()
DisableBarriers("SideDoor1")
DisableBarriers("MainLibraryDoors")
DisableBarriers("SideDoor2")
DisableBarriers("SIdeDoor3")
DisableBarriers("ComputerRoomDoor1")
DisableBarriers("StarChamberDoor1")
DisableBarriers("StarChamberDoor2")
DisableBarriers("WarRoomDoor1")
DisableBarriers("WarRoomDoor2")
DisableBarriers("WarRoomDoor3")
PlayAnimation("DoorOpen01")
PlayAnimation("DoorOpen02")
EnableSPHeroRules()
--This defines the CPs. These need to happen first
cp1 = CommandPost:New{name = "cp1"}
cp2 = CommandPost:New{name = "cp2"}
cp3 = CommandPost:New{name = "cp3"}
cp4 = CommandPost:New{name = "cp4"}
cp5 = CommandPost:New{name = "cp5"}
cp6 = CommandPost:New{name = "cp6"}
--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:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)
conquest:Start()
if not ScriptCB_InMultiplayer() then
herosupport = AIHeroSupport:New{AIATTHeroHealth = 4000, AIDEFHeroHealth = 4000, gameMode = "NonConquest",}
herosupport:SetHeroClass(CIS, herostrCIS)
herosupport:SetHeroClass(REP, herostrRep)
herosupport:AddSpawnCP("CP1","CP1SpawnPath")
herosupport:AddSpawnCP("CP2","CP2SpawnPath")
herosupport:AddSpawnCP("CP3","CP3SpawnPath")
herosupport:AddSpawnCP("CP4","CP4SpawnPath")
herosupport:AddSpawnCP("CP5","CP5SpawnPath")
herosupport:AddSpawnCP("CP6","CP6SpawnPath")
herosupport:Start()
else
end
end
function ScriptInit()
-- Designers, these two lines *MUST* be first.
SetPS2ModelMemory(4056000)
if not ScriptCB_InMultiplayer() then
DecideUnits(1, 1, 1, 1, 1, 1, 1)
DecideLegion(1, 1, 1)
elseif ScriptCB_InMultiplayer() then
herostrCIS = "cis_hero_grievous"
herostrRep = "rep_hero_obiwan"
medstrCIS = "cis_inf_1_medium"
lightstrCIS = "cis_inf_1_light"
heavystrCIS = "cis_inf_1_heavy"
supportstrCIS = "cis_inf_1_support"
guardstrCIS = "cis_inf_1_guard"
medstrRep = "rep_inf_shock_medium"
lightstrRep = "rep_inf_shock_light"
heavystrRep = "rep_inf_shock_heavy"
supportstrRep = "rep_inf_shock_support"
assassinstrRep = "rep_inf_shock_assassin"
end
SetMapNorthAngle(180, 1)
SetMaxFlyHeight(25)
SetMaxPlayerFlyHeight (25)
AISnipeSuitabilityDist(30)
SetMemoryPoolSize ("ClothData",40)
SetMemoryPoolSize ("Combo",170) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",1850) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",1850) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",1850) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",1750) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",14000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",1140) -- should be ~1x #combo -- should be ~1x #combo
SetMemoryPoolSize("Music", 33)
ReadDataFile("ingame.lvl")
ReadDataFile("dc:sound\\JN1.lvl;JN1cw")
ReadDataFile("sound\\cor.lvl;cor1cw")
ReadDataFile("SIDE\\rep.lvl",
"rep_hero_macewindu",
"rep_hero_aalya",
"rep_hero_obiwan",
"rep_hero_anakin")
ReadDataFile("SIDE\\cis.lvl",
"cis_hero_darthmaul",
"cis_hero_countdooku",
"cis_hero_grievous")
ReadDataFile("dc:SIDE\\republic2.lvl",
"rep_inf_607_support",
"rep_inf_607_assassin",
"rep_inf_607_medium",
"rep_inf_607_heavy",
"rep_inf_607_light")
ReadDataFile("dc:SIDE\\republic1.lvl",
"rep_inf_shock_support",
"rep_inf_shock_assassin",
"rep_inf_shock_medium",
"rep_inf_shock_heavy",
"rep_inf_shock_light")
ReadDataFile("dc:SIDE\\droids1.lvl",
"cis_inf_1_medium",
"cis_inf_1_support",
"cis_inf_1_guard",
"cis_inf_1_light",
"cis_inf_1_heavy")
ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser")
SetupTeams{
rep = {
team = REP,
units = 32,
reinforcements = 150,
},
cis = {
team = CIS,
units = 32,
reinforcements = 150,
}
}
--Set up Republic team
AddUnitClass(REP, medstrRep, 5, 12)
AddUnitClass(REP, lightstrRep, 5, 10)
AddUnitClass(REP, heavystrRep, 5, 10)
AddUnitClass(REP, supportstrRep, 1, 6)
AddUnitClass(REP, assassinstrRep, 1, 2)
--End Republic team
--Set up CIS team
AddUnitClass(CIS, medstrCIS, 5, 12)
AddUnitClass(CIS, lightstrCIS, 5, 10)
AddUnitClass(CIS, heavystrCIS, 5, 10)
AddUnitClass(CIS, supportstrCIS, 1, 6)
AddUnitClass(CIS, guardstrCIS, 1, 2)
--End CIS team
if ScriptCB_InMultiplayer() then
SetHeroClass(CIS, herostrCIS)
SetHeroClass(REP, herostrRep)
else
end
-- Level Stats
ClearWalkers()
AddWalkerType(0, 3) -- 8 droidekas (special case: 0 leg pairs)
AddWalkerType(1, 0) --
AddWalkerType(2, 0) -- 2 spider walkers with 2 leg pairs each
AddWalkerType(3, 0) -- 2 attes with 3 leg pairs each
local weaponCnt = 210
SetMemoryPoolSize("Aimer", 22)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 250)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 18)
SetMemoryPoolSize("EntitySoundStream", 10)
SetMemoryPoolSize("EntitySoundStatic", 0)
SetMemoryPoolSize("MountedTurret",12)
SetMemoryPoolSize("PathFollower", 50)
SetMemoryPoolSize("Navigator", 50)
SetMemoryPoolSize("Obstacle", 375)
SetMemoryPoolSize("SoundSpaceRegion", 38)
SetMemoryPoolSize("TentacleSimulator", 0)
SetMemoryPoolSize("TreeGridStack", 140)
SetMemoryPoolSize("UnitAgent", 50)
SetMemoryPoolSize("UnitController", 50)
SetMemoryPoolSize("Weapon", weaponCnt)
SetMemoryPoolSize("EntityFlyer", 4)
SetMemoryPoolSize("SoldierAnimation", 2000)
SetSpawnDelay(10.0, 0.25)
ReadDataFile("cor\\cor1.lvl","cor1_Conquest")
SetDenseEnvironment("True")
-- SetMaxFlyHeight(25)
--SetMaxPlayerFlyHeight (25)
AddDeathRegion("DeathRegion1")
-- Sound Stats
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\\cor.lvl", "cor1")
OpenAudioStream("sound\\cor.lvl", "cor1")
-- OpenAudioStream("sound\\cor.lvl", "cor1_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)
SetLowReinforcementsVoiceOver(REP, REP, "rep_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(REP, CIS, "rep_off_victory_im", .1, 1)
SetLowReinforcementsVoiceOver(CIS, CIS, "cis_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(CIS, REP, "cis_off_victory_im", .1, 1)
SetOutOfBoundsVoiceOver(2, "Repleaving")
SetOutOfBoundsVoiceOver(1, "Cisleaving")
SetAmbientMusic(REP, 1.0, "rep_cor_amb_start", 0,1)
SetAmbientMusic(REP, 0.8, "rep_cor_amb_middle", 1,1)
SetAmbientMusic(REP, 0.2, "rep_cor_amb_end", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_cor_amb_start", 0,1)
SetAmbientMusic(CIS, 0.8, "cis_cor_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.2, "cis_cor_amb_end", 2,1)
SetVictoryMusic(REP, "rep_cor_amb_victory")
SetDefeatMusic (REP, "rep_cor_amb_defeat")
SetVictoryMusic(CIS, "cis_cor_amb_victory")
SetDefeatMusic (CIS, "cis_cor_amb_defeat")
SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
--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")
-- Camera Stats
--Tat 1 - Dune Sea
AddCameraShot(0.419938, 0.002235, -0.907537, 0.004830, -15.639358, 5.499980, -176.911179);
AddCameraShot(0.994506, 0.104463, -0.006739, 0.000708, 1.745251, 5.499980, -118.700668);
AddCameraShot(0.008929, -0.001103, -0.992423, -0.122538, 1.366768, 16.818106, -114.422173);
AddCameraShot(0.761751, -0.117873, -0.629565, -0.097419, 59.861904, 16.818106, -81.607773);
AddCameraShot(0.717110, -0.013583, 0.696703, 0.013197, 98.053314, 11.354497, -85.857857);
AddCameraShot(0.360958, -0.001053, -0.932577, -0.002721, 69.017578, 18.145807, -56.992413);
AddCameraShot(-0.385976, 0.014031, -0.921793, -0.033508, 93.111061, 18.145807, -20.164375);
AddCameraShot(0.695468, -0.129569, -0.694823, -0.129448, 27.284357, 18.145807, -12.377695);
AddCameraShot(0.009002, -0.000795, -0.996084, -0.087945, 1.931320, 13.356332, -16.410583);
AddCameraShot(0.947720, -0.145318, 0.280814, 0.043058, 11.650738, 16.955814, 28.359180);
AddCameraShot(0.686380, -0.127550, 0.703919, 0.130810, -30.096384, 11.152356, -63.235146);
AddCameraShot(0.937945, -0.108408, 0.327224, 0.037821, -43.701199, 8.756138, -49.974789);
AddCameraShot(0.531236, -0.079466, -0.834207, -0.124787, -62.491230, 10.305247, -120.102989);
AddCameraShot(0.452286, -0.179031, -0.812390, -0.321572, -50.015198, 15.394646, -114.879379);
AddCameraShot(0.927563, -0.243751, 0.273918, 0.071982, 26.149965, 26.947924, -46.834148);
end[/code]
Hidden/Spoiler:
[code]Message Severity: 3
.\Source\LuaHelper.cpp(312)
CallProc failed: bad argument #1 to `RetailSetHeroClass' (number expected, got nil)
stack traceback:
[C]: in function `RetailSetHeroClass'
(none): in function `SetHeroClass'
(none): in function `SetHeroClass'
(none): in function `ScriptPostLoad'[/code]
.\Source\LuaHelper.cpp(312)
CallProc failed: bad argument #1 to `RetailSetHeroClass' (number expected, got nil)
stack traceback:
[C]: in function `RetailSetHeroClass'
(none): in function `SetHeroClass'
(none): in function `SetHeroClass'
(none): in function `ScriptPostLoad'[/code]