Sure they can be done. Examine the mission lua, the number and type of player characters are set there.
The ReadDataFile sets up which meshes the level will need:
ReadDataFile("SIDE\\imp.lvl",
"imp_inf_basic_tie",
"imp_fly_tiefighter",
"imp_inf_darthvader",
"imp_inf_dark_trooper");
so if you want to add something new, make sure it exists in the game's side lvl file, and add it in to the appropriate ReadDataFile.
Next look at Alliance / Imperial Stats, this defines how many of each type of unit will spawn:
-- Imperial Stats
SetTeamName(IMP, "Empire")
SetTeamIcon(IMP, "imp_icon")
AddUnitClass(IMP, "imp_inf_gh_trooper",10)
AddUnitClass(IMP, "imp_inf_shock_trooper",1)
AddUnitClass(IMP, "imp_inf_pilottie",2)
AddUnitClass(IMP, "imp_inf_scout_trooper",2)
AddUnitClass(IMP, "imp_inf_dark_trooper",1)
SetHeroClass(IMP, "imp_inf_darthvader")
Then, check the Attacker / Defender Stats has the same total number of units as called in the above section:
-- Defender Stats
SetUnitCount(DEF, 16)
If you want to change their weapons, you'll either have to hex edit the game lvl files or do this (
http://www.secretsociety.com/forum/display_message.asp?mid=76)