Okay sorry let me explain what I know.
Basically Portal release grunt along a predetermined path called a CHAIN. The chain is made up of a sequence of points with lua code that looks like this
['PATH1_N_5'] = {
['color'] = STRING( 'ff800080' ),
['type'] = STRING( 'Blank Marker' ),
['prop'] = STRING( '/env/common/props/markers/M_Blank_prop.bp' ),
['orientation'] = VECTOR3( 0, -0, 0 ),
['position'] = VECTOR3( 384.5, 99.9922, 301.5 ),
},
These points are chain together in the Chain table (placed after the Markers Chain) and looks like this
['NEUTRAL_CHAIN_1'] = {
Markers = {
"PATH1_N_1",
"PATH1_N_2",
"PATH1_N_3",
"PATH1_N_4",
"PATH1_N_5",
"PATH1_N_6",
"PATH1_N_7",
"PATH1_N_8",
"PATH1_N_9",
"PATH1_N_10",
"TEAM_2_OBJECTIVE",
},
},
They tie into the portal in two places. In the Marker Chain with a table entry like this
['ARTIFACT_PORTAL_KILLEVIL'] = {
['size'] = FLOAT( 5.000000 ),
['SpawnTableName'] = STRING( 'GOOD_DEFAULT' ),
['PortalName'] = STRING( 'ARTIFACT_PORTAL' ),
['ArmyName'] = STRING( 'TEAM_1' ),
['color'] = STRING( 'ff800080' ),
['type'] = STRING( 'Conquest Spawner' ),
['ChainName'] = STRING( 'ARTIFACT_PORTAL_KILLEVIL' ),
['prop'] = STRING( '/env/common/props/markers/M_Hydrocarbon_prop.bp' ),
['orientation'] = VECTOR3( 1.5708, -0, 0 ),
['position'] = VECTOR3( 97.5, 99.9922, 256.5 ),
},
And in the Army definition section
['TEAM_1_PORTAL_1'] = {
type = 'ugbportal01',
orders = '',
platoon = '',
Position = { 247.500000, 100.000000, 131.500000 },
Orientation = { 0.000000, 6.283185, 0.000000 },
Both have to appear in the LUA for the portal to appear. The Army one provide the position and ownership information the Marker Chain includes information such as which Chain it uses