Page 1 of 1

How to Add More than 6 selectable Units to a Map (FAQ)

Posted: Thu Apr 12, 2007 7:08 pm
by phazon_elite
It's actually easier than you might think:

In the SetupTeams, you'll want to add this under the SetHeroClass:

Example:

Code: Select all

    AddUnitClass(REP, "roc_inf_arnhem_rifleman",1, 4)
That's from my Mount Corona LUA.

So just replace that REP with your side name; and replace the roc_inf_arnhem_rifleman with your unit's name.

Hope that helped, although I wrote it in an odd way that confuses me slightly...

Posted: Thu Apr 12, 2007 7:15 pm
by YankFan1950
yea this is what my odf looks like for my rep side for my upcoming kashyyyk :
Hidden/Spoiler:
[quote]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

-- load the gametype script
ScriptCB_DoFile("ObjectiveConquest")
ScriptCB_DoFile("setup_teams")

-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- These variables do not change
ATT = REP;
DEF = CIS;


function ScriptPostLoad()


--This defines the CPs. These need to happen first
cp1 = CommandPost:New{name = "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"}
cp7 = CommandPost:New{name = "cp7"}
cp8 = CommandPost:New{name = "cp8"}


--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:AddCommandPost(cp7)
conquest:AddCommandPost(cp8)

conquest:Start()
SetUberMode(1):
EnableSPHeroRules()

end


---------------------------------------------------------------------------
-- FUNCTION: ScriptInit
-- PURPOSE: This function is only run once
-- INPUT:
-- OUTPUT:
-- NOTES: The name, 'ScriptInit' is a chosen convention, and each
-- mission script must contain a version of this function, as
-- it is called from C to start the mission.
---------------------------------------------------------------------------
function ScriptInit()

ReadDataFile("ingame.lvl")


SetMaxFlyHeight(160)
SetMaxPlayerFlyHeight (160)

SetMemoryPoolSize ("ClothData",20)
SetMemoryPoolSize ("Combo",50) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",650) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",650) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",650) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",550) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",6000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",100) -- should be ~1x #combo

ReadDataFile("sound\\kas.lvl;kas2cw")
ReadDataFile("dc:SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper_felucia",
"rep_inf_ep3_officer",
"rep_inf_ep2_rifleman",
"rep_hover_fightertank",
"rep_inf_ep2_sniper",
"rep_prop_juggernaut",
"imp_cap_stardestroyer",
"imp_cap_stardestroyer2",
"imp_cap_stardestroyer3",
"imp_cap_stardestroyer_hallway",
"imp_cap_stardestroyer_dest_tower",
"rep_inf_ep2_jettrooper",
"rep_inf_ep3_jettrooper",
"rep_walk_atte",
"rep_prop_shipturret",
"rep_fly_cat_dome",
"rep_inf_ep3_marine",
"rep_fly_gunship",
"rep_fly_arc170fighter_sc",
"rep_hero_yoda",
"rep_walk_oneman_atst")
ReadDataFile("dc:SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_fly_gunship",
"cis_inf_engineer",
"cis_walk_spider",
"cis_fly_gunship_dome",
"cis_inf_sniper",
"cis_walk_dwarfspider",
"cis_inf_marine",
"cis_fly_fedlander_dome",
"cis_inf_officer",
"cis_fly_droidgunship",
"cis_inf_droideka",
"cis_hero_grievous",
"cis_tread_snailtank")


ReadDataFile("dc:SIDE\\tur.lvl",
"tur_bldg_beam",
"tur_bldg_recoilless_lg")

SetupTeams{
rep = {
team = REP,
units = 128,
reinforcements = 680,
soldier = { "rep_inf_ep3_rocketeer",10, 10},
assault = { "rep_inf_ep3_engineer",25, 25},
engineer = { "rep_inf_ep3_sniper_felucia",10, 10},
sniper = { "rep_inf_ep3_officer",1, 1},
officer = {"rep_inf_ep3_marine",25, 25},
special = { "rep_inf_ep3_jettrooper",10, 10},
AddUnitClass(REP, "rep_inf_ep3_rifleman",48,48)



},
cis = {
team = CIS,
units = 128,
reinforcements = 650,
soldier = { "cis_inf_rifleman",10,10 },
assault = { "cis_inf_rocketeer",15, 15},
engineer = { "cis_inf_engineer",15, 15},
sniper = { "cis_inf_sniper",15, 15},
officer = {"cis_inf_officer",9, 9},
special = { "cis_inf_droideka",1, 4},
AddUnitClass(CIS, "cis_inf_marine",60,60) }
}

SetHeroClass(CIS, "cis_hero_grievous")
SetHeroClass(REP, "rep_hero_yoda")


-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 8) -- 1x2 (1 pair of legs)
AddWalkerType(2, 10) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 2) -- 3x2 (3 pairs of legs)
local weaponCnt = 1024
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("CommandFlyer", 16)
SetMemoryPoolSize("CommandWalker", 2)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 32)
SetMemoryPoolSize("EntityHover", 32)
SetMemoryPoolSize("EntityLight", 200)
SetMemoryPoolSize("EntitySoundStream", 4)
SetMemoryPoolSize("EntitySoundStatic", 32)
SetMemoryPoolSize("MountedTurret", 32)
SetMemoryPoolSize("Navigator", 128)
SetMemoryPoolSize("Obstacle", 1024)
SetMemoryPoolSize("PathNode", 1024)
SetMemoryPoolSize("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)

SetSpawnDelay(10.0, 0.25)
--ReadDataFile("dc:YYY\\YYY.lvl", "YYY_conquest")
ReadDataFile("dc:YYY\\YYY.lvl", "YYY_conquest")
SetDenseEnvironment("false")

-- Birdies
SetNumBirdTypes(1)
SetBirdType(0,1.0,"bird")

-- Fishies
SetNumFishTypes(1)
SetFishType(0,0.8,"fish")


-- Sound

SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")

voiceSlow = OpenAudioStream("sound\\global.lvl", "rep_unit_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "global_vo_slow", voiceSlow)

voiceQuick = OpenAudioStream("sound\\global.lvl", "rep_unit_vo_quick")
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_quick", voiceQuick)

OpenAudioStream("sound\\global.lvl", "cw_music")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")
OpenAudioStream("sound\\kas.lvl", "kas2")
OpenAudioStream("sound\\kas.lvl", "kas2")
OpenAudioStream("sound\\kas.lvl", "kas2_emt")

SetBleedingVoiceOver(REP, REP, "rep_off_com_report_us_overwhelmed", 1)
SetBleedingVoiceOver(REP, CIS, "rep_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(CIS, REP, "cis_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(CIS, CIS, "cis_off_com_report_us_overwhelmed", 1)

SetOutOfBoundsVoiceOver(2, "cisleaving")
SetOutOfBoundsVoiceOver(1, "repleaving")

SetAmbientMusic(REP, 1.0, "rep_kas_amb_middle", 0,1)
SetAmbientMusic(REP, 0.8, "rep_kas_amb_middle", 1,1)
SetAmbientMusic(REP, 0.2, "rep_kas_amb_middle", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_kas_amb_start", 0,1)
SetAmbientMusic(CIS, 0.8, "cis_kas_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.2, "cis_kas_amb_end", 2,1)

SetVictoryMusic(REP, "rep_kas_amb_victory")
SetDefeatMusic (REP, "rep_kas_amb_defeat")
SetVictoryMusic(CIS, "cis_kas_amb_victory")
SetDefeatMusic (CIS, "cis_kas_amb_defeat")

SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
--SetSoundEffect("BirdScatter", "birdsFlySeq1")
--SetSoundEffect("WeaponUnableSelect", "com_weap_inf_weaponchange_null")
--SetSoundEffect("WeaponModeUnableSelect", "com_weap_inf_modechange_null")
SetSoundEffect("SpawnDisplayUnitChange", "shell_select_unit")
SetSoundEffect("SpawnDisplayUnitAccept", "shell_menu_enter")
SetSoundEffect("SpawnDisplaySpawnPointChange", "shell_select_change")
SetSoundEffect("SpawnDisplaySpawnPointAccept", "shell_menu_enter")
SetSoundEffect("SpawnDisplayBack", "shell_menu_exit")


--OpeningSateliteShot
AddCameraShot(0.908386, -0.209095, -0.352873, -0.081226, -45.922508, -19.114113, 77.022636);

AddCameraShot(-0.481173, 0.024248, -0.875181, -0.044103, 14.767292, -30.602322, -144.506851);
AddCameraShot(0.999914, -0.012495, -0.004416, -0.000055, 1.143253, -33.602314, -76.884430);
AddCameraShot(0.839161, 0.012048, -0.543698, 0.007806, 19.152437, -49.802273, 24.337317);
AddCameraShot(0.467324, 0.006709, -0.883972, 0.012691, 11.825212, -49.802273, -7.000720);
AddCameraShot(0.861797, 0.001786, -0.507253, 0.001051, -11.986043, -59.702248, 23.263165);
AddCameraShot(0.628546, -0.042609, -0.774831, -0.052525, 20.429928, -48.302277, 9.771714);
AddCameraShot(0.765213, -0.051873, 0.640215, 0.043400, 57.692474, -48.302277, 16.540724);
AddCameraShot(0.264032, -0.015285, -0.962782, -0.055734, -16.681797, -42.902290, 129.553268);
AddCameraShot(-0.382320, 0.022132, -0.922222, -0.053386, 20.670977, -42.902290, 135.513001);
end[/quote]
The green bold text is what you need to add with your approiate side and appropiate name but you can only have 7 different types of troops per team

Posted: Thu Apr 12, 2007 7:25 pm
by phazon_elite
Actually, the text can be placed here:

SetupTeams{
rep = {
team = REP,
units = 128,
reinforcements = 680,
soldier = { "rep_inf_ep3_rocketeer",10, 10},
assault = { "rep_inf_ep3_engineer",25, 25},
engineer = { "rep_inf_ep3_sniper_felucia",10, 10},
sniper = { "rep_inf_ep3_officer",1, 1},
officer = {"rep_inf_ep3_marine",25, 25},
special = { "rep_inf_ep3_jettrooper",10, 10},

},
cis = {
team = CIS,
units = 128,
reinforcements = 650,
soldier = { "cis_inf_rifleman",10,10 },
assault = { "cis_inf_rocketeer",15, 15},
engineer = { "cis_inf_engineer",15, 15},
sniper = { "cis_inf_sniper",15, 15},
officer = {"cis_inf_officer",9, 9},
special = { "cis_inf_droideka",1, 4},
}
}

SetHeroClass(CIS, "cis_hero_grievous")
SetHeroClass(REP, "rep_hero_yoda")

AddUnitClass(CIS, "cis_inf_marine",60,60)
AddUnitClass(REP, "rep_inf_ep3_rifleman",48,48)
I think it's easier to do that, but that's my opinion.

Posted: Thu Apr 12, 2007 7:29 pm
by samoosh1
Thanks! :!: :!:

Re: Cant Figure Out How to Add More Than 6 Units To A Map

Posted: Wed Jan 23, 2008 12:49 pm
by MandeRek
Please don´t kill me for bumping this, but i want to add a note. I´ve got an addunit class, which was an hero, and the normal sethero class. I munged it being it like phazon_elite wrote, but the added class had hero properties, while the hero had unit properties but a hero bar, which wasn't working. To get this fixed, put the add unit lines BEFORE the sethero lines, like this:

Code: Select all

special = { "cis_inf_droideka",1, 4},
}
}

AddUnitClass(CIS, "cis_inf_marine",60,60)
AddUnitClass(REP, "rep_inf_ep3_rifleman",48,48)

SetHeroClass(CIS, "cis_hero_grievous")
SetHeroClass(REP, "rep_hero_yoda")

Again sorry for the bump, but i thought this would come handy

Re: Cant Figure Out How to Add More Than 6 Units To A Map

Posted: Wed Jan 23, 2008 1:31 pm
by Teancum
Huh. Nice find. - sometimes programs are picky like that I guess.

Re: Cant Figure Out How to Add More Than 6 Units To A Map

Posted: Wed Jan 23, 2008 4:27 pm
by [RDH]Zerted
You can also change the table in setup_teams.lua to add more units the normal way:
-- list of types
local typeList = { "soldier", "pilot", "assault", "sniper", "marine", "engineer", "officer", "special", "extra1", "extra2", "extra3" }
SetupTeams{
rep = {
team = REP,
units = 128,
reinforcements = 680,
soldier = { "rep_inf_ep3_rocketeer",10, 10},
assault = { "rep_inf_ep3_engineer",25, 25},
engineer = { "rep_inf_ep3_sniper_felucia",10, 10},
sniper = { "rep_inf_ep3_officer",1, 1},
officer = { "rep_inf_ep3_marine",25, 25},
special = { "rep_inf_ep3_jettrooper",10, 10},
extra1 = { "rep_inf_ep3_rifleman",48,48},
},
Edit: oops, didn't notice this was a year old
Edit 2: I've added everything in red. They don't have to be named extra1, extra2, etc.... Name them whatever you want. There is a max limit. I don't remember what it is, but the game crashes when you go over it.

Re: Cant Figure Out How to Add More Than 6 Units To A Map

Posted: Wed Jan 23, 2008 5:07 pm
by The_Emperor
How many different units can you get in one team by doing that?

Re: Cant Figure Out How to Add More Than 6 Units To A Map

Posted: Wed Jan 23, 2008 5:09 pm
by MandeRek
The first quote.. I dunno if HE added that or if it's the max, but with that in (welk geval dan ook) 3, and with AddUnitClass i think as much as you want... Nobody tried 20 you know :P We don't know the exact number i guess...

Re: Cant Figure Out How to Add More Than 6 Units To A Map

Posted: Wed Jan 23, 2008 5:35 pm
by NullCommando
You MUST have a limit of units on the spawn screen or the other units may go off screen. I believe max is 10 or 9 if you have a hero.

Re: Cant Figure Out How to Add More Than 6 Units To A Map

Posted: Thu Jan 24, 2008 1:11 am
by woner11
I Usually max out the number and that number is 9 not including a hero. If you do any more, for me at least the game crashes.

Re: Cant Figure Out How to Add More Than 6 Units To A Map

Posted: Thu Feb 21, 2008 10:46 pm
by commanderalan
i have 10 units and 1 hero

Li

Re: How to Add More than 6 selectable Units to a Map (FAQ)

Posted: Sun May 09, 2010 11:09 am
by Tourny
The max number of units you can have on a team is 10, because any more don't fit on the screen. But in Mos Eisly assault, they somehow fit 12 units on the heroes team.

Re: How to Add More than 6 selectable Units to a Map (FAQ)

Posted: Sat Sep 03, 2016 9:50 pm
by SkinnyODST
NONE of what you guys are saying works for me. I`ve tried all the different methods of adding a unit and none of them do anything

Re: How to Add More than 6 selectable Units to a Map (FAQ)

Posted: Sat Sep 03, 2016 9:59 pm
by AQT
You most likely made a mistake somewhere. In order to help you find the mistake, for each of the different methods you used, please separately post the contents of your Lua file to demonstrate how you implemented the method.

Re: How to Add More than 6 selectable Units to a Map (FAQ)

Posted: Sun Sep 04, 2016 1:24 am
by SkinnyODST
AQT wrote:You most likely made a mistake somewhere. In order to help you find the mistake, for each of the different methods you used, please separately post the contents of your Lua file to demonstrate how you implemented the method.
ALRIGHT. Heres what I did:

All I`m trying to do now is add the rep marine and pilot into the map...for now.

Everything for the rep marine and pilot is already in the side folder so I don`t need to copy and paste anything do I?

So, I`m doing the first and most "easy" method - Adding the code under "SetHeroClass"
Hidden/Spoiler:
ReadDataFile("sound\\yav.lvl;yav1cw")
ReadDataFile("dC:SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep3_jettrooper",
"rep_hover_fightertank",
"rep_hero_anakin",
"rep_hover_barcspeeder")
ReadDataFile("dC:SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_darthmaul",
"cis_hover_aat")


ReadDataFile("dc:SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower")

SetupTeams{
rep = {
team = REP,
units = 20,
reinforcements = 150,
soldier = { "rep_inf_ep3_rifleman",9, 25},
assault = { "rep_inf_ep3_rocketeer",1, 4},
engineer = { "rep_inf_ep3_engineer",1, 4},
sniper = { "rep_inf_ep3_sniper",1, 4},
officer = {"rep_inf_ep3_officer",1, 4},
special = { "rep_inf_ep3_jettrooper",1, 4},
extra1 = { "rep_inf_ep3_rifleman",48,48},

},
cis = {
team = CIS,
units = 20,
reinforcements = 150,
soldier = { "cis_inf_rifleman",9, 25},
assault = { "cis_inf_rocketeer",1, 4},
engineer = { "cis_inf_engineer",1, 4},
sniper = { "cis_inf_sniper",1, 4},
officer = {"cis_inf_officer",1, 4},
special = { "cis_inf_droideka",1, 4},
}
}

SetHeroClass(CIS, "cis_hero_darthmaul")
SetHeroClass(REP, "rep_hero_anakin")

AddUnitClass(REP, "rep_inf_ep3_pilot",2,5)
AddUnitClass(REP, "rep_inf_ep3_marine",2,5)


I then munge common and have even tried munging EVERYTHING after deleting the world from my addon folder. Nothing works, the units still just don`t show up.

Re: How to Add More than 6 selectable Units to a Map (FAQ)

Posted: Sun Sep 04, 2016 4:33 am
by thelegend
I think the reason why none of your added units are in-game is because the game doesn't even know how to load them.

Code: Select all

ReadDataFile("dC:SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep3_jettrooper",
"rep_hover_fightertank",
"rep_hero_anakin",
"rep_hover_barcspeeder")
Where is the pilot and the marine? You need to add them manually inside ReadDataFile. Then it should work unless you didn't include them inside your own side...what you probably already did.

Re: How to Add More than 6 selectable Units to a Map (FAQ)

Posted: Sun Sep 04, 2016 5:54 am
by SkinnyODST
thelegend wrote:I think the reason why none of your added units are in-game is because the game doesn't even know how to load them.

Code: Select all

ReadDataFile("dC:SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep3_jettrooper",
"rep_hover_fightertank",
"rep_hero_anakin",
"rep_hover_barcspeeder")
Where is the pilot and the marine? You need to add them manually inside ReadDataFile. Then it should work unless you didn't include them inside your own side...what you probably already did.
That actually worked! The pilot was there and...Anakin Skywalker for some reason instead of the marine. But now, how would I add a unit from this - viewtopic.php?f=64&t=24475
Into the game? They only come with msh and tga files. I replaced the pilot`s msh with one of them but it didn`t have all the pieces. I put ".msh" after it and the game crashes.

This is the code:
Hidden/Spoiler:
ReadDataFile("sound\\yav.lvl;yav1cw")
ReadDataFile("dC:SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep3_jettrooper",
"rep_hover_fightertank",
"rep_hero_anakin",
"rep_inf_JKA_Clone_Commando_Boss",
"rep_hover_barcspeeder")
ReadDataFile("dC:SIDE\\cis.lvl",
"cis_inf_rifleman",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_darthmaul",
"cis_hover_aat")


ReadDataFile("dc:SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower")

SetupTeams{
rep = {
team = REP,
units = 20,
reinforcements = 150,
soldier = { "rep_inf_ep3_rifleman",9, 25},
assault = { "rep_inf_ep3_rocketeer",1, 4},
engineer = { "rep_inf_ep3_engineer",1, 4},
sniper = { "rep_inf_ep3_sniper",1, 4},
officer = {"rep_inf_ep3_officer",1, 4},
special = { "rep_inf_ep3_jettrooper",1, 4},
extra1 = { "rep_inf_JKA_Clone_Commando_Boss",2,5},

},
cis = {
team = CIS,
units = 20,
reinforcements = 150,
soldier = { "cis_inf_rifleman",9, 25},
assault = { "cis_inf_rocketeer",1, 4},
engineer = { "cis_inf_engineer",1, 4},
sniper = { "cis_inf_sniper",1, 4},
officer = {"cis_inf_officer",1, 4},
special = { "cis_inf_droideka",1, 4},
}
}

SetHeroClass(CIS, "cis_hero_darthmaul")
SetHeroClass(REP, "rep_hero_anakin")

AddUnitClass(REP, "rep_inf_JKA_Clone_Commando_Boss",2,5)