Re: Custom Galactic Conquest Crash [Solved]
Posted: Sun Jun 15, 2014 7:52 am
by Deviss
EDIT: Glory to the Hero!!!, you got it work perfect[RDH]Zerted wrote:Thanks.
Actually I think that "zer" to "abc" change might fix the problem. Looking at LoadState(), pairs() is used with this.activeBonus and this.controllerTeam. this.activeBonus is item 20 which is an empty table so that's fine. this.controllerTeam is commented out so it's likely nil. The ifs_freeform_controllers() inside ifs_freeform_start_abc() might set the proper this.controllerTeam, but ifs_freeform_start_abc() is never called because this line: local start = _G["ifs_freeform_start_" .. this.scenario] tries to find a function called ifs_freeform_start_zer instead of your ifs_freeform_start_abc.![]()
Make the change, munge, and delete your saved campaign (if you saved it) then retest. If that doesn't work. Post all your updated files and log again as well as ifs_freeform_controller.lua.
ifs_freeform_init_abc
Hidden/Spoiler:
[code]-- initialize for Zer War
print("ifs_freeform_init_abc.lua")
ifs_freeform_init_abc = function(this, REP, CIS)
print("ifs_freeform_init_abc: ifs_freeform_init_abc()")
-- common init
ifs_freeform_init_common(this)
--replacing this table from init_common, by [RDH]Zerted
-- per-planet camera offsets
this.cameraOffset = {
["cor"] = { 0, 1, 1 },
["dag"] = { 0, 1, 1 },
["fel"] = { 0, 1, 1 },
["geo"] = { 0, 1, 1 },
["kas"] = { 0, 1, 1 },
["kam"] = { 0, 1, 1 },
["mus"] = { 0, 1, 1 },
["myg"] = { 0, 1, 1 },
["nab"] = { 0, 1, 1 },
["pol"] = { 0, 1, 1 },
["tat"] = { 0, 1, 1 },
["uta"] = { 0, 1, 1 },
["yav"] = { 0, 1, 1 },
}
-- default victory condition (take all planets)
this:SetVictoryPlanetLimit(nil)
-- associate codes with teams
this.teamCode = {
[REP] = "rep",
[CIS] = "cis"
}
ifs_purchase_unit_types = { "soldier", "pilot", "assault", "assault2", "sniper", "sniper2", "marine", "marine2", "engineer2", "engineer", "officer", "officer2", "special2", "special", "commander2", "commander" }
ifs_purchase_unit_name = {
soldier = "rifleman",
pilot = "pilot",
assault = "rocketeer",
sniper = "sniper",
marine = "marine",
engineer = "engineer",
officer = "officer",
special = "special",
commander = "commander",
}
ifs_purchase_unit_cost = {
soldier = 0,
pilot = 0,
assault = 0,
sniper = 0,
marine = 30,
engineer = 40,
officer = 40,
special = 50,
commander = 10,
pilot2 = 0,
assault2 = 0,
sniper2 = 0,
marine2 = 0,
engineer2 = 0,
officer2 = 0,
special2 = 0,
commander2 = 0,
}
orden_anim_set = {
animbanks = { "orden" },
unselected = "orden_sabre_stand_idle_emote_full",
select_start = "orden_sabre_stand_idle_emote_full",
select_loop = "orden_sabre_stand_idle_emote_full",
}
rifle_anim_set = {
animbanks = { "human_0" },
unselected = "human_rifle_standalert_idle_emote_full",
select_start = "human_rifle_stand_idle_lookaround_full",
select_loop = "human_rifle_stand_idle_checkweapon_full",
}
bazooka_anim_set = {
animbanks = { "human_0", "human_2" },
unselected = { upper = "human_bazooka_stand_idle_emote", lower = "human_rifle_stand_idle_emote_full" },
select_start = "human_bazooka_stand_idle_lookaround",
select_loop = { upper = "human_bazooka_stand_idle_emote", lower = "human_rifle_stand_idle_emote_full" },
}
marksperson_anim_set = {
animbanks = { "marksperson", "human_0" },
--unselected = "human_rifle_crouch_idle_emote_full",
unselected = { upper = "human_rifle_stand_idle_emote_full", lower = "human_rifle_stand_idle_emote_full" },
select_start = "human_rifle_stand_idle_lookaround_full",
select_loop = { upper = "human_rifle_stand_idle_emote_full", lower = "human_rifle_stand_idle_emote_full" },
}
wookiee_anim_set = {
animbanks = { "wookie", "human_0" },
unselected = { upper = "human_rifle_stand_idle_emote_full", lower = "human_rifle_stand_idle_emote_full" },
select_start = "human_rifle_stand_idle_lookaround_full",
select_loop = { upper = "human_rifle_stand_idle_emote_full", lower = "human_rifle_stand_idle_emote_full" },
}
bdroid_rifle_anim_set = {
animbanks = { "bdroid", "human_0" },
unselected = "human_rifle_stand_idle_emote_full",
select_start = "human_rifle_stand_idle_lookaround_full",
select_loop = "human_rifle_stand_idle_emote_full",
}
bdroid_bazooka_anim_set = {
animbanks = { "bdroid", "human_0", "human_2" },
unselected = { upper = "human_bazooka_stand_idle_emote", lower = "human_rifle_stand_idle_emote_full" },
select_start = "human_bazooka_stand_idle_lookaround",
select_loop = { upper = "human_bazooka_stand_idle_emote", lower = "human_rifle_stand_idle_emote_full" },
}
sbdroid_anim_set = {
animbanks = { "sbdroid", "human_0" },
unselected = { upper = "sbdroid_rifle_stand_idle_emote", lower = "human_rifle_stand_idle_emote_full" },
select_start = "sbdroid_rifle_standalert_idle_emote",
select_loop = { upper = "sbdroid_rifle_stand_idle_emote", lower = "human_rifle_stand_idle_emote_full" },
}
magnaguard_anim_set = {
animbanks = { "magnaguard", "human_0" },
unselected = { upper = "human_rifle_stand_idle_emote_full", lower = "human_rifle_stand_idle_emote_full" },
select_start = "human_rifle_stand_idle_lookaround_full",
select_loop = { upper = "human_rifle_stand_idle_emote_full", lower = "human_rifle_stand_idle_emote_full" },
}
droideka_anim_set = {
animbanks = { "cis_walk_droideka" },
unselected = "fold",
unselected_oneshot = 1,
select_start = "unfold",
select_loop = "idle",
}
-- sound formats
ifs_purchase_team_table = {
rep = {
file = "..\\..\\addon\\ABC\\data\\_LVL_PC\\SIDE\\DEV.lvl",
classes = {
soldier = {
name = "entity.rep.clone1",
info = "ifs.freeform.purchase.military.sides.rep.clone1",
sound = "mtg_rep_unit_name_rifleman",
body = "rep_inf_ep3trooper",
weapon = nil,
anim_set = orden_anim_set
},
pilot = {
name = "entity.rep.clone2",
info = "ifs.freeform.purchase.military.sides.rep.clone2",
sound = "mtg_rep_unit_name_pilot",
body = "rep_inf_ep3heavytrooper",
weapon = nil,
anim_set = orden_anim_set
},
assault = {
name = "entity.rep.clone3",
info = "ifs.freeform.purchase.military.sides.rep.clone3",
sound = "mtg_rep_unit_name_rocketeer",
body = "rep_inf_ep3sniper",
weapon = nil,
anim_set = orden_anim_set
},
assault2 = {
name = "entity.rep.clone3",
info = "ifs.freeform.purchase.military.sides.rep.clone3",
sound = "mtg_rep_unit_name_rocketeer",
body = "rep_inf_Death_Star_Gunner",
weapon = nil,
anim_set = orden_anim_set
},
sniper = {
name = "entity.rep.clone4",
info = "ifs.freeform.purchase.military.sides.rep.clone4",
sound = "mtg_rep_unit_name_sniper",
body = "rep_inf_ep3_Clone_Commander_Faie",
weapon = nil,
anim_set = orden_anim_set
},
sniper2 = {
name = "entity.rep.clone4",
info = "ifs.freeform.purchase.military.sides.rep.clone4",
sound = "mtg_rep_unit_name_sniper",
body = "rep_inf_Clone_Marshall",
weapon = nil,
anim_set = orden_anim_set
},
marine = {
name = "entity.rep.clone5",
info = "ifs.freeform.purchase.military.sides.rep.clone5",
sound = "mtg_rep_unit_name_marine",
body = "rep_inf_Mandalorian_Soldier",
weapon = nil,
anim_set = orden_anim_set
},
marine2 = {
name = "entity.rep.clone5",
info = "ifs.freeform.purchase.military.sides.rep.clone5",
sound = "mtg_rep_unit_name_marine",
body = "rep_inf_AT-RT_Driver",
weapon = nil,
anim_set = orden_anim_set
},
engineer2 = {
name = "entity.rep.clone6",
info = "ifs.freeform.purchase.military.sides.rep.clone6",
sound = "mtg_rep_unit_name_engineer",
body = "rep_inf_TCW_ARF_Recon_Trooper",
weapon = nil,
anim_set = orden_anim_set
},
engineer = {
name = "entity.rep.clone6",
info = "ifs.freeform.purchase.military.sides.rep.clone6",
sound = "mtg_rep_unit_name_engineer",
body = "rep_inf_ARF_trooper",
weapon = nil,
anim_set = orden_anim_set
},
officer = {
name = "entity.rep.clone7",
info = "ifs.freeform.purchase.military.sides.rep.clone7",
sound = "mtg_rep_unit_name_officer",
body = "rep_inf_ARC_Trooper",
weapon = nil,
anim_set = orden_anim_set
},
officer2 = {
name = "entity.rep.clone7",
info = "ifs.freeform.purchase.military.sides.rep.clone7",
sound = "mtg_rep_unit_name_officer",
body = "rep_inf_SandTrooper",
weapon = nil,
anim_set = orden_anim_set
},
special2 = {
name = "entity.rep.clone8",
info = "ifs.freeform.purchase.military.sides.rep.clone8",
sound = "mtg_rep_unit_name_special",
body = "rep_inf_Republic_Clone_Commando",
weapon = nil,
anim_set = orden_anim_set
},
special = {
name = "entity.rep.clone8",
info = "ifs.freeform.purchase.military.sides.rep.clone8",
sound = "mtg_rep_unit_name_special",
body = "imp_inf_Phase3_Imperial_Commando",
weapon = nil,
anim_set = orden_anim_set
},
commander2 = {
name = "entity.rep.clone9",
info = "ifs.freeform.purchase.military.sides.rep.clone9",
sound = "mtg_rep_unit_name_marine",
body = "rep_inf_TCW_ARC_Trooper_Fives_Phase2",
weapon = nil,
anim_set = orden_anim_set
},
commander = {
name = "entity.rep.clone9",
info = "ifs.freeform.purchase.military.sides.rep.clone9",
sound = "mtg_rep_unit_name_marine",
body = "rep_inf_ep3_clone_commander",
weapon = nil,
anim_set = orden_anim_set
},
}
},
cis = {
file = "side\\cisshell.lvl",
classes = {
soldier = {
name = "entity.cis.droid1",
info = "ifs.freeform.purchase.military.sides.cis.soldier",
sound = "mtg_cis_unit_name_rifleman",
body = "cis_inf_sbdroid",
weapon = nil,
anim_set = sbdroid_anim_set
},
pilot = {
name = "entity.cis.droid2",
info = "ifs.freeform.purchase.military.sides.cis.pilot",
sound = "mtg_cis_unit_name_pilot",
body = "cis_inf_bdroid",
weapon = "cis_weap_inf_pistol",
anim_set = bdroid_rifle_anim_set
},
assault = {
name = "entity.cis.droid3",
info = "ifs.freeform.purchase.military.sides.cis.assault",
sound = "mtg_cis_unit_name_rocketeer",
body = "cis_inf_bdroid",
weapon = "cis_weap_inf_launcher",
anim_set = bdroid_bazooka_anim_set
},
sniper = {
name = "entity.cis.droid4",
info = "ifs.freeform.purchase.military.sides.cis.sniper",
sound = "mtg_cis_unit_name_sniper",
body = "cis_inf_bdroid",
weapon = "cis_weap_inf_sniperrifle",
anim_set = bdroid_rifle_anim_set
},
marine = {
name = "entity.cis.droid5",
info = "ifs.freeform.purchase.military.sides.cis.marine",
sound = "mtg_cis_unit_name_marine",
body = "cis_inf_bdroid",
weapon = "cis_weap_inf_rifle",
anim_set = bdroid_rifle_anim_set
},
engineer = {
name = "entity.cis.droid6",
info = "ifs.freeform.purchase.military.sides.cis.engineer",
sound = "mtg_cis_unit_name_engineer",
body = "cis_inf_bdroid",
weapon = "cis_weap_inf_pistol",
anim_set = bdroid_rifle_anim_set
},
officer = {
name = "entity.cis.droid7",
info = "ifs.freeform.purchase.military.sides.cis.officer",
sound = "mtg_cis_unit_name_officer",
body = "cis_inf_magnaguard",
weapon = "com_weap_inf_torpedo",
anim_set = magnaguard_anim_set
},
special = {
name = "entity.cis.droid8",
info = "ifs.freeform.purchase.military.sides.cis.special",
sound = "mtg_cis_unit_name_special",
body = "cis_walk_droideka",
weapon = nil,
anim_set = droideka_anim_set
},
commander = {
name = "entity.cis.droid9",
info = "ifs.freeform.purchase.military.sides.cis.marine",
sound = "mtg_cis_unit_name_marine",
body = "cis_inf_bdroid",
weapon = "cis_weap_inf_rifle",
anim_set = bdroid_rifle_anim_set
},
}
}
}
-- owned units
ifs_purchase_unit_owned = {
[1] = { soldier = true, commander2 = true, commander = true },
[2] = { soldier = true, commander = true }
}
-- use Zer setup
this.Setup = function(this)
print("ifs_freeform_init_abc: ifs_freeform_init_abc(): Setup()")
-- remove unused planets
print("ifs_freeform_init_abc: ifs_freeform_init_abc(): Setup(): Removing unused planets")
DeleteEntity("end")
DeleteEntity("hot")
DeleteEntity("end_system")
DeleteEntity("hot_system")
DeleteEntity("kam_star")
DeleteEntity("geo_star")
DeleteEntity("tantive")
-- create the connectivity graph
this.planetDestination = {
["cor"] = { "star20", "myg", "star17" },
["dag"] = { "star05", "star06", "nab" },
-- ["end_star"] = { "star20", "star18" },
["fel"] = { "star13", "yav"},
["geo"] = { "star07", "tat" },
-- ["hot_star"] = { "star01", "star02" },
["kas"] = { "star12", "star13", "star15", "star17" },
["kam"] = { "star12", "star13", "tat" },
["mus"] = { "star02", "star04", "star05" },
["myg"] = { "star17", "cor", "star15" },
["nab"] = { "star07", "star12", "star17", "dag" },
["pol"] = { "star04", "star02" },
["tat"] = { "geo", "kam" },
["uta"] = { "star04", "star05", "star06" },
["yav"] = { "star15", "fel" },
-- ["star01"] = { "end_star", "star02" },
["star02"] = { "mus", "star20", "pol" },
-- ["star03"] = { "hot_star", "pol" },
["star04"] = { "mus", "pol", "uta" },
["star05"] = { "mus", "uta", "dag" },
["star06"] = { "uta", "dag", "star07" },
["star07"] = { "nab", "geo", "star06" },
-- ["star08"] = { "star06", "geo" },
-- ["star09"] = { "tat", "geo" },
-- ["star10"] = { "star12", "geo", "tat" },
-- ["star11"] = { "tat", "kam" },
["star12"] = { "kam", "nab", "kas" },
["star13"] = { "kas", "kam", "fel" },
-- ["star14"] = { "fel", "yav" },
["star15"] = { "kas", "yav", "myg" },
-- ["star16"] = { "yav", "myg" },
["star17"] = { "cor", "myg", "kas", "nab" },
-- ["star18"] = { "cor", "myg" },
-- ["star19"] = { "end_star", "star18" },
["star20"] = { "star02", "cor" }
}
-- resource value for each planet
this.planetValue = {
["cor"] = { victory = 60, defeat = 20, turn = 3 },
["dag"] = { victory = 50, defeat = 20, turn = 3 },
["fel"] = { victory = 50, defeat = 20, turn = 3 },
["geo"] = { victory = 100, defeat = 35, turn = 10 },
["kas"] = { victory = 50, defeat = 20, turn = 3 },
["kam"] = { victory = 100, defeat = 35, turn = 10 },
["mus"] = { victory = 60, defeat = 20, turn = 3 },
["myg"] = { victory = 50, defeat = 20, turn = 3 },
["nab"] = { victory = 60, defeat = 20, turn = 3 },
["pol"] = { victory = 50, defeat = 20, turn = 3 },
["tat"] = { victory = 50, defeat = 20, turn = 3 },
["uta"] = { victory = 60, defeat = 20, turn = 3 },
["yav"] = { victory = 50, defeat = 20, turn = 3 },
}
this.spaceValue = {
victory = 50, defeat = 20,
}
-- mission to launch for each planet
this.spaceMission = {
["con"] = { "spa3c_Diet Dr. Pepper", "spa6c_Diet Dr. Pepper", "spa7c_Diet Dr. Pepper" }
}
this.planetMission = {
["cor"] = {
["con"] = "cor1y_con",
},
["dag"] = {
["con"] = "dag1y_con",
},
["fel"] = {
["con"] = "fel1y_con",
},
["geo"] = {
["con"] = "geo1y_con",
},
["kam"] = {
["con"] = "kam1y_con",
},
["kas"] = {
["con"] = "kas2y_con",
},
["mus"] = {
["con"] = "mus1y_con",
},
["myg"] = {
["con"] = "myg1y_con",
},
["nab"] = {
["con"] = "nab2y_con",
},
["pol"] = {
["con"] = "pol1y_con",
},
["tat"] = {
["con"] = "tat2y_con",
},
["uta"] = {
["con"] = "uta1y_con",
},
["yav"] = {
["con"] = "yav1y_con",
},
}
-- associate names with teams
this.teamName = {
[REP] = "common.sides.rep.name",
[CIS] = "common.sides.cis.name"
}
-- associate names with team bases
this.baseName = {
[REP] = "ifs.freeform.base.rep",
[CIS] = "ifs.freeform.base.cis"
}
-- associate names with team fleets
this.fleetName = {
[REP] = "ifs.freeform.fleet.rep",
[CIS] = "ifs.freeform.fleet.cis"
}
-- associate entity class with team fleets
this.fleetClass = {
[REP] = "gal_prp_assaultship",
[CIS] = "gal_prp_fedcruiser"
}
-- associate icon textures with team fleets
this.fleetIcon = {
[REP] = "rep_fleet_normal_icon",
[CIS] = "cis_fleet_normal_icon"
}
this.fleetStroke = {
[REP] = "rep_fleet_normal_stroke",
[CIS] = "cis_fleet_normal_stroke"
}
-- set the explosion effect for each team
this.fleetExplosion = {
[REP] = "gal_sfx_assaultship_exp",
[CIS] = "gal_sfx_fedcruiser_exp"
}
-- team base planets
this.planetBase = {
[REP] = "kam",
[CIS] = "geo",
}
-- team potential starting locations
this.planetStart = {
[REP] = { "cor", "kam", "nab" },
[CIS] = { "geo", "uta", "mus" }
}
print("ifs_freeform_init_abc: ifs_freeform_init_abc(): Setup(): Finished")
end
end
[/code]
print("ifs_freeform_init_abc.lua")
ifs_freeform_init_abc = function(this, REP, CIS)
print("ifs_freeform_init_abc: ifs_freeform_init_abc()")
-- common init
ifs_freeform_init_common(this)
--replacing this table from init_common, by [RDH]Zerted
-- per-planet camera offsets
this.cameraOffset = {
["cor"] = { 0, 1, 1 },
["dag"] = { 0, 1, 1 },
["fel"] = { 0, 1, 1 },
["geo"] = { 0, 1, 1 },
["kas"] = { 0, 1, 1 },
["kam"] = { 0, 1, 1 },
["mus"] = { 0, 1, 1 },
["myg"] = { 0, 1, 1 },
["nab"] = { 0, 1, 1 },
["pol"] = { 0, 1, 1 },
["tat"] = { 0, 1, 1 },
["uta"] = { 0, 1, 1 },
["yav"] = { 0, 1, 1 },
}
-- default victory condition (take all planets)
this:SetVictoryPlanetLimit(nil)
-- associate codes with teams
this.teamCode = {
[REP] = "rep",
[CIS] = "cis"
}
ifs_purchase_unit_types = { "soldier", "pilot", "assault", "assault2", "sniper", "sniper2", "marine", "marine2", "engineer2", "engineer", "officer", "officer2", "special2", "special", "commander2", "commander" }
ifs_purchase_unit_name = {
soldier = "rifleman",
pilot = "pilot",
assault = "rocketeer",
sniper = "sniper",
marine = "marine",
engineer = "engineer",
officer = "officer",
special = "special",
commander = "commander",
}
ifs_purchase_unit_cost = {
soldier = 0,
pilot = 0,
assault = 0,
sniper = 0,
marine = 30,
engineer = 40,
officer = 40,
special = 50,
commander = 10,
pilot2 = 0,
assault2 = 0,
sniper2 = 0,
marine2 = 0,
engineer2 = 0,
officer2 = 0,
special2 = 0,
commander2 = 0,
}
orden_anim_set = {
animbanks = { "orden" },
unselected = "orden_sabre_stand_idle_emote_full",
select_start = "orden_sabre_stand_idle_emote_full",
select_loop = "orden_sabre_stand_idle_emote_full",
}
rifle_anim_set = {
animbanks = { "human_0" },
unselected = "human_rifle_standalert_idle_emote_full",
select_start = "human_rifle_stand_idle_lookaround_full",
select_loop = "human_rifle_stand_idle_checkweapon_full",
}
bazooka_anim_set = {
animbanks = { "human_0", "human_2" },
unselected = { upper = "human_bazooka_stand_idle_emote", lower = "human_rifle_stand_idle_emote_full" },
select_start = "human_bazooka_stand_idle_lookaround",
select_loop = { upper = "human_bazooka_stand_idle_emote", lower = "human_rifle_stand_idle_emote_full" },
}
marksperson_anim_set = {
animbanks = { "marksperson", "human_0" },
--unselected = "human_rifle_crouch_idle_emote_full",
unselected = { upper = "human_rifle_stand_idle_emote_full", lower = "human_rifle_stand_idle_emote_full" },
select_start = "human_rifle_stand_idle_lookaround_full",
select_loop = { upper = "human_rifle_stand_idle_emote_full", lower = "human_rifle_stand_idle_emote_full" },
}
wookiee_anim_set = {
animbanks = { "wookie", "human_0" },
unselected = { upper = "human_rifle_stand_idle_emote_full", lower = "human_rifle_stand_idle_emote_full" },
select_start = "human_rifle_stand_idle_lookaround_full",
select_loop = { upper = "human_rifle_stand_idle_emote_full", lower = "human_rifle_stand_idle_emote_full" },
}
bdroid_rifle_anim_set = {
animbanks = { "bdroid", "human_0" },
unselected = "human_rifle_stand_idle_emote_full",
select_start = "human_rifle_stand_idle_lookaround_full",
select_loop = "human_rifle_stand_idle_emote_full",
}
bdroid_bazooka_anim_set = {
animbanks = { "bdroid", "human_0", "human_2" },
unselected = { upper = "human_bazooka_stand_idle_emote", lower = "human_rifle_stand_idle_emote_full" },
select_start = "human_bazooka_stand_idle_lookaround",
select_loop = { upper = "human_bazooka_stand_idle_emote", lower = "human_rifle_stand_idle_emote_full" },
}
sbdroid_anim_set = {
animbanks = { "sbdroid", "human_0" },
unselected = { upper = "sbdroid_rifle_stand_idle_emote", lower = "human_rifle_stand_idle_emote_full" },
select_start = "sbdroid_rifle_standalert_idle_emote",
select_loop = { upper = "sbdroid_rifle_stand_idle_emote", lower = "human_rifle_stand_idle_emote_full" },
}
magnaguard_anim_set = {
animbanks = { "magnaguard", "human_0" },
unselected = { upper = "human_rifle_stand_idle_emote_full", lower = "human_rifle_stand_idle_emote_full" },
select_start = "human_rifle_stand_idle_lookaround_full",
select_loop = { upper = "human_rifle_stand_idle_emote_full", lower = "human_rifle_stand_idle_emote_full" },
}
droideka_anim_set = {
animbanks = { "cis_walk_droideka" },
unselected = "fold",
unselected_oneshot = 1,
select_start = "unfold",
select_loop = "idle",
}
-- sound formats
ifs_purchase_team_table = {
rep = {
file = "..\\..\\addon\\ABC\\data\\_LVL_PC\\SIDE\\DEV.lvl",
classes = {
soldier = {
name = "entity.rep.clone1",
info = "ifs.freeform.purchase.military.sides.rep.clone1",
sound = "mtg_rep_unit_name_rifleman",
body = "rep_inf_ep3trooper",
weapon = nil,
anim_set = orden_anim_set
},
pilot = {
name = "entity.rep.clone2",
info = "ifs.freeform.purchase.military.sides.rep.clone2",
sound = "mtg_rep_unit_name_pilot",
body = "rep_inf_ep3heavytrooper",
weapon = nil,
anim_set = orden_anim_set
},
assault = {
name = "entity.rep.clone3",
info = "ifs.freeform.purchase.military.sides.rep.clone3",
sound = "mtg_rep_unit_name_rocketeer",
body = "rep_inf_ep3sniper",
weapon = nil,
anim_set = orden_anim_set
},
assault2 = {
name = "entity.rep.clone3",
info = "ifs.freeform.purchase.military.sides.rep.clone3",
sound = "mtg_rep_unit_name_rocketeer",
body = "rep_inf_Death_Star_Gunner",
weapon = nil,
anim_set = orden_anim_set
},
sniper = {
name = "entity.rep.clone4",
info = "ifs.freeform.purchase.military.sides.rep.clone4",
sound = "mtg_rep_unit_name_sniper",
body = "rep_inf_ep3_Clone_Commander_Faie",
weapon = nil,
anim_set = orden_anim_set
},
sniper2 = {
name = "entity.rep.clone4",
info = "ifs.freeform.purchase.military.sides.rep.clone4",
sound = "mtg_rep_unit_name_sniper",
body = "rep_inf_Clone_Marshall",
weapon = nil,
anim_set = orden_anim_set
},
marine = {
name = "entity.rep.clone5",
info = "ifs.freeform.purchase.military.sides.rep.clone5",
sound = "mtg_rep_unit_name_marine",
body = "rep_inf_Mandalorian_Soldier",
weapon = nil,
anim_set = orden_anim_set
},
marine2 = {
name = "entity.rep.clone5",
info = "ifs.freeform.purchase.military.sides.rep.clone5",
sound = "mtg_rep_unit_name_marine",
body = "rep_inf_AT-RT_Driver",
weapon = nil,
anim_set = orden_anim_set
},
engineer2 = {
name = "entity.rep.clone6",
info = "ifs.freeform.purchase.military.sides.rep.clone6",
sound = "mtg_rep_unit_name_engineer",
body = "rep_inf_TCW_ARF_Recon_Trooper",
weapon = nil,
anim_set = orden_anim_set
},
engineer = {
name = "entity.rep.clone6",
info = "ifs.freeform.purchase.military.sides.rep.clone6",
sound = "mtg_rep_unit_name_engineer",
body = "rep_inf_ARF_trooper",
weapon = nil,
anim_set = orden_anim_set
},
officer = {
name = "entity.rep.clone7",
info = "ifs.freeform.purchase.military.sides.rep.clone7",
sound = "mtg_rep_unit_name_officer",
body = "rep_inf_ARC_Trooper",
weapon = nil,
anim_set = orden_anim_set
},
officer2 = {
name = "entity.rep.clone7",
info = "ifs.freeform.purchase.military.sides.rep.clone7",
sound = "mtg_rep_unit_name_officer",
body = "rep_inf_SandTrooper",
weapon = nil,
anim_set = orden_anim_set
},
special2 = {
name = "entity.rep.clone8",
info = "ifs.freeform.purchase.military.sides.rep.clone8",
sound = "mtg_rep_unit_name_special",
body = "rep_inf_Republic_Clone_Commando",
weapon = nil,
anim_set = orden_anim_set
},
special = {
name = "entity.rep.clone8",
info = "ifs.freeform.purchase.military.sides.rep.clone8",
sound = "mtg_rep_unit_name_special",
body = "imp_inf_Phase3_Imperial_Commando",
weapon = nil,
anim_set = orden_anim_set
},
commander2 = {
name = "entity.rep.clone9",
info = "ifs.freeform.purchase.military.sides.rep.clone9",
sound = "mtg_rep_unit_name_marine",
body = "rep_inf_TCW_ARC_Trooper_Fives_Phase2",
weapon = nil,
anim_set = orden_anim_set
},
commander = {
name = "entity.rep.clone9",
info = "ifs.freeform.purchase.military.sides.rep.clone9",
sound = "mtg_rep_unit_name_marine",
body = "rep_inf_ep3_clone_commander",
weapon = nil,
anim_set = orden_anim_set
},
}
},
cis = {
file = "side\\cisshell.lvl",
classes = {
soldier = {
name = "entity.cis.droid1",
info = "ifs.freeform.purchase.military.sides.cis.soldier",
sound = "mtg_cis_unit_name_rifleman",
body = "cis_inf_sbdroid",
weapon = nil,
anim_set = sbdroid_anim_set
},
pilot = {
name = "entity.cis.droid2",
info = "ifs.freeform.purchase.military.sides.cis.pilot",
sound = "mtg_cis_unit_name_pilot",
body = "cis_inf_bdroid",
weapon = "cis_weap_inf_pistol",
anim_set = bdroid_rifle_anim_set
},
assault = {
name = "entity.cis.droid3",
info = "ifs.freeform.purchase.military.sides.cis.assault",
sound = "mtg_cis_unit_name_rocketeer",
body = "cis_inf_bdroid",
weapon = "cis_weap_inf_launcher",
anim_set = bdroid_bazooka_anim_set
},
sniper = {
name = "entity.cis.droid4",
info = "ifs.freeform.purchase.military.sides.cis.sniper",
sound = "mtg_cis_unit_name_sniper",
body = "cis_inf_bdroid",
weapon = "cis_weap_inf_sniperrifle",
anim_set = bdroid_rifle_anim_set
},
marine = {
name = "entity.cis.droid5",
info = "ifs.freeform.purchase.military.sides.cis.marine",
sound = "mtg_cis_unit_name_marine",
body = "cis_inf_bdroid",
weapon = "cis_weap_inf_rifle",
anim_set = bdroid_rifle_anim_set
},
engineer = {
name = "entity.cis.droid6",
info = "ifs.freeform.purchase.military.sides.cis.engineer",
sound = "mtg_cis_unit_name_engineer",
body = "cis_inf_bdroid",
weapon = "cis_weap_inf_pistol",
anim_set = bdroid_rifle_anim_set
},
officer = {
name = "entity.cis.droid7",
info = "ifs.freeform.purchase.military.sides.cis.officer",
sound = "mtg_cis_unit_name_officer",
body = "cis_inf_magnaguard",
weapon = "com_weap_inf_torpedo",
anim_set = magnaguard_anim_set
},
special = {
name = "entity.cis.droid8",
info = "ifs.freeform.purchase.military.sides.cis.special",
sound = "mtg_cis_unit_name_special",
body = "cis_walk_droideka",
weapon = nil,
anim_set = droideka_anim_set
},
commander = {
name = "entity.cis.droid9",
info = "ifs.freeform.purchase.military.sides.cis.marine",
sound = "mtg_cis_unit_name_marine",
body = "cis_inf_bdroid",
weapon = "cis_weap_inf_rifle",
anim_set = bdroid_rifle_anim_set
},
}
}
}
-- owned units
ifs_purchase_unit_owned = {
[1] = { soldier = true, commander2 = true, commander = true },
[2] = { soldier = true, commander = true }
}
-- use Zer setup
this.Setup = function(this)
print("ifs_freeform_init_abc: ifs_freeform_init_abc(): Setup()")
-- remove unused planets
print("ifs_freeform_init_abc: ifs_freeform_init_abc(): Setup(): Removing unused planets")
DeleteEntity("end")
DeleteEntity("hot")
DeleteEntity("end_system")
DeleteEntity("hot_system")
DeleteEntity("kam_star")
DeleteEntity("geo_star")
DeleteEntity("tantive")
-- create the connectivity graph
this.planetDestination = {
["cor"] = { "star20", "myg", "star17" },
["dag"] = { "star05", "star06", "nab" },
-- ["end_star"] = { "star20", "star18" },
["fel"] = { "star13", "yav"},
["geo"] = { "star07", "tat" },
-- ["hot_star"] = { "star01", "star02" },
["kas"] = { "star12", "star13", "star15", "star17" },
["kam"] = { "star12", "star13", "tat" },
["mus"] = { "star02", "star04", "star05" },
["myg"] = { "star17", "cor", "star15" },
["nab"] = { "star07", "star12", "star17", "dag" },
["pol"] = { "star04", "star02" },
["tat"] = { "geo", "kam" },
["uta"] = { "star04", "star05", "star06" },
["yav"] = { "star15", "fel" },
-- ["star01"] = { "end_star", "star02" },
["star02"] = { "mus", "star20", "pol" },
-- ["star03"] = { "hot_star", "pol" },
["star04"] = { "mus", "pol", "uta" },
["star05"] = { "mus", "uta", "dag" },
["star06"] = { "uta", "dag", "star07" },
["star07"] = { "nab", "geo", "star06" },
-- ["star08"] = { "star06", "geo" },
-- ["star09"] = { "tat", "geo" },
-- ["star10"] = { "star12", "geo", "tat" },
-- ["star11"] = { "tat", "kam" },
["star12"] = { "kam", "nab", "kas" },
["star13"] = { "kas", "kam", "fel" },
-- ["star14"] = { "fel", "yav" },
["star15"] = { "kas", "yav", "myg" },
-- ["star16"] = { "yav", "myg" },
["star17"] = { "cor", "myg", "kas", "nab" },
-- ["star18"] = { "cor", "myg" },
-- ["star19"] = { "end_star", "star18" },
["star20"] = { "star02", "cor" }
}
-- resource value for each planet
this.planetValue = {
["cor"] = { victory = 60, defeat = 20, turn = 3 },
["dag"] = { victory = 50, defeat = 20, turn = 3 },
["fel"] = { victory = 50, defeat = 20, turn = 3 },
["geo"] = { victory = 100, defeat = 35, turn = 10 },
["kas"] = { victory = 50, defeat = 20, turn = 3 },
["kam"] = { victory = 100, defeat = 35, turn = 10 },
["mus"] = { victory = 60, defeat = 20, turn = 3 },
["myg"] = { victory = 50, defeat = 20, turn = 3 },
["nab"] = { victory = 60, defeat = 20, turn = 3 },
["pol"] = { victory = 50, defeat = 20, turn = 3 },
["tat"] = { victory = 50, defeat = 20, turn = 3 },
["uta"] = { victory = 60, defeat = 20, turn = 3 },
["yav"] = { victory = 50, defeat = 20, turn = 3 },
}
this.spaceValue = {
victory = 50, defeat = 20,
}
-- mission to launch for each planet
this.spaceMission = {
["con"] = { "spa3c_Diet Dr. Pepper", "spa6c_Diet Dr. Pepper", "spa7c_Diet Dr. Pepper" }
}
this.planetMission = {
["cor"] = {
["con"] = "cor1y_con",
},
["dag"] = {
["con"] = "dag1y_con",
},
["fel"] = {
["con"] = "fel1y_con",
},
["geo"] = {
["con"] = "geo1y_con",
},
["kam"] = {
["con"] = "kam1y_con",
},
["kas"] = {
["con"] = "kas2y_con",
},
["mus"] = {
["con"] = "mus1y_con",
},
["myg"] = {
["con"] = "myg1y_con",
},
["nab"] = {
["con"] = "nab2y_con",
},
["pol"] = {
["con"] = "pol1y_con",
},
["tat"] = {
["con"] = "tat2y_con",
},
["uta"] = {
["con"] = "uta1y_con",
},
["yav"] = {
["con"] = "yav1y_con",
},
}
-- associate names with teams
this.teamName = {
[REP] = "common.sides.rep.name",
[CIS] = "common.sides.cis.name"
}
-- associate names with team bases
this.baseName = {
[REP] = "ifs.freeform.base.rep",
[CIS] = "ifs.freeform.base.cis"
}
-- associate names with team fleets
this.fleetName = {
[REP] = "ifs.freeform.fleet.rep",
[CIS] = "ifs.freeform.fleet.cis"
}
-- associate entity class with team fleets
this.fleetClass = {
[REP] = "gal_prp_assaultship",
[CIS] = "gal_prp_fedcruiser"
}
-- associate icon textures with team fleets
this.fleetIcon = {
[REP] = "rep_fleet_normal_icon",
[CIS] = "cis_fleet_normal_icon"
}
this.fleetStroke = {
[REP] = "rep_fleet_normal_stroke",
[CIS] = "cis_fleet_normal_stroke"
}
-- set the explosion effect for each team
this.fleetExplosion = {
[REP] = "gal_sfx_assaultship_exp",
[CIS] = "gal_sfx_fedcruiser_exp"
}
-- team base planets
this.planetBase = {
[REP] = "kam",
[CIS] = "geo",
}
-- team potential starting locations
this.planetStart = {
[REP] = { "cor", "kam", "nab" },
[CIS] = { "geo", "uta", "mus" }
}
print("ifs_freeform_init_abc: ifs_freeform_init_abc(): Setup(): Finished")
end
end
[/code]
Hidden/Spoiler:
[code]print("ifs_freeform_start_abc.lua")
function ifs_freeform_start_abc(this)
print("ifs_freeform_start_abc(): Entered")
-- save scenario type
this.scenario = "abc"
-- assigned teams
local REP = 1
local CIS = 2
-- ZER init
print("ifs_freeform_start_abc(): Init")
ifs_freeform_init_abc(this, REP, CIS)
-- set to co-op play
ifs_freeform_controllers(this, { [0] = REP, [1] = REP, [2] = REP, [3] = REP })
-- REP start
this.Start = function(this)
print("ifs_freeform_start_abc(): Start(): Entered")
-- perform common start
ifs_freeform_start_common(this)
-- set team for each planet
this.planetTeam = {
["cor"] = REP,
["dag"] = CIS,
["fel"] = CIS,
["geo"] = CIS,
["kam"] = REP,
["kas"] = CIS,
["mus"] = CIS,
["myg"] = CIS,
["nab"] = REP,
["pol"] = CIS,
["tat"] = CIS,
["uta"] = CIS,
["yav"] = CIS,
}
-- create starting fleets for each team
this.planetFleet = {}
for team, start in pairs(this.planetStart) do
local planet = start[math.random(table.getn(start))]
this.planetFleet[planet] = team
end
end
print("ifs_freeform_start_abc(): Finished")
end
[/code]
function ifs_freeform_start_abc(this)
print("ifs_freeform_start_abc(): Entered")
-- save scenario type
this.scenario = "abc"
-- assigned teams
local REP = 1
local CIS = 2
-- ZER init
print("ifs_freeform_start_abc(): Init")
ifs_freeform_init_abc(this, REP, CIS)
-- set to co-op play
ifs_freeform_controllers(this, { [0] = REP, [1] = REP, [2] = REP, [3] = REP })
-- REP start
this.Start = function(this)
print("ifs_freeform_start_abc(): Start(): Entered")
-- perform common start
ifs_freeform_start_common(this)
-- set team for each planet
this.planetTeam = {
["cor"] = REP,
["dag"] = CIS,
["fel"] = CIS,
["geo"] = CIS,
["kam"] = REP,
["kas"] = CIS,
["mus"] = CIS,
["myg"] = CIS,
["nab"] = REP,
["pol"] = CIS,
["tat"] = CIS,
["uta"] = CIS,
["yav"] = CIS,
}
-- create starting fleets for each team
this.planetFleet = {}
for team, start in pairs(this.planetStart) do
local planet = start[math.random(table.getn(start))]
this.planetFleet[planet] = team
end
end
print("ifs_freeform_start_abc(): Finished")
end
[/code]
fingerfang i tested your files and also work fine