Side mod for space
Posted: Mon Sep 03, 2012 4:06 pm
by Dreadnot9
I'm using the spa3, spa6, and spa7 scripts for my side mod. The side shows up as selectable, but when I click on the side and assault mode the "add map" function doesn't add the map to the instant action list.
My addme.lua:
spa3w_con (no changes have been made from stock so far):
My mission.req
And my spa3w_Diet Dr. Pepper.req:
Any help is appreciated.
My addme.lua:
Hidden/Spoiler:
-- recursively merges the second given table into the first given table
function MergeTables( mission, newFlags )
--for each table entry,
local array = type({})
for key,value in pairs(newFlags) do
--check for nested tables
if type(value) == array then
--mission must have this key as a table too
if type(mission[key]) ~= array then
mission[key] = {}
end
--merge these two tables recursively
MergeTables(mission[key], value)
else
--the key is a simple variable, so simply store it
mission[key] = value
end
end
end
--Search through the missionlist to find a map that matches mapName,
--then insert the new flags into said entry.
--Use this when you know the map already exists, but this content patch is just
--adding new gamemodes (otherwise you should just add whole new entries to the missionlist)
function AddNewGameModes(missionList, mapName, newFlags)
for i, mission in missionList do
if mission.mapluafile == mapName then
MergeTables(mission, newFlags)
end
end
end
--insert totally new maps here:
local sp_n = 0
local mp_n = 0
sp_n = table.getn(sp_missionselect_listbox_contents)
------------------------------------NEW MAPS---------------------------------
--DANTOOINE
sp_missionselect_listbox_contents[sp_n+1] = {
red = 255, blue = 45, green = 45,
isModLevel = 1,
mapluafile = "DAN%s_%s",
era_w = 1,
--era_c = 1,
--era_g = 1,
mode_con_w = 1,
mode_surv_w = 1,
mode_tdm_w = 1,
mode_uber_w = 1,
--mode_con_c = 1,
--mode_tdm_c = 1,
--mode_uber_c = 1,
--mode_con_g = 1,
--mode_tdm_c = 1,
--mode_uber_g = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},
}
mp_n = table.getn(mp_missionselect_listbox_contents)
mp_missionselect_listbox_contents[mp_n+1] = sp_missionselect_listbox_contents[sp_n+1]
--YAVIN 4: Arena
sp_missionselect_listbox_contents[sp_n+2] = {
red = 255, blue = 45, green = 45,
isModLevel = 1,
mapluafile = "yav2%s_%s",
era_w = 1,
mode_con_w = 1,
mode_1flag_w = 1,
mode_dm_w = 1,
mode_tdm_w = 1,
mode_wav_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},
}
mp_n = table.getn(mp_missionselect_listbox_contents)
mp_missionselect_listbox_contents[mp_n+2] = sp_missionselect_listbox_contents[sp_n+2]
--ARBHOR
--sp_missionselect_listbox_contents[sp_n+3] = {
--red = 255, blue = 45, green = 45,
--isModLevel = 1,
--mapluafile = "ARB%s_%s",
--era_g = 1,
--era_c = 1,
--mode_con_g = 1,
--mode_con_c = 1,
--mode_ctf_g = 1,
--mode_ctf_c = 1,
--mode_1flag_g = 1,
--mode_1flag_c = 1,
--}
--mp_n = table.getn(mp_missionselect_listbox_contents)
--mp_missionselect_listbox_contents[mp_n+3] = sp_missionselect_listbox_contents[sp_n+3]
------------------------------------SIDE MOD---------------------------------
--Cor
AddNewGameModes( sp_missionselect_listbox_contents, "cor1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "cor1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--Dag
AddNewGameModes( sp_missionselect_listbox_contents, "dag1%s_%s",
{era_w = 1,
mode_con_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "dag1%s_%s",
{era_w = 1,
mode_con_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--Dea
AddNewGameModes( sp_missionselect_listbox_contents, "dea1%s_%s",
{era_w = 1,
mode_con_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "dea1%s_%s",
{era_w = 1,
mode_con_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--fel
AddNewGameModes( sp_missionselect_listbox_contents, "fel1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
mode_uber_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "fel1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
mode_uber_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--geo
AddNewGameModes( sp_missionselect_listbox_contents, "geo1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_uber_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "geo1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_uber_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--kam
AddNewGameModes( sp_missionselect_listbox_contents, "kam1%s_%s",
{era_w = 1,
mode_con_w = 1,
--mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "kam1%s_%s",
{era_w = 1,
mode_con_w = 1,
--mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--kas
AddNewGameModes( sp_missionselect_listbox_contents, "kas2%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_hunt_w = 1,
--mode_tdm_w = 1,
mode_uber_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "kas2%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_hunt_w = 1,
--mode_tdm_w = 1,
mode_uber_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--mus
AddNewGameModes( sp_missionselect_listbox_contents, "mus1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "mus1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--myg
AddNewGameModes( sp_missionselect_listbox_contents, "myg1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
mode_uber_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "myg1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
mode_uber_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--nab
AddNewGameModes( sp_missionselect_listbox_contents, "nab2%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "nab2%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--pol
AddNewGameModes( sp_missionselect_listbox_contents, "pol1%s_%s",
{era_w = 1,
mode_con_w = 1,
--mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "pol1%s_%s",
{era_w = 1,
mode_con_w = 1,
--mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--spa3
AddNewGameModes( sp_missionselect_listbox_contents, "spa3%s_%s",
{era_w = 1,
mode_Diet Dr. Pepper_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "spa3%s_%s",
{era_w = 1,
mode_Diet Dr. Pepper_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--spa6
AddNewGameModes( sp_missionselect_listbox_contents, "spa6%s_%s",
{era_w = 1,
mode_Diet Dr. Pepper_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "spa6%s_%s",
{era_w = 1,
mode_Diet Dr. Pepper_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--spa7
AddNewGameModes( sp_missionselect_listbox_contents, "spa7%s_%s",
{era_w = 1,
mode_Diet Dr. Pepper_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "spa7%s_%s",
{era_w = 1,
mode_Diet Dr. Pepper_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--tan
AddNewGameModes( sp_missionselect_listbox_contents, "tan1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_ins_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
mode_ins = { name="V.I.P.", icon="vip_icon", about="Protect the leader - or hunt him down!" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "tan1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_ins_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
mode_ins = { name="V.I.P.", icon="vip_icon", about="Protect the leader - or hunt him down!" },
},} )
--tat
AddNewGameModes( sp_missionselect_listbox_contents, "tat2%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_hunt_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "tat2%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_hunt_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--tat
AddNewGameModes( sp_missionselect_listbox_contents, "tat3%s_%s",
{era_w = 1,
mode_con_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "tat3%s_%s",
{era_w = 1,
mode_con_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--uta
AddNewGameModes( sp_missionselect_listbox_contents, "uta1%s_%s",
{era_w = 1,
mode_con_w = 1,
--mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "uta1%s_%s",
{era_w = 1,
mode_con_w = 1,
--mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--yav
AddNewGameModes( sp_missionselect_listbox_contents, "yav1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "yav1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
-- associate this mission name with the current downloadable content directory
-- (this tells the engine which maps are downloaded, so you need to include all new mission lua's here)
-- first arg: mapluafile from above
-- second arg: mission script name
-- third arg: level memory modifier. the arg to LuaScript.cpp: DEFAULT_MODEL_MEMORY_PLUS(x)
--AddDownloadableContent("ARB","ARBg_con",4)
--AddDownloadableContent("ARB","ARBc_con",4)
--AddDownloadableContent("ARB","ARBg_ctf",4)
--AddDownloadableContent("ARB","ARBc_ctf",4)
--AddDownloadableContent("ARB","ARBg_1flag",4)
--AddDownloadableContent("ARB","ARBc_1flag",4)
AddDownloadableContent("cor1","cor1w_con",4)
AddDownloadableContent("cor1","cor1w_tdm",4)
AddDownloadableContent("dag1","dag1w_con",4)
--AddDownloadableContent("DAN","DANg_con",4)
--AddDownloadableContent("DAN","DANg_tdm",4)
--AddDownloadableContent("DAN","DANg_uber",4)
--AddDownloadableContent("DAN","DANc_con",4)
--AddDownloadableContent("DAN","DANc_tdm",4)
--AddDownloadableContent("DAN","DANc_uber",4)
AddDownloadableContent("DAN","DANw_uber",4)
AddDownloadableContent("DAN","DANw_con",4)
AddDownloadableContent("DAN","DANw_surv",4)
AddDownloadableContent("DAN","DANw_tdm",4)
AddDownloadableContent("dea1","dea1w_con",4)
AddDownloadableContent("fel1","fel1w_con",4)
AddDownloadableContent("fel1","fel1w_tdm",4)
AddDownloadableContent("fel1","fel1w_uber",4)
AddDownloadableContent("geo1","geo1w_con",4)
AddDownloadableContent("geo1","geo1w_uber",4)
AddDownloadableContent("kam1","kam1w_con",4)
AddDownloadableContent("kas2","kas2w_con",4)
AddDownloadableContent("kas2","kas2w_hunt",4)
AddDownloadableContent("kas2","kas2w_uber",4)
AddDownloadableContent("mus1","mus1w_con",4)
AddDownloadableContent("mus1","mus1w_tdm",4)
AddDownloadableContent("myg1","myg1w_con",4)
AddDownloadableContent("myg1","myg1w_tdm",4)
AddDownloadableContent("myg1","myg1w_uber",4)
AddDownloadableContent("nab2","nab2w_con",4)
AddDownloadableContent("nab2","nab2w_tdm",4)
AddDownloadableContent("pol1","pol1w_con",4)
AddDownloadableContent("spa3","spa3w_Diet Dr. Pepper",4)
AddDownloadableContent("spa6","spa6w_Diet Dr. Pepper",4)
AddDownloadableContent("spa7","spa7w_Diet Dr. Pepper",4)
AddDownloadableContent("tan1","tan1w_con",4)
AddDownloadableContent("tan1","tan1w_ins",4)
AddDownloadableContent("tan1","tan1w_tdm",4)
AddDownloadableContent("tat2","tat2w_con",4)
AddDownloadableContent("tat2","tat2w_hunt",4)
AddDownloadableContent("tat2","tat2w_tdm",4)
AddDownloadableContent("tat3","tat3w_con",4)
AddDownloadableContent("uta1","uta1w_con",4)
AddDownloadableContent("yav1","yav1w_con",4)
AddDownloadableContent("yav1","yav1w_tdm",4)
AddDownloadableContent("yav","yav2w_con",4)
AddDownloadableContent("yav","yav2w_dm",4)
AddDownloadableContent("yav","yav2w_1flag",4)
AddDownloadableContent("yav","yav2w_tdm",4)
AddDownloadableContent("yav","yav2w_wav",4)
-- all done
newEntry = nil
n = nil
-- Now load our core.lvl into the shell to add our localize keys
ReadDataFile("..\\..\\addon\\RIC\\data\\_LVL_PC\\core.lvl")
function MergeTables( mission, newFlags )
--for each table entry,
local array = type({})
for key,value in pairs(newFlags) do
--check for nested tables
if type(value) == array then
--mission must have this key as a table too
if type(mission[key]) ~= array then
mission[key] = {}
end
--merge these two tables recursively
MergeTables(mission[key], value)
else
--the key is a simple variable, so simply store it
mission[key] = value
end
end
end
--Search through the missionlist to find a map that matches mapName,
--then insert the new flags into said entry.
--Use this when you know the map already exists, but this content patch is just
--adding new gamemodes (otherwise you should just add whole new entries to the missionlist)
function AddNewGameModes(missionList, mapName, newFlags)
for i, mission in missionList do
if mission.mapluafile == mapName then
MergeTables(mission, newFlags)
end
end
end
--insert totally new maps here:
local sp_n = 0
local mp_n = 0
sp_n = table.getn(sp_missionselect_listbox_contents)
------------------------------------NEW MAPS---------------------------------
--DANTOOINE
sp_missionselect_listbox_contents[sp_n+1] = {
red = 255, blue = 45, green = 45,
isModLevel = 1,
mapluafile = "DAN%s_%s",
era_w = 1,
--era_c = 1,
--era_g = 1,
mode_con_w = 1,
mode_surv_w = 1,
mode_tdm_w = 1,
mode_uber_w = 1,
--mode_con_c = 1,
--mode_tdm_c = 1,
--mode_uber_c = 1,
--mode_con_g = 1,
--mode_tdm_c = 1,
--mode_uber_g = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},
}
mp_n = table.getn(mp_missionselect_listbox_contents)
mp_missionselect_listbox_contents[mp_n+1] = sp_missionselect_listbox_contents[sp_n+1]
--YAVIN 4: Arena
sp_missionselect_listbox_contents[sp_n+2] = {
red = 255, blue = 45, green = 45,
isModLevel = 1,
mapluafile = "yav2%s_%s",
era_w = 1,
mode_con_w = 1,
mode_1flag_w = 1,
mode_dm_w = 1,
mode_tdm_w = 1,
mode_wav_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},
}
mp_n = table.getn(mp_missionselect_listbox_contents)
mp_missionselect_listbox_contents[mp_n+2] = sp_missionselect_listbox_contents[sp_n+2]
--ARBHOR
--sp_missionselect_listbox_contents[sp_n+3] = {
--red = 255, blue = 45, green = 45,
--isModLevel = 1,
--mapluafile = "ARB%s_%s",
--era_g = 1,
--era_c = 1,
--mode_con_g = 1,
--mode_con_c = 1,
--mode_ctf_g = 1,
--mode_ctf_c = 1,
--mode_1flag_g = 1,
--mode_1flag_c = 1,
--}
--mp_n = table.getn(mp_missionselect_listbox_contents)
--mp_missionselect_listbox_contents[mp_n+3] = sp_missionselect_listbox_contents[sp_n+3]
------------------------------------SIDE MOD---------------------------------
--Cor
AddNewGameModes( sp_missionselect_listbox_contents, "cor1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "cor1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--Dag
AddNewGameModes( sp_missionselect_listbox_contents, "dag1%s_%s",
{era_w = 1,
mode_con_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "dag1%s_%s",
{era_w = 1,
mode_con_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--Dea
AddNewGameModes( sp_missionselect_listbox_contents, "dea1%s_%s",
{era_w = 1,
mode_con_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "dea1%s_%s",
{era_w = 1,
mode_con_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--fel
AddNewGameModes( sp_missionselect_listbox_contents, "fel1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
mode_uber_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "fel1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
mode_uber_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--geo
AddNewGameModes( sp_missionselect_listbox_contents, "geo1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_uber_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "geo1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_uber_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--kam
AddNewGameModes( sp_missionselect_listbox_contents, "kam1%s_%s",
{era_w = 1,
mode_con_w = 1,
--mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "kam1%s_%s",
{era_w = 1,
mode_con_w = 1,
--mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--kas
AddNewGameModes( sp_missionselect_listbox_contents, "kas2%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_hunt_w = 1,
--mode_tdm_w = 1,
mode_uber_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "kas2%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_hunt_w = 1,
--mode_tdm_w = 1,
mode_uber_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--mus
AddNewGameModes( sp_missionselect_listbox_contents, "mus1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "mus1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--myg
AddNewGameModes( sp_missionselect_listbox_contents, "myg1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
mode_uber_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "myg1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
mode_uber_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--nab
AddNewGameModes( sp_missionselect_listbox_contents, "nab2%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "nab2%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--pol
AddNewGameModes( sp_missionselect_listbox_contents, "pol1%s_%s",
{era_w = 1,
mode_con_w = 1,
--mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "pol1%s_%s",
{era_w = 1,
mode_con_w = 1,
--mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--spa3
AddNewGameModes( sp_missionselect_listbox_contents, "spa3%s_%s",
{era_w = 1,
mode_Diet Dr. Pepper_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "spa3%s_%s",
{era_w = 1,
mode_Diet Dr. Pepper_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--spa6
AddNewGameModes( sp_missionselect_listbox_contents, "spa6%s_%s",
{era_w = 1,
mode_Diet Dr. Pepper_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "spa6%s_%s",
{era_w = 1,
mode_Diet Dr. Pepper_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--spa7
AddNewGameModes( sp_missionselect_listbox_contents, "spa7%s_%s",
{era_w = 1,
mode_Diet Dr. Pepper_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "spa7%s_%s",
{era_w = 1,
mode_Diet Dr. Pepper_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--tan
AddNewGameModes( sp_missionselect_listbox_contents, "tan1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_ins_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
mode_ins = { name="V.I.P.", icon="vip_icon", about="Protect the leader - or hunt him down!" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "tan1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_ins_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
mode_ins = { name="V.I.P.", icon="vip_icon", about="Protect the leader - or hunt him down!" },
},} )
--tat
AddNewGameModes( sp_missionselect_listbox_contents, "tat2%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_hunt_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "tat2%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_hunt_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--tat
AddNewGameModes( sp_missionselect_listbox_contents, "tat3%s_%s",
{era_w = 1,
mode_con_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "tat3%s_%s",
{era_w = 1,
mode_con_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--uta
AddNewGameModes( sp_missionselect_listbox_contents, "uta1%s_%s",
{era_w = 1,
mode_con_w = 1,
--mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "uta1%s_%s",
{era_w = 1,
mode_con_w = 1,
--mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
--yav
AddNewGameModes( sp_missionselect_listbox_contents, "yav1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
AddNewGameModes( mp_missionselect_listbox_contents, "yav1%s_%s",
{era_w = 1,
mode_con_w = 1,
mode_tdm_w = 1,
change = {
era_w = { name="Rising Conflict: CW", icon2="seal_rep" },
},} )
-- associate this mission name with the current downloadable content directory
-- (this tells the engine which maps are downloaded, so you need to include all new mission lua's here)
-- first arg: mapluafile from above
-- second arg: mission script name
-- third arg: level memory modifier. the arg to LuaScript.cpp: DEFAULT_MODEL_MEMORY_PLUS(x)
--AddDownloadableContent("ARB","ARBg_con",4)
--AddDownloadableContent("ARB","ARBc_con",4)
--AddDownloadableContent("ARB","ARBg_ctf",4)
--AddDownloadableContent("ARB","ARBc_ctf",4)
--AddDownloadableContent("ARB","ARBg_1flag",4)
--AddDownloadableContent("ARB","ARBc_1flag",4)
AddDownloadableContent("cor1","cor1w_con",4)
AddDownloadableContent("cor1","cor1w_tdm",4)
AddDownloadableContent("dag1","dag1w_con",4)
--AddDownloadableContent("DAN","DANg_con",4)
--AddDownloadableContent("DAN","DANg_tdm",4)
--AddDownloadableContent("DAN","DANg_uber",4)
--AddDownloadableContent("DAN","DANc_con",4)
--AddDownloadableContent("DAN","DANc_tdm",4)
--AddDownloadableContent("DAN","DANc_uber",4)
AddDownloadableContent("DAN","DANw_uber",4)
AddDownloadableContent("DAN","DANw_con",4)
AddDownloadableContent("DAN","DANw_surv",4)
AddDownloadableContent("DAN","DANw_tdm",4)
AddDownloadableContent("dea1","dea1w_con",4)
AddDownloadableContent("fel1","fel1w_con",4)
AddDownloadableContent("fel1","fel1w_tdm",4)
AddDownloadableContent("fel1","fel1w_uber",4)
AddDownloadableContent("geo1","geo1w_con",4)
AddDownloadableContent("geo1","geo1w_uber",4)
AddDownloadableContent("kam1","kam1w_con",4)
AddDownloadableContent("kas2","kas2w_con",4)
AddDownloadableContent("kas2","kas2w_hunt",4)
AddDownloadableContent("kas2","kas2w_uber",4)
AddDownloadableContent("mus1","mus1w_con",4)
AddDownloadableContent("mus1","mus1w_tdm",4)
AddDownloadableContent("myg1","myg1w_con",4)
AddDownloadableContent("myg1","myg1w_tdm",4)
AddDownloadableContent("myg1","myg1w_uber",4)
AddDownloadableContent("nab2","nab2w_con",4)
AddDownloadableContent("nab2","nab2w_tdm",4)
AddDownloadableContent("pol1","pol1w_con",4)
AddDownloadableContent("spa3","spa3w_Diet Dr. Pepper",4)
AddDownloadableContent("spa6","spa6w_Diet Dr. Pepper",4)
AddDownloadableContent("spa7","spa7w_Diet Dr. Pepper",4)
AddDownloadableContent("tan1","tan1w_con",4)
AddDownloadableContent("tan1","tan1w_ins",4)
AddDownloadableContent("tan1","tan1w_tdm",4)
AddDownloadableContent("tat2","tat2w_con",4)
AddDownloadableContent("tat2","tat2w_hunt",4)
AddDownloadableContent("tat2","tat2w_tdm",4)
AddDownloadableContent("tat3","tat3w_con",4)
AddDownloadableContent("uta1","uta1w_con",4)
AddDownloadableContent("yav1","yav1w_con",4)
AddDownloadableContent("yav1","yav1w_tdm",4)
AddDownloadableContent("yav","yav2w_con",4)
AddDownloadableContent("yav","yav2w_dm",4)
AddDownloadableContent("yav","yav2w_1flag",4)
AddDownloadableContent("yav","yav2w_tdm",4)
AddDownloadableContent("yav","yav2w_wav",4)
-- all done
newEntry = nil
n = nil
-- Now load our core.lvl into the shell to add our localize keys
ReadDataFile("..\\..\\addon\\RIC\\data\\_LVL_PC\\core.lvl")
Hidden/Spoiler:
-- SPACE 3 Battle over Kashyyyk
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("ObjectiveSpaceAssault")
ScriptCB_DoFile("LinkedShields")
ScriptCB_DoFile("LinkedDestroyables")
ScriptCB_DoFile("LinkedTurrets")
-- Republic Attacking (attacker is always #1)
REP = 1
CIS = 2
-- These variables do not change
ATT = 1
DEF = 2
function ScriptPostLoad()
SetupObjectives()
DisableSmallMapMiniMap()
SetupShields()
SetupDestroyables()
SetupTurrets()
AddAIGoal(REP, "Deathmatch", 100)
AddAIGoal(CIS, "Deathmatch", 100)
SetProperty("cap_box01", "IsVisible", 0)
SetProperty("cap_box01", "IsCollidible ", 0)
PauseAnimation("cis01")
-- Show lights
SetProperty( "rep_eng_lightr", "IsVisible", 0)
SetProperty( "rep_shi_lightr", "IsVisible", 0)
SetProperty( "rep_lif_lightr", "IsVisible", 0)
SetProperty( "cis_eng_lightr", "IsVisible", 0)
SetProperty( "cis_shi_lightr", "IsVisible", 0)
SetProperty( "cis_lif_lightr", "IsVisible", 0)
end
function SetupObjectives()
assault = ObjectiveSpaceAssault:New{
teamATT = REP, teamDEF = CIS,
multiplayerRules = true
}
local repTargets = {
engines = {"Engine1", "Engine2"},
lifesupport = "life_ext_cis",
bridge = "bridge_cis",
comm = "comms_cis",
sensors = "sensors_cis",
frigates = "CIS_mini01",
internalSys = { "life_int_cis", "engine_cis" },
}
local cisTargets = {
engines = "Engine3",
lifesupport = "life_ext_rep",
bridge = "bridge_rep",
comm = "comms_rep",
sensors = "sensors_rep",
frigates = "REP_mini03",
internalSys = { "life_int_rep", "engine_rep" },
}
assault:SetupAllCriticalSystems( "rep", repTargets, true )
assault:SetupAllCriticalSystems( "cis", cisTargets, false )
assault:Start()
-- cis side is open
--BlockPlanningGraphArcs("cis_blk01","cis_blk02")
DisableBarriers("cis_blk01")
DisableBarriers("cis_blk02")
-- rep side is open
--BlockPlanningGraphArcs("rep_blk01","rep_blk02")
DisableBarriers("rep_blk01")
DisableBarriers("rep_blk02")
--rep LAAT open
DisableBarriers("laatbar")
end
function SetupShields()
-- CIS Shielded objects
linkedShieldObjectsCIS = { "Engine1", "Engine2", "life_ext_cis", "sensors_cis", "comms_cis", "bridge_cis", "cis_fly_fedcruiser0",
"cis_fly_fedcruiser2", "cis_fly_fedcruiser3", "cis_fly_fedcruiser4"}
shieldStuffCIS = LinkedShields:New{objs = linkedShieldObjectsCIS, maxShield = 200000, addShield = 1000, controllerObject = "shieldgenCIS"}
shieldStuffCIS:Init()
function shieldStuffCIS:OnAllShieldsDown()
ShowMessageText("level.spa.hangar.shields.atk.down", REP)
ShowMessageText("level.spa.hangar.shields.def.down", CIS)
BroadcastVoiceOver( "ROSMP_obj_16", REP )
BroadcastVoiceOver( "COSMP_obj_17", CIS )
EnableLockOn({"Engine1", "Engine2", "life_ext_cis", "bridge_cis", "comms_cis", "sensors_cis"}, true)
end
function shieldStuffCIS:OnAllShieldsUp()
EnableLockOn({"Engine1", "Engine2", "life_ext_cis", "bridge_cis", "comms_cis", "sensors_cis"}, false)
ShowMessageText("level.spa.hangar.shields.atk.up", REP)
ShowMessageText("level.spa.hangar.shields.def.up", CIS)
BroadcastVoiceOver( "ROSMP_obj_18", REP )
BroadcastVoiceOver( "COSMP_obj_19", CIS )
end
-- REP Shielded objects
linkedShieldObjectsREP = { "sensors_rep", "life_ext_rep", "comms_rep", "rep_cap_assultship0", "rep_cap_assultship2", "rep_cap_assultship3",
"rep_cap_assultship4", "bridge_rep", "Engine3" }
shieldStuffREP = LinkedShields:New{objs = linkedShieldObjectsREP, maxShield = 200000, addShield = 1000, controllerObject = "shieldgenREP"}
shieldStuffREP:Init()
function shieldStuffREP:OnAllShieldsDown()
ShowMessageText("level.spa.hangar.shields.atk.down", CIS)
ShowMessageText("level.spa.hangar.shields.def.down", REP)
BroadcastVoiceOver( "ROSMP_obj_17", REP )
BroadcastVoiceOver( "COSMP_obj_16", CIS )
EnableLockOn({"sensors_rep", "life_ext_rep", "comms_rep", "bridge_rep", "Engine3"}, true)
end
function shieldStuffREP:OnAllShieldsUp()
EnableLockOn({"sensors_rep", "life_ext_rep", "comms_rep", "bridge_rep", "Engine3"}, false)
ShowMessageText("level.spa.hangar.shields.atk.up", CIS)
ShowMessageText("level.spa.hangar.shields.def.up", REP)
BroadcastVoiceOver( "ROSMP_obj_19", REP )
BroadcastVoiceOver( "COSMP_obj_18", CIS )
end
end
function SetupDestroyables()
--CIS destroyables
lifeSupportLinkageCIS = LinkedDestroyables:New{ objectSets = {{"life_int_cis"}, {"life_ext_cis"}} }
lifeSupportLinkageCIS:Init()
engineLinkageCIS = LinkedDestroyables:New{ objectSets = {{"Engine1", "Engine2"}, {"engine_cis"}} }
engineLinkageCIS:Init()
--REP destroyables
lifeSupportLinkageREP = LinkedDestroyables:New{ objectSets = {{"life_int_rep"}, {"life_ext_rep"}} }
lifeSupportLinkageREP:Init()
engineLinkageREP = LinkedDestroyables:New{ objectSets = {{"Engine3"}, {"engine_rep"}} }
engineLinkageREP:Init()
end
function SetupTurrets()
--CIS turrets
LinkedTurretsCIS = LinkedTurrets:New{ team = CIS, mainframe = "cis_main",
turrets = {"cis_obj01","cis_obj02", "cis_obj03", "cis_obj04", "cis_obj05"} }
LinkedTurretsCIS:Init()
function LinkedTurretsCIS:OnDisableMainframe()
ShowMessageText("level.spa.hangar.mainframe.atk.down", REP)
ShowMessageText("level.spa.hangar.mainframe.def.down", CIS)
BroadcastVoiceOver( "ROSMP_obj_20", REP )
BroadcastVoiceOver( "COSMP_obj_21", CIS )
end
function LinkedTurretsCIS:OnEnableMainframe()
ShowMessageText("level.spa.hangar.mainframe.atk.up", REP)
ShowMessageText("level.spa.hangar.mainframe.def.up", CIS)
BroadcastVoiceOver( "ROSMP_obj_22", REP )
BroadcastVoiceOver( "COSMP_obj_23", CIS )
end
--REP turrets
LinkedTurretsREP = LinkedTurrets:New{ team = REP, mainframe = "rep_main",
turrets = {"rep_at01","rep_at02", "rep_at03", "rep_at04", "rep_at05", "rep_at06"} }
LinkedTurretsREP:Init()
function LinkedTurretsREP:OnDisableMainframe()
ShowMessageText("level.spa.hangar.mainframe.atk.down", CIS)
ShowMessageText("level.spa.hangar.mainframe.def.down", REP)
BroadcastVoiceOver( "ROSMP_obj_21", REP )
BroadcastVoiceOver( "COSMP_obj_20", CIS )
end
function LinkedTurretsREP:OnEnableMainframe()
ShowMessageText("level.spa.hangar.mainframe.atk.up", CIS)
ShowMessageText("level.spa.hangar.mainframe.def.up", REP)
BroadcastVoiceOver( "ROSMP_obj_23", REP )
BroadcastVoiceOver( "COSMP_obj_22", CIS )
end
end
function ScriptPreInit()
SetWorldExtents(1900)
end
function ScriptInit()
-- Designers, these two lines *MUST* be first!
StealArtistHeap(300 * 1024)
SetPS2ModelMemory(4900000)
ReadDataFile("ingame.lvl")
SetMinFlyHeight(-1900)
SetMaxFlyHeight(2000)
SetMinPlayerFlyHeight(-1900)
SetMaxPlayerFlyHeight(2000)
SetAIVehicleNotifyRadius(100)
ReadDataFile("sound\\spa.lvl;spa2cw")
ScriptCB_SetDopplerFactor(0.4)
ScaleSoundParameter("tur_weapons", "MinDistance", 3.0);
ScaleSoundParameter("tur_weapons", "MaxDistance", 3.0);
ScaleSoundParameter("tur_weapons", "MuteDistance", 3.0);
ScaleSoundParameter("Ordnance_Large", "MinDistance", 3.0);
ScaleSoundParameter("Ordnance_Large", "MaxDistance", 3.0);
ScaleSoundParameter("Ordnance_Large", "MuteDistance", 3.0);
ScaleSoundParameter("explosion", "MaxDistance", 5.0);
ScaleSoundParameter("explosion", "MuteDistance", 5.0);
ReadDataFile("SIDE\\rep.lvl",
"rep_inf_ep3_pilot",
"rep_inf_ep3_marine",
"rep_fly_assault_dome",
"rep_fly_anakinstarfighter_sc",
"rep_fly_arc170fighter_sc",
"rep_veh_remote_terminal",
"rep_fly_gunship_sc",
"rep_fly_arc170fighter_dome",
"rep_fly_vwing")
ReadDataFile("SIDE\\cis.lvl",
"cis_inf_pilot",
"cis_inf_marine",
"cis_fly_fedlander_dome",
"cis_fly_droidfighter_sc",
"cis_fly_droidfighter_dome",
"cis_fly_greviousfighter",
"cis_fly_droidgunship",
"cis_fly_tridroidfighter")
ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_spa_rep_beam",
"tur_bldg_spa_rep_chaingun",
"tur_bldg_spa_cis_chaingun",
"tur_bldg_spa_cis_recoilless",
"tur_bldg_chaingun_roof")
SetupTeams{
rep = {
team = REP,
units = 32,
reinforcements = -1,
pilot = { "rep_inf_ep3_pilot",26},
marine = { "rep_inf_ep3_marine",6},
},
cis = {
team = CIS,
units = 32,
reinforcements = -1,
pilot = { "cis_inf_pilot",26},
marine = { "cis_inf_marine",6},
}
}
-- Level Stats
ClearWalkers()
local weaponCnt = 240
local guyCnt = 60
SetMemoryPoolSize ("Aimer", 186)
SetMemoryPoolSize ("AmmoCounter", weaponCnt)
SetMemoryPoolSize ("BaseHint", 35)
SetMemoryPoolSize ("CommandFlyer", 2)
SetMemoryPoolSize ("EnergyBar", weaponCnt)
SetMemoryPoolSize ("EntityDroid", 0)
SetMemoryPoolSize ("EntityFlyer", 32)
SetMemoryPoolSize ("EntityLight", 120)
SetMemoryPoolSize ("EntityRemoteTerminal", 12)
SetMemoryPoolSize ("EntitySoundStream", 11)
SetMemoryPoolSize ("EntitySoundStatic", 4)
SetMemoryPoolSize ("FLEffectObject::OffsetMatrix", 165)
SetMemoryPoolSize ("MountedTurret", 48)
SetMemoryPoolSize ("Navigator", 32)
SetMemoryPoolSize ("Obstacle", 120)
SetMemoryPoolSize ("PathFollower", 32)
SetMemoryPoolSize ("PathNode", 48)
SetMemoryPoolSize ("TreeGridStack", 200)
SetMemoryPoolSize ("UnitAgent", 64)
SetMemoryPoolSize ("UnitController", 64)
SetMemoryPoolSize ("Weapon", weaponCnt)
-- load sky dome
local world = "kas"
if ScriptCB_IsMissionSetupSaved() then
local missionSetup = ScriptCB_LoadMissionSetup()
world = missionSetup.world or world
end
ReadDataFile("SPA\\spa_sky.lvl", world)
SetSpawnDelay(10.0, 0.25)
ReadDataFile("spa\\spa3.lvl", "spa3_Obj")
SetDenseEnvironment("false")
AddDeathRegion("deathregionrep")
AddDeathRegion("deathregioncis")
SetParticleLODBias(15000)
-- Sound Stats
voiceSlow = OpenAudioStream("sound\\global.lvl", "spa1_objective_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "rep_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "global_vo_slow", voiceSlow)
voiceQuick = OpenAudioStream("sound\\global.lvl", "spa1_objective_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "rep_unit_vo_quick", voiceQuick)
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_quick", voiceQuick)
OpenAudioStream("sound\\global.lvl", "cw_music")
OpenAudioStream("sound\\spa.lvl", "spa")
OpenAudioStream("sound\\spa.lvl", "spa")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")
-- OpenAudioStream("sound\\tat.lvl", "tat1_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_spa_amb_start", 0,1)
SetAmbientMusic(REP, 0.9, "rep_spa_amb_middle", 1,1)
SetAmbientMusic(REP, 0.1,"rep_spa_amb_end", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_spa_amb_start", 0,1)
SetAmbientMusic(CIS, 0.9, "cis_spa_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.1,"cis_spa_amb_end", 2,1)
SetVictoryMusic(REP, "rep_spa_amb_victory")
SetDefeatMusic (REP, "rep_spa_amb_defeat")
SetVictoryMusic(CIS, "cis_spa_amb_victory")
SetDefeatMusic (CIS, "cis_spa_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
--Space Combat: Battle Over Kashyyyk
AddCameraShot(0.961253, -0.041344, -0.272296, -0.011712, 846.781738, 42.129261, 1632.990479);
AddCameraShot(0.950207, 0.025974, 0.310420, -0.008485, 919.840332, 42.129261, 1735.540771);
AddCameraShot(0.948213, -0.126931, -0.288596, -0.038632, -753.106201, 743.622070, 2686.222900);
AddCameraShot(-0.325839, 0.049463, -0.933437, -0.141696, 2249.083496, 743.622070, -1105.532593);
AddLandingRegion("CP1Control")
AddLandingRegion("CP2Control")
if (gPlatformStr == "PS2") then
ScriptCB_DisableFlyerShadows()
end
end
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("ObjectiveSpaceAssault")
ScriptCB_DoFile("LinkedShields")
ScriptCB_DoFile("LinkedDestroyables")
ScriptCB_DoFile("LinkedTurrets")
-- Republic Attacking (attacker is always #1)
REP = 1
CIS = 2
-- These variables do not change
ATT = 1
DEF = 2
function ScriptPostLoad()
SetupObjectives()
DisableSmallMapMiniMap()
SetupShields()
SetupDestroyables()
SetupTurrets()
AddAIGoal(REP, "Deathmatch", 100)
AddAIGoal(CIS, "Deathmatch", 100)
SetProperty("cap_box01", "IsVisible", 0)
SetProperty("cap_box01", "IsCollidible ", 0)
PauseAnimation("cis01")
-- Show lights
SetProperty( "rep_eng_lightr", "IsVisible", 0)
SetProperty( "rep_shi_lightr", "IsVisible", 0)
SetProperty( "rep_lif_lightr", "IsVisible", 0)
SetProperty( "cis_eng_lightr", "IsVisible", 0)
SetProperty( "cis_shi_lightr", "IsVisible", 0)
SetProperty( "cis_lif_lightr", "IsVisible", 0)
end
function SetupObjectives()
assault = ObjectiveSpaceAssault:New{
teamATT = REP, teamDEF = CIS,
multiplayerRules = true
}
local repTargets = {
engines = {"Engine1", "Engine2"},
lifesupport = "life_ext_cis",
bridge = "bridge_cis",
comm = "comms_cis",
sensors = "sensors_cis",
frigates = "CIS_mini01",
internalSys = { "life_int_cis", "engine_cis" },
}
local cisTargets = {
engines = "Engine3",
lifesupport = "life_ext_rep",
bridge = "bridge_rep",
comm = "comms_rep",
sensors = "sensors_rep",
frigates = "REP_mini03",
internalSys = { "life_int_rep", "engine_rep" },
}
assault:SetupAllCriticalSystems( "rep", repTargets, true )
assault:SetupAllCriticalSystems( "cis", cisTargets, false )
assault:Start()
-- cis side is open
--BlockPlanningGraphArcs("cis_blk01","cis_blk02")
DisableBarriers("cis_blk01")
DisableBarriers("cis_blk02")
-- rep side is open
--BlockPlanningGraphArcs("rep_blk01","rep_blk02")
DisableBarriers("rep_blk01")
DisableBarriers("rep_blk02")
--rep LAAT open
DisableBarriers("laatbar")
end
function SetupShields()
-- CIS Shielded objects
linkedShieldObjectsCIS = { "Engine1", "Engine2", "life_ext_cis", "sensors_cis", "comms_cis", "bridge_cis", "cis_fly_fedcruiser0",
"cis_fly_fedcruiser2", "cis_fly_fedcruiser3", "cis_fly_fedcruiser4"}
shieldStuffCIS = LinkedShields:New{objs = linkedShieldObjectsCIS, maxShield = 200000, addShield = 1000, controllerObject = "shieldgenCIS"}
shieldStuffCIS:Init()
function shieldStuffCIS:OnAllShieldsDown()
ShowMessageText("level.spa.hangar.shields.atk.down", REP)
ShowMessageText("level.spa.hangar.shields.def.down", CIS)
BroadcastVoiceOver( "ROSMP_obj_16", REP )
BroadcastVoiceOver( "COSMP_obj_17", CIS )
EnableLockOn({"Engine1", "Engine2", "life_ext_cis", "bridge_cis", "comms_cis", "sensors_cis"}, true)
end
function shieldStuffCIS:OnAllShieldsUp()
EnableLockOn({"Engine1", "Engine2", "life_ext_cis", "bridge_cis", "comms_cis", "sensors_cis"}, false)
ShowMessageText("level.spa.hangar.shields.atk.up", REP)
ShowMessageText("level.spa.hangar.shields.def.up", CIS)
BroadcastVoiceOver( "ROSMP_obj_18", REP )
BroadcastVoiceOver( "COSMP_obj_19", CIS )
end
-- REP Shielded objects
linkedShieldObjectsREP = { "sensors_rep", "life_ext_rep", "comms_rep", "rep_cap_assultship0", "rep_cap_assultship2", "rep_cap_assultship3",
"rep_cap_assultship4", "bridge_rep", "Engine3" }
shieldStuffREP = LinkedShields:New{objs = linkedShieldObjectsREP, maxShield = 200000, addShield = 1000, controllerObject = "shieldgenREP"}
shieldStuffREP:Init()
function shieldStuffREP:OnAllShieldsDown()
ShowMessageText("level.spa.hangar.shields.atk.down", CIS)
ShowMessageText("level.spa.hangar.shields.def.down", REP)
BroadcastVoiceOver( "ROSMP_obj_17", REP )
BroadcastVoiceOver( "COSMP_obj_16", CIS )
EnableLockOn({"sensors_rep", "life_ext_rep", "comms_rep", "bridge_rep", "Engine3"}, true)
end
function shieldStuffREP:OnAllShieldsUp()
EnableLockOn({"sensors_rep", "life_ext_rep", "comms_rep", "bridge_rep", "Engine3"}, false)
ShowMessageText("level.spa.hangar.shields.atk.up", CIS)
ShowMessageText("level.spa.hangar.shields.def.up", REP)
BroadcastVoiceOver( "ROSMP_obj_19", REP )
BroadcastVoiceOver( "COSMP_obj_18", CIS )
end
end
function SetupDestroyables()
--CIS destroyables
lifeSupportLinkageCIS = LinkedDestroyables:New{ objectSets = {{"life_int_cis"}, {"life_ext_cis"}} }
lifeSupportLinkageCIS:Init()
engineLinkageCIS = LinkedDestroyables:New{ objectSets = {{"Engine1", "Engine2"}, {"engine_cis"}} }
engineLinkageCIS:Init()
--REP destroyables
lifeSupportLinkageREP = LinkedDestroyables:New{ objectSets = {{"life_int_rep"}, {"life_ext_rep"}} }
lifeSupportLinkageREP:Init()
engineLinkageREP = LinkedDestroyables:New{ objectSets = {{"Engine3"}, {"engine_rep"}} }
engineLinkageREP:Init()
end
function SetupTurrets()
--CIS turrets
LinkedTurretsCIS = LinkedTurrets:New{ team = CIS, mainframe = "cis_main",
turrets = {"cis_obj01","cis_obj02", "cis_obj03", "cis_obj04", "cis_obj05"} }
LinkedTurretsCIS:Init()
function LinkedTurretsCIS:OnDisableMainframe()
ShowMessageText("level.spa.hangar.mainframe.atk.down", REP)
ShowMessageText("level.spa.hangar.mainframe.def.down", CIS)
BroadcastVoiceOver( "ROSMP_obj_20", REP )
BroadcastVoiceOver( "COSMP_obj_21", CIS )
end
function LinkedTurretsCIS:OnEnableMainframe()
ShowMessageText("level.spa.hangar.mainframe.atk.up", REP)
ShowMessageText("level.spa.hangar.mainframe.def.up", CIS)
BroadcastVoiceOver( "ROSMP_obj_22", REP )
BroadcastVoiceOver( "COSMP_obj_23", CIS )
end
--REP turrets
LinkedTurretsREP = LinkedTurrets:New{ team = REP, mainframe = "rep_main",
turrets = {"rep_at01","rep_at02", "rep_at03", "rep_at04", "rep_at05", "rep_at06"} }
LinkedTurretsREP:Init()
function LinkedTurretsREP:OnDisableMainframe()
ShowMessageText("level.spa.hangar.mainframe.atk.down", CIS)
ShowMessageText("level.spa.hangar.mainframe.def.down", REP)
BroadcastVoiceOver( "ROSMP_obj_21", REP )
BroadcastVoiceOver( "COSMP_obj_20", CIS )
end
function LinkedTurretsREP:OnEnableMainframe()
ShowMessageText("level.spa.hangar.mainframe.atk.up", CIS)
ShowMessageText("level.spa.hangar.mainframe.def.up", REP)
BroadcastVoiceOver( "ROSMP_obj_23", REP )
BroadcastVoiceOver( "COSMP_obj_22", CIS )
end
end
function ScriptPreInit()
SetWorldExtents(1900)
end
function ScriptInit()
-- Designers, these two lines *MUST* be first!
StealArtistHeap(300 * 1024)
SetPS2ModelMemory(4900000)
ReadDataFile("ingame.lvl")
SetMinFlyHeight(-1900)
SetMaxFlyHeight(2000)
SetMinPlayerFlyHeight(-1900)
SetMaxPlayerFlyHeight(2000)
SetAIVehicleNotifyRadius(100)
ReadDataFile("sound\\spa.lvl;spa2cw")
ScriptCB_SetDopplerFactor(0.4)
ScaleSoundParameter("tur_weapons", "MinDistance", 3.0);
ScaleSoundParameter("tur_weapons", "MaxDistance", 3.0);
ScaleSoundParameter("tur_weapons", "MuteDistance", 3.0);
ScaleSoundParameter("Ordnance_Large", "MinDistance", 3.0);
ScaleSoundParameter("Ordnance_Large", "MaxDistance", 3.0);
ScaleSoundParameter("Ordnance_Large", "MuteDistance", 3.0);
ScaleSoundParameter("explosion", "MaxDistance", 5.0);
ScaleSoundParameter("explosion", "MuteDistance", 5.0);
ReadDataFile("SIDE\\rep.lvl",
"rep_inf_ep3_pilot",
"rep_inf_ep3_marine",
"rep_fly_assault_dome",
"rep_fly_anakinstarfighter_sc",
"rep_fly_arc170fighter_sc",
"rep_veh_remote_terminal",
"rep_fly_gunship_sc",
"rep_fly_arc170fighter_dome",
"rep_fly_vwing")
ReadDataFile("SIDE\\cis.lvl",
"cis_inf_pilot",
"cis_inf_marine",
"cis_fly_fedlander_dome",
"cis_fly_droidfighter_sc",
"cis_fly_droidfighter_dome",
"cis_fly_greviousfighter",
"cis_fly_droidgunship",
"cis_fly_tridroidfighter")
ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_spa_rep_beam",
"tur_bldg_spa_rep_chaingun",
"tur_bldg_spa_cis_chaingun",
"tur_bldg_spa_cis_recoilless",
"tur_bldg_chaingun_roof")
SetupTeams{
rep = {
team = REP,
units = 32,
reinforcements = -1,
pilot = { "rep_inf_ep3_pilot",26},
marine = { "rep_inf_ep3_marine",6},
},
cis = {
team = CIS,
units = 32,
reinforcements = -1,
pilot = { "cis_inf_pilot",26},
marine = { "cis_inf_marine",6},
}
}
-- Level Stats
ClearWalkers()
local weaponCnt = 240
local guyCnt = 60
SetMemoryPoolSize ("Aimer", 186)
SetMemoryPoolSize ("AmmoCounter", weaponCnt)
SetMemoryPoolSize ("BaseHint", 35)
SetMemoryPoolSize ("CommandFlyer", 2)
SetMemoryPoolSize ("EnergyBar", weaponCnt)
SetMemoryPoolSize ("EntityDroid", 0)
SetMemoryPoolSize ("EntityFlyer", 32)
SetMemoryPoolSize ("EntityLight", 120)
SetMemoryPoolSize ("EntityRemoteTerminal", 12)
SetMemoryPoolSize ("EntitySoundStream", 11)
SetMemoryPoolSize ("EntitySoundStatic", 4)
SetMemoryPoolSize ("FLEffectObject::OffsetMatrix", 165)
SetMemoryPoolSize ("MountedTurret", 48)
SetMemoryPoolSize ("Navigator", 32)
SetMemoryPoolSize ("Obstacle", 120)
SetMemoryPoolSize ("PathFollower", 32)
SetMemoryPoolSize ("PathNode", 48)
SetMemoryPoolSize ("TreeGridStack", 200)
SetMemoryPoolSize ("UnitAgent", 64)
SetMemoryPoolSize ("UnitController", 64)
SetMemoryPoolSize ("Weapon", weaponCnt)
-- load sky dome
local world = "kas"
if ScriptCB_IsMissionSetupSaved() then
local missionSetup = ScriptCB_LoadMissionSetup()
world = missionSetup.world or world
end
ReadDataFile("SPA\\spa_sky.lvl", world)
SetSpawnDelay(10.0, 0.25)
ReadDataFile("spa\\spa3.lvl", "spa3_Obj")
SetDenseEnvironment("false")
AddDeathRegion("deathregionrep")
AddDeathRegion("deathregioncis")
SetParticleLODBias(15000)
-- Sound Stats
voiceSlow = OpenAudioStream("sound\\global.lvl", "spa1_objective_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "rep_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "global_vo_slow", voiceSlow)
voiceQuick = OpenAudioStream("sound\\global.lvl", "spa1_objective_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "rep_unit_vo_quick", voiceQuick)
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_quick", voiceQuick)
OpenAudioStream("sound\\global.lvl", "cw_music")
OpenAudioStream("sound\\spa.lvl", "spa")
OpenAudioStream("sound\\spa.lvl", "spa")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")
-- OpenAudioStream("sound\\tat.lvl", "tat1_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_spa_amb_start", 0,1)
SetAmbientMusic(REP, 0.9, "rep_spa_amb_middle", 1,1)
SetAmbientMusic(REP, 0.1,"rep_spa_amb_end", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_spa_amb_start", 0,1)
SetAmbientMusic(CIS, 0.9, "cis_spa_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.1,"cis_spa_amb_end", 2,1)
SetVictoryMusic(REP, "rep_spa_amb_victory")
SetDefeatMusic (REP, "rep_spa_amb_defeat")
SetVictoryMusic(CIS, "cis_spa_amb_victory")
SetDefeatMusic (CIS, "cis_spa_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
--Space Combat: Battle Over Kashyyyk
AddCameraShot(0.961253, -0.041344, -0.272296, -0.011712, 846.781738, 42.129261, 1632.990479);
AddCameraShot(0.950207, 0.025974, 0.310420, -0.008485, 919.840332, 42.129261, 1735.540771);
AddCameraShot(0.948213, -0.126931, -0.288596, -0.038632, -753.106201, 743.622070, 2686.222900);
AddCameraShot(-0.325839, 0.049463, -0.933437, -0.141696, 2249.083496, 743.622070, -1105.532593);
AddLandingRegion("CP1Control")
AddLandingRegion("CP2Control")
if (gPlatformStr == "PS2") then
ScriptCB_DisableFlyerShadows()
end
end
Hidden/Spoiler:
ucft
{
REQN
{
"config"
"ingame_movies"
}
REQN
{
"script"
"setup_teams"
"gametype_conquest"
"gametype_capture"
"Objective"
"MultiObjectiveContainer"
"ObjectiveCTF"
"ObjectiveAssault"
"ObjectiveSpaceAssault"
"ObjectiveConquest"
"ObjectiveTDM"
"ObjectiveDM"
"ObjectiveOneFlagCTF"
"ObjectiveVIP"
"SoundEvent_ctf"
"ObjectiveGoto"
"LinkedShields"
"LinkedDestroyables"
"LinkedTurrets"
"Ambush"
"PlayMovieWithTransition"
"AIHeroSupport"
}
REQN
{
"lvl"
"ARBg_con"
"ARBc_con"
"ARBg_ctf"
"ARBc_ctf"
"ARBg_1flag"
"ARBc_1flag"
"cor1w_con"
"cor1w_tdm"
"dag1w_con"
"DANg_con"
"DANg_tdm"
"DANg_uber"
"DANc_con"
"DANc_tdm"
"DANc_uber"
"DANc_c"
"DANw_con"
"DANw_hunt"
"DANw_ins"
"DANw_surv"
"DANw_tdm"
"DANw_uber"
"dea1w_con"
"fel1w_con"
"fel1w_tdm"
"fel1w_uber"
"geo1w_con"
"geo1w_uber"
"kam1w_con"
"kam1w_tdm"
"kas2w_con"
"kas2w_hunt"
"kas2w_tdm"
"kas2w_uber"
"mus1w_con"
"mus1w_tdm"
"myg1w_con"
"myg1w_tdm"
"myg1w_uber"
"nab2w_con"
"nab2w_tdm"
"pol1w_con"
"pol1w_tdm"
"spa3w_Diet Dr. Pepper"
"spa6w_Diet Dr. Pepper"
"spa7w_Diet Dr. Pepper"
"tan1w_con"
"tan1w_ins"
"tan1w_tdm"
"tat2w_con"
"tat2w_hunt"
"tat2w_tdm"
"tat3w_con"
"uta1w_con"
"uta1w_tdm"
"yav1w_con"
"yav1w_tdm"
"yav2w_1flag"
"yav2w_con"
"yav2w_tdm"
"yav2w_dm"
"yav2w_wav"
}
}
{
REQN
{
"config"
"ingame_movies"
}
REQN
{
"script"
"setup_teams"
"gametype_conquest"
"gametype_capture"
"Objective"
"MultiObjectiveContainer"
"ObjectiveCTF"
"ObjectiveAssault"
"ObjectiveSpaceAssault"
"ObjectiveConquest"
"ObjectiveTDM"
"ObjectiveDM"
"ObjectiveOneFlagCTF"
"ObjectiveVIP"
"SoundEvent_ctf"
"ObjectiveGoto"
"LinkedShields"
"LinkedDestroyables"
"LinkedTurrets"
"Ambush"
"PlayMovieWithTransition"
"AIHeroSupport"
}
REQN
{
"lvl"
"ARBg_con"
"ARBc_con"
"ARBg_ctf"
"ARBc_ctf"
"ARBg_1flag"
"ARBc_1flag"
"cor1w_con"
"cor1w_tdm"
"dag1w_con"
"DANg_con"
"DANg_tdm"
"DANg_uber"
"DANc_con"
"DANc_tdm"
"DANc_uber"
"DANc_c"
"DANw_con"
"DANw_hunt"
"DANw_ins"
"DANw_surv"
"DANw_tdm"
"DANw_uber"
"dea1w_con"
"fel1w_con"
"fel1w_tdm"
"fel1w_uber"
"geo1w_con"
"geo1w_uber"
"kam1w_con"
"kam1w_tdm"
"kas2w_con"
"kas2w_hunt"
"kas2w_tdm"
"kas2w_uber"
"mus1w_con"
"mus1w_tdm"
"myg1w_con"
"myg1w_tdm"
"myg1w_uber"
"nab2w_con"
"nab2w_tdm"
"pol1w_con"
"pol1w_tdm"
"spa3w_Diet Dr. Pepper"
"spa6w_Diet Dr. Pepper"
"spa7w_Diet Dr. Pepper"
"tan1w_con"
"tan1w_ins"
"tan1w_tdm"
"tat2w_con"
"tat2w_hunt"
"tat2w_tdm"
"tat3w_con"
"uta1w_con"
"uta1w_tdm"
"yav1w_con"
"yav1w_tdm"
"yav2w_1flag"
"yav2w_con"
"yav2w_tdm"
"yav2w_dm"
"yav2w_wav"
}
}
Hidden/Spoiler:
ucft
{
REQN
{
"script"
"spa3w_Diet Dr. Pepper"
}
}
{
REQN
{
"script"
"spa3w_Diet Dr. Pepper"
}
}