Tankbuster

Editing, Expanding and Modifying Domination

1948 posts in this topic

1. I always felt in your missions the enemy attacks at the base is very weak. Yes the main focus is to capture towns but when playing your mission no one really cares because the enemy has no real chance to take out significant amount of objects in the base. No human player will ever stay at the base to defend it because there is no point.

You named it already yourself, no human player will ever stay at base. That's the reason why there is almost no base attack. A lot of people didn't like it and it added nothing to the gameplay.

(and also the reason why you never find bases with thousands of objects placed in the editor in my MP missions, they just decrease FPS).

2. When playing some of the other missions the pure Randomness of running into opposing forces of different units strengths in unusual locations just gives the missions a more dynamic feel and keeps the player on his toes as well as IED's.

First of all, IEDs add nothing to the gameplay except frustration. That's why I never invested time into it (always keep in mind I'm talking about public playing first). Beside that IEDs simply don't fit in some environments like Chernarus (I also always think about the next iteration of the game already and if things will fit into it so it does make sense to invest time or not).

Keeping players forced into one or two areas is the best solution for public playing instead of having them scattered around the whole map. That "forces" at least a little bit playing together.

And you also mentioned FPS. That's also a reason for it. I have a rule for all missions that I make, if a mission runs at 50 FPS on my dedicated server that runs beside the game on my old rig, then the mission is ok.

(The rest can only be solved by BIS by providing an optimized game server).

3. Town enemy units are mostly stationary until you or someone is spotted. There are no real patrolling units going around the perimeter or in the main area. This is why some people feel it's like shooting fish in a barrel feel at times with the mission. If you could add some real patrolling units and a percentage of enemy units to change locations ie walking or transport in the main area this would give a better live feel when attacking a town/location.

The number of patrolling groups and stationary groups is the same. Groups can patrol about 100 meters outside the target area. And the last time I played those little suckers did some nice job on flanking players.

But yes, good idea to have some more patrolling groups outside the AO. I'm sometimes surprised and amazed on what the game AI does, they are sometimes not as predictable as players on PvP servers...

Please don't take this the wrong way I love your mission but just a little constructive criticism. I hope you see my point and can add a few things in the future. I would like to know what you feel as others who play your mission. Avibird

I don't take this wrong :) I've read a lot of BS in this and other forums in the last years and constructive criticism is alway a welcome change.

Making missions for public playing is not always about adding the coolest features, having tons of things going on, etc etc, it's about finding a balance of what is technically possible and gameplay and especially keeping a mission running even if some dorks try to ruin it.

Btw, I'll introduce an optional gameplay mode in the next 2.61 WIP version (though no ETA and some people might have seen it already): http://s15.postimage.org/7ni17e3vv/261wip.jpg

Like written, it'll be optional, so you can simply select it by parameter in the lobby.

What's different is that your side holds a town and the enemy holds a town. The enemy (AI) will try to capture your town, you have to do the same with the enemy town (must not necesseraly be a town).

If the AI manages to capture all your towns then the player side might loose.

Xeno

Share this post


Link to post
Share on other sites

you can easily adjust most of these things by digging around in the files a bit, enemy type, amount, frequency and skill can all be adjusted.

same goes for patrols.

i look at Domination as an awesome template for great MP gaming.

The replay value of it is great and Xeno has , with its latest versions, made it very easily editable and customisable.

just have a read through the i_server file. There you can adjust all kind of things. (just be sure to make a backup as you can break things too)

Share this post


Link to post
Share on other sites

Hey Xeon thanks for the fast reply. I do understand what you are saying that your main focus is on public playing on open servers and you need a way to facilitate team work by the masses in a general way during the mission. So the action needs to be limited to a few locations at a time to allow players to interact better during the mission.

I do have a small issue that I hope you can help with. I am trying to open your new version 2.6ac with the Eliteness program. I can unpack into my editor I have all the folders but when I hit preview in the editor I have no units on the map or marks. When I look into the mission sqm files it is in a different format. So I tryed to open it up with the eliteness and now all my mission files sqm have a small eliteness symbol and I can't open any of my mission sqm files at all. WTF. how do I reverse what I did and then how do i use the eliteness to change your mission sqm into view in the editor. Avibird.

Share this post


Link to post
Share on other sites
When I look into the mission sqm files it is in a different format. So I tryed to open it up with the eliteness and now all my mission files sqm have a small eliteness symbol and I can't open any of my mission sqm files at all.

deRapify:

http://forums.bistudio.com/showthread.php?104827-Editing-Expanding-and-Modifying-Domination&p=2122969&viewfull=1#post2122969

Elitness was selected as the default program to open that filetype - right click on a file - open with - choose default program - select notepad from the list (thats in Win7)

Share this post


Link to post
Share on other sites

So I dePBO'ed the mission file again and moved the folder to my editor directory so I could make some new changes but it's not showing up in editor like it did the first time.

I'm starting to feel like an idiot. What am I doing wrong?

- Sharpshooter.

Share this post


Link to post
Share on other sites

Yes, I found that out fooling around hitting buttons lol but why can't I see any of the units or marks from the dominaqtion missions SQM on the map when in the editor and looking at it in preview. I know I saw this issues a few months back. I was using only the old pboview at the time and did not pay much to the replys. What can I do to see the mission items on th map so I can edit a little on my own. Thanks Avibird.

Share this post


Link to post
Share on other sites
Yes, I found that out fooling around hitting buttons lol but why can't I see any of the units or marks from the dominaqtion missions SQM on the map when in the editor and looking at it in preview. I know I saw this issues a few months back. I was using only the old pboview at the time and did not pay much to the replys. What can I do to see the mission items on th map so I can edit a little on my own. Thanks Avibird.

like this

;1967995']If you open up the mission.sqf in Eliteness after dePbo-ing it shows up fine. I just copied that text and replaced the binarized mission.sqf with it.....
;)

Share this post


Link to post
Share on other sites

Hello, i have added some attack helicopter to the domination. The Problem is, that when ranked is active, people are able to fly these choppers, even when they are not Major . Is there any posibility to make the choppers, who are defineted in the d_init and i_client, only available for Majors?

Share this post


Link to post
Share on other sites

When porting Domination to a new map, and positioning the main target markers, how do you stop the bunkers/radio towers from being spawned inside undestroyable buildings?

Also can anyone help me with that deployable items problem, it's the last thing I need to do to finish my mission and it's driving me nuts.

Share this post


Link to post
Share on other sites
So I dePBO'ed the mission file again and moved the folder to my editor directory so I could make some new changes but it's not showing up in editor like it did the first time.

I'm starting to feel like an idiot. What am I doing wrong?

- Sharpshooter.

Anyone?

Share this post


Link to post
Share on other sites

You'll laugh when I tell you what I did..

I derapped the mission file, then renamed it but change the extension from Chernarus to Takistan. Then of course, it didn't show in the list of Chernarus missions, but it did show in the list of Takistan missions. When I opened it there, I did get odd results. :)

Share this post


Link to post
Share on other sites
Anyone?

1. Check the File strucktur

co30_domination_2_60zc_west_oa.takistan/co30_domination_2_60zc_west_oa.takistan/AAHalo, BIS_Effects etc. -> WRONG!

co30_domination_2_60zc_west_oa.takistan/AAHalo, BIS_Effects etc. -> RIGHT!

2. What programm did u use to extract the PBO? I had the probem, that i couldn't open mission which i extractet with Elitness. Thats the reason why i exctract the original PBOs from XENO with ExtarctPBO and Pack them with Elitness (After that check #1). After that, you can always use Elitness to extract again.

Share this post


Link to post
Share on other sites

i mentioned it a few times now.. i wonder if you cannot see my replies...

open the pbo in eliteness and then in eliteness open the mission sqm, you will see a wall of text on the right hand side.

copy that and paste that into your actual mission.sqm , replacing the initial text. done.

Share this post


Link to post
Share on other sites

G'day guys and gals,

I am just wondering if any one has been able to extract the side mission script from domination. I would love to get my hands on this script for use in my own missions with full credits to Xeno.

I would like to create my own side missions using his excellent system i have found it in the domination files under x_missions and in the init file but nothing i do works to place it in my own missions.

If not can any 1 please point me to the right path to achieving a similar script.

Thanks in advance.

Share this post


Link to post
Share on other sites

The side mission stuff is more of a suite of scripts plus a bunch of data files.

Each mission has a datafile that holds it's location, mission type, ending conditions and it also says if the mission has a helper script.

The prize stuff is then handled by another script and which mission is created is handled by yet another.

So, it is possible to tear it out of the mission, but it's hard work.

Share this post


Link to post
Share on other sites

Thanks Tankbuster,

i had a close look at it all today and have come to the conclusion that my skills are most likely not up to the job.

BUT i will give it a good bloody shot. Any 1 else wanna take the challenge on ;)

I will post my findings in here as i go.

Share this post


Link to post
Share on other sites

so far,

* fsms - folder all contents

* x_mission - folder all contents

init file

i_common file

i_server file

description file

init file,

#include "i_common.sqf"
#include "x_missions\x_missionssetup.sqf"

// create random list of side missions
if (d_random_sm_array) then {
	d_side_missions_random = sm_array call XfRandomArray;
} else {
	d_side_missions_random = sm_array;
};

__DEBUG_SERVER("init.sqf",d_side_missions_random)

d_current_counter = 0;
d_current_mission_counter = 0;

d_side_mission_resolved = false;

d_counterattack = false;

extra_mission_remover_array = [];
extra_mission_vehicle_remover_array = [];
d_check_trigger = objNull;
d_create_new_paras = false;
d_first_time_after_start = true;
d_nr_observers = 0;

i_common file

if (isMultiplayer) then {titleText ["", "BLACK FADED", 0.1]};

if (isNil "paramsArray") then {
if (isClass (missionConfigFile/"Params")) then {
	for "_i" from 0 to (count (missionConfigFile/"Params") - 1) do {
		_paramName = configName ((missionConfigFile >> "Params") select _i);
		__mNsSetVar [_paramName, getNumber (missionConfigFile >> "Params" >> _paramName >> "default")];
	};
};
} else {
for "_i" from 0 to (count paramsArray - 1) do {
	__mNsSetVar [configName ((missionConfigFile >> "Params") select _i), paramsArray select _i];
};
};

#ifdef __TT__
WithJumpFlags = 1;
d_MaxNumAmmoboxes = d_MaxNumAmmoboxes * 2;
#endif
AmmoBoxHandling = if (AmmoBoxHandling == 0) then {false} else {true};
WithBackpack = if (WithBackpack == 1) then {false} else {true};
LimitedWeapons = if (LimitedWeapons == 1) then {false} else {true};
WithChopHud = if (WithChopHud == 1) then {false} else {true};
#ifndef __RANKED__
d_with_ranked = if (d_with_ranked == 1) then {false} else {true};
#else
d_with_ranked = true;
#endif
d_reload_engineoff = if (d_reload_engineoff == 1) then {false} else {true};

d_p_marker_dirs = if (d_p_marker_dirs == 1) then {false} else {true};
d_v_marker_dirs = if (d_v_marker_dirs == 1) then {false} else {true};

d_with_mgnest = if (d_with_mgnest == 1) then {false} else {true};

#ifdef __ACE__
// override for ACE. ACE 2 has it's own backpack/ruck feature
WithBackpack = false;
#endif

#ifdef __WOUNDS__
if (d_wounds_no_ai == 1) then {ace_sys_wounds_noai = true};
#endif

d_with_ai =
#ifdef __AI__
true;
#else
false;
#endif

setViewDistance d_InitialViewDistance;

#ifndef __ACE__
if (OverrideBISEffects == 0) then {
[] spawn {
	sleep 0.4;
	waitUntil {!isNil "BIS_Effects_Secondaries"};
	__cppfln(BIS_Effects_EH_Killed,BIS_Effects\killed.sqf);
	__cppfln(BIS_Effects_AirDestruction,BIS_Effects\airdestruction.sqf);
	__cppfln(BIS_Effects_AirDestructionStage2,BIS_Effects\airdestructionstage2.sqf);
	__cppfln(BIS_Effects_Burn,BIS_Effects\burn.sqf);
};
};
#endif

d_number_targets_h = d_MainTargets;

if (d_MainTargets >= 50) then {
_h = switch (d_MainTargets) do {
	case 50: {7};
	case 60: {5};
	case 70: {8};
	case 90: {21};
};
d_MainTargets = _h;
};

if (d_GrasAtStart == 1) then {setterraingrid 50};

// WEST, EAST or GUER for own side, setup in x_setup.sqf
#ifdef __OWN_SIDE_WEST__
d_own_side = "WEST";
d_enemy_side = "EAST";
#endif
#ifdef __OWN_SIDE_EAST__
d_own_side = "EAST";
d_enemy_side = "WEST";
#endif
#ifdef __OWN_SIDE_GUER__
d_own_side = "GUER";
d_enemy_side = "EAST";
#endif
#ifdef __TT__
d_enemy_side = "GUER";
d_own_side = "WEST";
#endif

x_setup.sqf
d_version = [];
#define __adddv(dtype) d_version set [count d_version, #dtype]
#ifdef __OA__
__adddv(OA);
#endif
if (d_with_ai) then {__adddv(AI)};
#ifdef __REVIVE__
__adddv(REVIVE);
#endif
#ifdef __TT__
__adddv(TT);
#endif
#ifdef __ACE__
__adddv(ACE);
#endif
#ifdef __WOUNDS__
__adddv(WOUNDS);
#endif
#ifdef __MANDO__
__adddv(MANDO);
#endif
if (d_with_ranked) then {__adddv(RANKED)};
#ifdef __DEFAULT__
d_target_names =
if (__OAVer) then {
[
	[[1779.68,11808.1,0],"Nur",300], // 0
	[[3082.35,9922.74,0],"Nagara",300], // 1
	[[6220.99,11111.8,0],"Rasman",300], // 2
	[[5662.6,8936.69,0],"Bastam",300], // 3
	[[9858.96,11464.5,0],"Zavarak",300], // 4
	[[12334.2,10247.7,0],"Karachinar",300], // 5
	[[10721.5,6347.16,0],"Garmsar",300], // 6
	[[9127.56,6757.6,0],"Garmarud",300], // 7
	[[5937.14,7282.13,0],"Falar",300], // 8
	[[5253.33,6177.37,0],"Feruz-Abad",300], // 9
	[[3655.71,4316.29,0],"Sakhe",300], // 10
	[[1466.8,3594.07,0],"Shukurkalay",300], // 11
	[[546.094,2811.05,0],"Chaman",300], // 12
	[[8894.68,5272.33,0],"Timurkalay",300], // 13
	[[4438.04,686.898,0],"Chak Chak",300], // 14
	[[10142.7,2336.75,0],"Chardarakht",300], // 15
	[[2003.28,352.347,0],"Landay",300], // 16
	[[1987.14,7657.36,0],"Mulladost",300], // 17
	[[11528.4,8351.98,0],"Ravanay",300], // 18
	[[1507.13,5701.05,0],"Khushab",300], // 19
	[[2528.11,5068.08,0],"Jilavur",300] // 20
]
} 
#endif
#ifdef __TT__
d_target_names =
if (__OAVer) then {
[
	[[1779.68,11808.1,0],"Nur",300], // 0
	[[3082.35,9922.74,0],"Nagara",300], // 1
	[[5662.6,8936.69,0],"Bastam",300], // 3
	[[9858.96,11464.5,0],"Zavarak",300], // 4
	[[12334.2,10247.7,0],"Karachinar",300], // 5
	[[10721.5,6347.16,0],"Garmsar",300], // 6
	[[9127.56,6757.6,0],"Garmarud",300], // 7
	[[5937.14,7282.13,0],"Falar",300], // 8
	[[5253.33,6177.37,0],"Feruz-Abad",300], // 9
	[[3655.71,4316.29,0],"Sakhe",300], // 10
	[[1466.8,3594.07,0],"Shukurkalay",300], // 11
	[[546.094,2811.05,0],"Chaman",300], // 12
	[[8894.68,5272.33,0],"Timurkalay",300], // 13
	[[4438.04,686.898,0],"Chak Chak",300], // 14
	[[10142.7,2336.75,0],"Chardarakht",300], // 15
	[[2003.28,352.347,0],"Landay",300], // 16
	[[1987.14,7657.36,0],"Mulladost",300], // 17
	[[11528.4,8351.98,0],"Ravanay",300], // 18
	[[1507.13,5701.05,0],"Khushab",300], // 19
	[[2528.11,5068.08,0],"Jilavur",300] // 20
]
} else {
[
	[[2733.7,5306.05,0],"Zelenogorsk",300], // 0
	[[6728.4,2590.29,0],"Chernogorsk",300], // 1
	[[10269.5,2110.25,0],"Elektrozavodsk",300], // 2
	[[11146.5,12302.7,0],"Krasnostav",300], // 3
	[[12012.4,9095.97,0],"Berezino",300], // 4
	[[6147.54,7757.34,0],"Stary Sobor",300], // 5
	[[3814.73,8901.37,0],"Vybor",300], // 6
	[[7555.26,5149.45,0],"Mogilevka",300], // 7
	[[10680.4,8054.11,0],"Polana",300], // 8
	[[10412.8,9768.09,0],"Dubrovka",300], // 9
	[[9548.47,8846.42,0],"Gorka",300], // 10
	[[13381.5,6254.74,0],"Solnichniy",300], // 11
	[[10118.6,5521.33,0],"Staroye",300], // 12
	[[1697.54,3847.5,0],"Pavlovo",300], // 13
	[[3075.33,7916.48,0],"Pustoschka",300], // 14
	[[12971.1,10109.1,0],"Berezino Harbour",300], // 15
	[[9178.31,3870.64,0],"Pusta",300], // 16
	[[4741.96,6799.19,0],"Rogovo",300], // 17
	[[4393.77,4606.03,0],"Kozlovka",300], // 18
	[[1828.09,2249.49,0],"Kamenka",300], // 19
	[[8659.28,11840.9,0],"Gvozdno",300] // 20
]
};
#endif
#ifdef __EVERON__
d_target_names = [
[[4671.13,10722.6,0],"Saint Phillipe",300], // 0
[[4527.21,9506.97,0],"Meaux",300], // 1
[[4941.61,9077.45,0],"Tyrone",300], // 2
[[4135.95,7801.06,0],"Gravette",300], // 3
[[4897.7,6973.78,0],"Montignac",300], // 4
[[5755.12,7052.86,0],"Entre Deux",300], // 5
[[1268.59,5967.68,0],"Lamentin",300], // 6
[[2591.19,5442.5,0],"Le Moule",300], // 7
[[5052.18,3980.89,0],"Morton",300], // 8
[[5297.28,5360.35,0],"Figari",300], // 9
[[5510.28,6084.46,0],"Provins",300], // 10
[[7078.44,6039.96,0],"Chotain",300], // 11
[[7567.68,5573.83,0],"Laruns",300], // 12
[[7554.94,4724.12,0],"Levie",300], // 13
[[7183.02,2293.89,0],"Regina",300], // 14
[[8830.23,2717.55,0],"Durras",300], // 15
[[9114.86,2174.21,0],"Vernon",300], // 16
[[9654.58,1565.62,0],"Saint Pierre",300] // 17
];
#endif

#ifdef __DEBUG__
// only for debugging, creates markers at all main target positions
{
_pos = _x select 0;
_name = _x select 1;
_size = _x select 2;
_marker= createMarkerLocal [_name, _pos];
_marker setMarkerShapeLocal "ELLIPSE";
_name setMarkerColorLocal "ColorGreen";
_name setMarkerSizeLocal [_size,_size];
_name = _name + "xx";
_marker= createMarkerLocal [_name, _pos];
_marker setMarkerTypeLocal "mil_dot";
_name setMarkerColorLocal "ColorBlack";
_name setMarkerSizeLocal [0.5,0.5];
_name setMarkerTextLocal _name;
} forEach d_target_names;
#endif

d_side_enemy = switch (d_enemy_side) do {
case "EAST": {east};
case "WEST": {west};
case "GUER": {resistance};
};

d_side_player =
#ifdef __OWN_SIDE_EAST__
east;
#endif
#ifdef __OWN_SIDE_WEST__
west;
#endif
#ifdef __OWN_SIDE_GUER__
resistance;
#endif
#ifdef __TT__
west;
#endif

d_side_player_str =
#ifdef __OWN_SIDE_EAST__
"east";
#endif
#ifdef __OWN_SIDE_WEST__
"west";
#endif
#ifdef __OWN_SIDE_GUER__
"guerrila";
#endif
#ifdef __TT__
"west";
#endif

d_own_side_trigger =
#ifdef __OWN_SIDE_EAST__
"EAST";
#endif
#ifdef __OWN_SIDE_WEST__
"WEST";
#endif
#ifdef __OWN_SIDE_GUER__
"GUER";
#endif
#ifdef __TT__
"WEST";
#endif

d_ai_enemy_sides =
#ifdef __OWN_SIDE_EAST__
[west];
#endif
#ifdef __OWN_SIDE_WEST__
[east];
#endif
#ifdef __OWN_SIDE_GUER__
[east];
#endif
#ifdef __TT__
[east,west];
#endif

#ifndef __TT__
d_rep_truck = if (__OAVer) then {
if (d_enemy_side == "EAST") then {"MtvrRepair_DES_EP1"} else {"UralRepair_TK_EP1"}
} else {
if (d_enemy_side == "EAST") then {"MtvrRepair"} else {"KamazRepair"}
};
#endif

d_version_string =
#ifdef __OWN_SIDE_EAST__
"East";
#endif
#ifdef __OWN_SIDE_WEST__
"West";
#endif
#ifdef __OWN_SIDE_GUER__
"Guer";
#endif
#ifdef __TT__
"Two Teams";
#endif

// OATODO: check if the flag names are still the same
//default flag GUER
#ifdef __OWN_SIDE_WEST__
FLAG_BASE setflagtexture "\ca\data\flag_usa_co.paa";
#endif
#ifdef __OWN_SIDE_EAST__
if (__OAVer) then {
FLAG_BASE setflagtexture "ca\Ca_E\data\flag_tka_co.paa";
} else {
FLAG_BASE setflagtexture "\ca\data\flag_rus_co.paa";
};
#endif

if (d_with_mgnest) then {
d_mg_nest = 
#ifdef __OWN_SIDE_GUER__
"GUE_WarfareBMGNest_PK";
#endif
#ifdef __OWN_SIDE_EAST__
if (__OAVer) then {
	"WarfareBMGNest_PK_TK_EP1"
} else {
	"RU_WarfareBMGNest_PK"
};
#endif
#ifdef __OWN_SIDE_WEST__
if (__OAVer) then {
	"WarfareBMGNest_M240_US_EP1"
} else {
	"USMC_WarfareBMGNest_M240"
};
#endif
#ifdef __TT__
"";
#endif
};

d_sm_bonus_vehicle_array = (
#ifdef __DEFAULT__
switch (d_own_side) do {
	case "GUER": {["A10","AH1Z","UH1Y","AV8B","AV8B2", "F35B", "M1A2_TUSK_MG","M1A1"]};
	case "WEST": {
		switch (true) do {
			case (__OAVer): {
				if (__ACEVer) then {
					["A10_US_EP1","AH64D_EP1","AH6J_EP1","M1A1_US_DES_EP1","M1A2_US_TUSK_MG_EP1","M6_EP1","ACE_M1A1HC_DESERT","ACE_M1A1HC_TUSK_DESERT","ACE_M1A1HC_TUSK_CSAMM_DESERT","ACE_M1A1HA_TUSK_CSAMM_DESERT","UH60M_EP1"]
				} else {
					["A10_US_EP1","AH64D_EP1","AH6J_EP1","M1A1_US_DES_EP1","M1A2_US_TUSK_MG_EP1","M6_EP1","UH60M_EP1"]
				}
			};
			case (__ACEVer): {
				["A10","AH1Z","UH1Y","AV8B","AV8B2", "F35B", "M1A2_TUSK_MG","M1A1", "AH64D", "ACE_Stryker_MGS_Slat" ,"ACE_Stryker_TOW","ACE_Stryker_TOW_MG","ACE_AH6_GAU19","ACE_AH6","ACE_AH1W_AGM_W","ACE_AH1W_AGM_D","ACE_M2A2_W","ACE_M2A2_D","ACE_M6A1_W","ACE_M6A1_D","ACE_AH1Z_AGM_D","ACE_AH1Z_AGM_AGM_D","ACE_AH1Z_AGM_AGM_W","ACE_M1A1HC_DESERT"]
			};
			default {
				["A10","AH1Z","UH1Y","AV8B","AV8B2", "F35B", "M1A2_TUSK_MG","M1A1","AH64D"]
			};
		}
	};
	case "EAST": {
		switch (true) do {
			case (__OAVer): {
				["Su25_TK_EP1","L39_TK_EP1","Mi24_D_TK_EP1","T72_TK_EP1","T55_TK_EP1","ZSU_TK_EP1"]
			};
			case (__ACEVer): {
				["Su34","Ka52","Ka52Black","Mi24_P","Mi24_V","Su39","T72_RU","2S6M_Tunguska","T90","ACE_T72B_RU","ACE_T72BA_RU","ACE_Su27_CAP","ACE_Su27_CAS","ACE_Su27_CASP"]
			};
			default {
				["Su34","Ka52","Ka52Black","Mi24_P","Mi24_V","Su39","T72_RU","2S6M_Tunguska","T90"]
			};
		}
	};
}
#endif
#ifdef __EVERON__
switch (d_own_side) do {
	case "GUER": {["A10","AH1Z","UH1Y","AV8B","AV8B2", "F35B", "M1A2_TUSK_MG","M1A1"]};
	case "WEST": {
		if (__ACEVer) then {
			["A10","AH1Z","UH1Y","AV8B","AV8B2", "F35B", "M1A2_TUSK_MG","M1A1", "AH64D", "ACE_Stryker_MGS_Slat" ,"ACE_Stryker_TOW","ACE_Stryker_TOW_MG","ACE_AH6_GAU19","ACE_AH6","ACE_AH1W_AGM_W","ACE_AH1W_AGM_D","ACE_M2A2_W","ACE_M2A2_D","ACE_M6A1_W","ACE_M6A1_D","ACE_AH1Z_AGM_D","ACE_AH1Z_AGM_AGM_D","ACE_AH1Z_AGM_AGM_W","ACE_M1A1HC_DESERT"]
		} else {
			["A10","AH1Z","UH1Y","AV8B","AV8B2", "F35B", "M1A2_TUSK_MG","M1A1" ,"AH64D"]
		}
	};
	case "EAST": {
		if (__ACEVer) then {
			["Su34","Ka52","Ka52Black","Mi24_P","Mi24_V","Su39","T72_RU","2S6M_Tunguska","T90","ACE_T72B_RU","ACE_T72BA_RU","ACE_Su27_CAP","ACE_Su27_CAS","ACE_Su27_CASP"]
		} else {
			["Su34","Ka52","Ka52Black","Mi24_P","Mi24_V","Su39","T72_RU","2S6M_Tunguska","T90"]
		}
	};
}
#endif
#ifdef __TT__
switch (true) do {
	case (__OAVer): {
		[
			["A10_US_EP1","AH64D_EP1","AH6J_EP1","M1A1_US_DES_EP1","M1A2_US_TUSK_MG_EP1","M6_EP1"],
			["Su25_TK_EP1","L39_TK_EP1","Mi24_D_TK_EP1","T72_TK_EP1","T55_TK_EP1","ZSU_TK_EP1"]
		]
	};
	case (__ACEVer): {
		[
			["A10","AH1Z","UH1Y","AV8B","AV8B2", "F35B", "M1A2_TUSK_MG","M1A1", "AH64D", "ACE_Stryker_MGS_Slat" ,"ACE_Stryker_TOW","ACE_Stryker_TOW_MG","ACE_AH6_GAU19","ACE_AH6","ACE_AH1W_AGM_W","ACE_AH1W_AGM_D","ACE_M2A2_W","ACE_M2A2_D","ACE_M6A1_W","ACE_M6A1_D","ACE_AH1Z_AGM_D","ACE_AH1Z_AGM_AGM_D","ACE_AH1Z_AGM_AGM_W","ACE_M1A1HC_DESERT"],
			["Su34","Ka52","Ka52Black","Mi24_P","Mi24_V","Su39","T72_RU","2S6M_Tunguska","T90","ACE_T72B_RU","ACE_T72BA_RU","ACE_Su27_CAP","ACE_Su27_CAS","ACE_Su27_CASP"]
		]
	};
	default {
		[
			["A10","AH1Z","UH1Y","AV8B","AV8B2", "F35B", "M1A2_TUSK_MG","M1A1","AH64D"],
			["Su25_TK_EP1","L39_TK_EP1","Mi24_D_TK_EP1","T72_TK_EP1","T55_TK_EP1","ZSU_TK_EP1"]
		]
	};
}
#endif
);

d_mt_bonus_vehicle_array = (
#ifdef __DEFAULT__
switch (d_own_side) do {
	case "GUER": {["BMP2_Gue","BRDM2_Gue","T34","HMMWV_M2","HMMWV_MK19","HMMWV_TOW","HMMWV_Avenger"]};
	case "WEST": {
		switch (true) do {
			case (__OAVer): {
				["M1126_ICV_M2_EP1","M1126_ICV_mk19_EP1","M1128_MGS_EP1","M1129_MC_EP1","M1135_ATGMV_EP1","M2A2_EP1","M2A3_EP1","MLRS_DES_EP1","HMMWV_M1151_M2_DES_EP1","HMMWV_M1151_M2_DES_EP1","HMMWV_M998_crows_M2_DES_EP1","HMMWV_M998_crows_MK19_DES_EP1","HMMWV_M998A2_SOV_DES_EP1","HMMWV_MK19_DES_EP1","HMMWV_TOW_DES_EP1","HMMWV_M1151_M2_CZ_DES_EP1","LandRover_Special_CZ_EP1"]
			};
			case (__ACEVer): {
				["AAV","LAV25","HMMWV_M2","HMMWV_MK19","HMMWV_TOW","MLRS","HMMWV_Avenger", "ACE_Stryker_ICV_M2", "ACE_Stryker_ICV_M2_SLAT","ACE_Stryker_ICV_MK19","ACE_Stryker_ICV_MK19_SLAT","ACE_Stryker_RV","ACE_M113A3","ACE_Vulcan","ACE_HMMWV_GMV","ACE_HMMWV_GMV_MK19"]
			};
			default {
				["AAV","LAV25","HMMWV_M2","HMMWV_MK19","HMMWV_TOW","MLRS","HMMWV_Avenger"]
			};
		}
	};
	case "EAST": {
		switch (true) do {
			case (__OAVer): {
				["BMP2_TK_EP1","BRDM2_ATGM_TK_EP1","BRDM2_TK_EP1","BTR60_TK_EP1","M113_TK_EP1","GRAD_TK_EP1","LandRover_MG_TK_EP1","LandRover_SPG9_TK_EP1","UAZ_AGS30_TK_EP1","UAZ_MG_TK_EP1","Ural_ZU23_TK_EP1"]
			};
			case (__ACEVer): {
				["BMP3","BTR90","GAZ_Vodnik","GAZ_Vodnik_HMG","UAZ_AGS30_RU","GRAD_RU","ACE_BMP2D_RU","ACE_BRDM2_ATGM_RU","ACE_BRDM2_RU","ACE_Ural_ZU23_RU","ACE_BRDM2_SA9_RU","ACE_Offroad_SPG9_INS"]
			};
			default {
				["BMP3","BTR90","GAZ_Vodnik","GAZ_Vodnik_HMG","UAZ_AGS30_RU","GRAD_RU"]
			};
		}
	};
}
#endif
#ifdef __EVERON__
switch (d_own_side) do {
	case "GUER": {["BMP2_Gue","BRDM2_Gue","T34","HMMWV_M2","HMMWV_MK19","HMMWV_TOW","HMMWV_Avenger"]};
	case "WEST": {
		if (__ACEVer) then {
			["AAV","LAV25","HMMWV_M2","HMMWV_MK19","HMMWV_TOW","MLRS","HMMWV_Avenger","ACE_Stryker_ICV_M2", "ACE_Stryker_ICV_M2_SLAT","ACE_Stryker_ICV_MK19","ACE_Stryker_ICV_MK19_SLAT","ACE_Stryker_RV","ACE_M113A3","ACE_Vulcan","ACE_HMMWV_GMV","ACE_HMMWV_GMV_MK19"]
		} else {
			["AAV","LAV25","HMMWV_M2","HMMWV_MK19","HMMWV_TOW","MLRS","HMMWV_Avenger"]
		}
	};
	case "EAST": {
		if (__ACEVer) then {
			["BMP3","BTR90","GAZ_Vodnik","GAZ_Vodnik_HMG","UAZ_AGS30_RU","GRAD_RU","ACE_BMP2D_RU","ACE_BRDM2_ATGM_RU","ACE_BRDM2_RU","ACE_Ural_ZU23_RU","ACE_BRDM2_SA9_RU","ACE_Offroad_SPG9_INS"]
		} else {
			["BMP3","BTR90","GAZ_Vodnik","GAZ_Vodnik_HMG","UAZ_AGS30_RU","GRAD_RU"]
		}
	};
}
#endif
#ifdef __TT__
switch (true) do {
	case (__OAVer): {
		[
			["M1126_ICV_M2_EP1","M1126_ICV_mk19_EP1","M1128_MGS_EP1","M1129_MC_EP1","M1135_ATGMV_EP1","M2A2_EP1","M2A3_EP1","MLRS_DES_EP1","HMMWV_M1151_M2_DES_EP1","HMMWV_M1151_M2_DES_EP1","HMMWV_M998_crows_M2_DES_EP1","HMMWV_M998_crows_MK19_DES_EP1","HMMWV_M998A2_SOV_DES_EP1","HMMWV_MK19_DES_EP1","HMMWV_TOW_DES_EP1","HMMWV_M1151_M2_CZ_DES_EP1","LandRover_Special_CZ_EP1"],
			["BMP2_TK_EP1","BRDM2_ATGM_TK_EP1","BRDM2_TK_EP1","BTR60_TK_EP1","M113_TK_EP1","GRAD_TK_EP1","LandRover_MG_TK_EP1","LandRover_SPG9_TK_EP1","UAZ_AGS30_TK_EP1","UAZ_MG_TK_EP1","Ural_ZU23_TK_EP1"]
		]
	};
	case (__ACEVer): {
		[
			["AAV","LAV25","HMMWV_M2","HMMWV_MK19","HMMWV_TOW","HMMWV_Avenger", "ACE_Stryker_ICV_M2", "ACE_Stryker_ICV_M2_SLAT","ACE_Stryker_ICV_MK19","ACE_Stryker_ICV_MK19_SLAT","ACE_Stryker_RV","ACE_M113A3","ACE_Vulcan","ACE_HMMWV_GMV","ACE_HMMWV_GMV_MK19"],
			["BMP3","BTR90","GAZ_Vodnik","GAZ_Vodnik_HMG","UAZ_AGS30_RU","ACE_BMP2D_RU","ACE_BRDM2_ATGM_RU","ACE_BRDM2_RU","ACE_Ural_ZU23_RU","ACE_BRDM2_SA9_RU","ACE_Offroad_SPG9_INS"]
		]
	};
	default {
		[
			["AAV","LAV25","HMMWV_M2","HMMWV_MK19","HMMWV_TOW","HMMWV_Avenger"],
			["BMP3","BTR90","GAZ_Vodnik","GAZ_Vodnik_HMG","UAZ_AGS30_RU"]
		]
	};
}
#endif
);

// positions for aircraft factories
// first jet service, second chopper service, third wreck repair

d_aircraft_facs =
#ifdef __DEFAULT__
if (__OAVer) then {
[[[7731.88,1694.06,0],333],[[7857.73,1745.96,0],244],[[7970.34,1810.31,0],244]]
} else {
[[[4329.36,10899.2,0],60],[[4397.26,10690.8,0],148],[[4932.19,9773.54,0],325]]
};
#endif
#ifdef __EVERON__
[[[4814.13,11092.8,0],0],[[4841.15,11948,0],0],[[4814.62,11361.6,0],0]];
#endif
#ifdef __TT__
[];
#endif

x_drop_array =
#ifdef __OWN_SIDE_GUER__
switch (true) do {
	case (__ACEVer): {
		[["Drop Artillery", "M119"], ["Drop Humvee","HMMWV"], ["Drop Ammo", "USBasicAmmunitionBox"]]
	};
	case (__OAVer): {
		[["Drop Artillery", "D30_TK_GUE_EP1"], ["Drop Pickup","Pickup_PK_TK_GUE_EP1"], ["Drop Ammo", "USBasicAmmunitionBox"]]
	};
	default {
		[["Drop Artillery", "M119"], ["Drop Humvee","HMMWV"], ["Drop Ammo", "USBasicAmmunitionBox"]]
	};
};
#endif
#ifdef __OWN_SIDE_WEST__
switch (true) do {
	case (__ACEVer): {
		[["Drop Artillery", "M119"], ["Drop Humvee","HMMWV"], ["Drop Ammo", "USBasicAmmunitionBox"]]
	};
	case (__OAVer): {
		[["Drop Artillery", "M119_US_EP1"], ["Drop Humvee","HMMWV_M1035_DES_EP1"], ["Drop Ammo", "USBasicAmmunitionBox_EP1"]]
	};
	default {
		[["Drop Artillery", "M119"], ["Drop Humvee","HMMWV"], ["Drop Ammo", "USBasicAmmunitionBox"]]
	}
};
#endif
#ifdef __OWN_SIDE_EAST__
switch (true) do {
	case (__ACEVer): {
		[["Drop Artillery", "D30_RU"], ["Drop Uaz","UAZ_RU"], ["Drop Ammo", "RUBasicAmmunitionBox"]]
	};
	case (__OAVer): {
		[["Drop Artillery", "D30_TK_EP1"], ["Drop Uaz","UAZ_Unarmed_TK_EP1"], ["Drop Ammo", "TKBasicAmmunitionBox_EP1"]]
	};
	default {
		[["Drop Artillery", "D30_RU"], ["Drop Uaz","UAZ_RU"], ["Drop Ammo", "RUBasicAmmunitionBox"]]
	};
};
#endif
#ifdef __TT__
[["Drop Artillery", "M119"], ["Drop Humvee","HMMWV"], ["Drop Ammo", "USBasicAmmunitionBox"]];
#endif

// side of the pilot that will fly the drop air vehicle
x_drop_side = d_own_side;

// these vehicles can be lifted by the wreck lift chopper
#ifndef __TT__
x_heli_wreck_lift_types = d_sm_bonus_vehicle_array + d_mt_bonus_vehicle_array;
#else
x_heli_wreck_lift_types = (d_sm_bonus_vehicle_array select 0) + (d_sm_bonus_vehicle_array select 1) + (d_mt_bonus_vehicle_array select 0) + (d_mt_bonus_vehicle_array select 1);
#endif

d_next_jump_time = -1;

// d_jumpflag_vec = empty ("")
d_jumpflag_vec = "";

d_side_mission_winner = 0;
d_objectID1 = objNull;
d_objectID2 = objNull;

MEDIC_TENT1 allowDamage false;
#ifndef __CARRIER__
AMMOBUILDING allowDamage false;
#endif
MEDIC_TENT2 allowDamage false;
#ifndef __TT__
if (isNil "d_with_carrier") then {
WALL1 allowDamage false;
WALL2 allowDamage false;
WALL3 allowDamage false;
};
#else
AMMOBUILDING2 allowDamage false;
#endif

// for markers and revive (same like NORRN_player_units)
d_player_entities =  switch (true) do {
case (__ACEVer): {
	["RESCUE","RESCUE2","alpha_1","alpha_2","alpha_3","alpha_4","alpha_5","alpha_6","alpha_7","alpha_8","bravo_1","bravo_2","bravo_4","bravo_5","bravo_6","bravo_7","bravo_8","charlie_1","charlie_2","charlie_4","charlie_5","charlie_6","charlie_7","charlie_8","delta_1","delta_2","delta_3","delta_4","delta_5","echo_1","echo_2","echo_4","echo_5","echo_6","echo_7","echo_8","pilot_1","pilot_2","pilot_3","pilot_4"]
};
case (__OAVer): {
	["RESCUE","RESCUE2","alpha_1","alpha_2","alpha_3","alpha_4","alpha_5","alpha_6","alpha_7","alpha_8","bravo_1","bravo_2","bravo_3","bravo_4","bravo_5","bravo_6","bravo_7","bravo_8","charlie_1","charlie_2","charlie_3","charlie_4","charlie_5","charlie_6","charlie_7","charlie_8","delta_1","delta_2","delta_3","delta_4"]
};
default {
	["RESCUE","RESCUE2","alpha_1","alpha_2","alpha_3","alpha_4","alpha_5","alpha_6","alpha_7","alpha_8","bravo_1","bravo_2","bravo_3","bravo_4","bravo_5","bravo_6","bravo_7","bravo_8","charlie_1","charlie_2","charlie_3","charlie_4","charlie_5","charlie_6","charlie_7","charlie_8","delta_1","delta_2","delta_3","delta_4","delta_5","delta_6","echo_1","echo_2","echo_3","echo_4","echo_5","echo_6","echo_7","echo_8"]
};
};
if (!isDedicated) then {
d_player_roles = switch (true) do {
	case (__ACEVer): {
		["PLT LD","PLT SGT","SL","SN","MG","AT","GL","CM","AR","AM","TL","OP","MG","MM","CM","GL","DS","SL","SN","AR","AT","RM","CM","AT","EN","EN","EN","EN","EN","SL","SN","AT","RM","CM","MG","AT","PL","PL","PL","PL"]
	};
	case (__OAVer): {
		["PLT LD","PLT SGT","SL","SN","MG","AT","GL","CM","AR","AM","TL","OP","GL","MG","MM","CM","GL","DS","SL","SN","AR","AT","RM","CM","MG","AT","EN","EN","EN","EN"]
	};
	default {
		["PLT LD","PLT SGT","SL","SN","MG","AT","GL","CM","AR","AM","TL","OP","GL","MG","MM","CM","GL","DS","SL","SN","AR","AT","RM","CM","MG","AT","EN","EN","EN","EN","EN","EN","SL","SN","AR","AT","RM","CM","MG","AT"]
	};
};
};

// position base, a,b, for the enemy at base trigger and marker
d_base_array =
#ifdef __DEFAULT__
if (isNil "d_with_carrier") then {
if (__OAVer) then {
	[[8006.81,1864.2,0], 500, 200, -210.238]
} else {
	[[4560.96,10291.4,0], 220, 750, -30.6]
}
} else {[[14716.3,542.458,0], 40,230,270]};
#endif
#ifdef __EVERON__
if (isNil "d_with_carrier") then {[[4808.47,11443.2,0], 600, 140, 0]} else {[[14716.3,542.458,0], 40,230,270]};
#endif
#ifdef __TT__
[
	[[4938.07,2427.23,0], 400, 100, 30], // West
	[[12105,12661.4,0], 400, 100, 20] // East
];
#endif

if (AmmoBoxHandling) then {last_ammo_drop = -3423};

#ifdef __TT__
d_tt_points = [
30, // points for the main target winner team
7, // points if draw (main target)
3, // points for destroying main target radio tower
1, // points for main target mission
10, // points for sidemission
1, // points for capturing a camp (main target)
1, // points that get subtracted when loosing a mt camp again
4, // points for destroying a vehicle of the other team
1 // points for killing a member of the other team
];
#endif

// position of radar and anti air at own base
#ifdef __DEFAULT__
if (__OAVer) then {
d_base_radar_pos = [8108.81,1742.59,0];
d_base_anti_air1 = [7802.25,1569.14,0];
d_base_anti_air2 = [8356.78,1875.39,0];

} else {
d_base_radar_pos = [4452.74,10256.3,0];
d_base_anti_air1 = [4210.8,10670.5,0];
d_base_anti_air2 = [4737.63,9774.83,0];
};
#endif
#ifdef __EVERON__
d_base_radar_pos = [4853.66,12051.6,0];
d_base_anti_air1 = [4694.31,11914.1,0];
d_base_anti_air2 = [4710.19,10933.5,0];
#endif

in my i_server file

if (isMultiplayer) then {titleText ["", "BLACK FADED", 0.1]};

if (isNil "paramsArray") then {
if (isClass (missionConfigFile/"Params")) then {
	for "_i" from 0 to (count (missionConfigFile/"Params") - 1) do {
		_paramName = configName ((missionConfigFile >> "Params") select _i);
		__mNsSetVar [_paramName, getNumber (missionConfigFile >> "Params" >> _paramName >> "default")];
	};
};
} else {
for "_i" from 0 to (count paramsArray - 1) do {
	__mNsSetVar [configName ((missionConfigFile >> "Params") select _i), paramsArray select _i];
};
};

#ifdef __TT__
WithJumpFlags = 1;
d_MaxNumAmmoboxes = d_MaxNumAmmoboxes * 2;
#endif
AmmoBoxHandling = if (AmmoBoxHandling == 0) then {false} else {true};
WithBackpack = if (WithBackpack == 1) then {false} else {true};
LimitedWeapons = if (LimitedWeapons == 1) then {false} else {true};
WithChopHud = if (WithChopHud == 1) then {false} else {true};
#ifndef __RANKED__
d_with_ranked = if (d_with_ranked == 1) then {false} else {true};
#else
d_with_ranked = true;
#endif
d_reload_engineoff = if (d_reload_engineoff == 1) then {false} else {true};

d_p_marker_dirs = if (d_p_marker_dirs == 1) then {false} else {true};
d_v_marker_dirs = if (d_v_marker_dirs == 1) then {false} else {true};

d_with_mgnest = if (d_with_mgnest == 1) then {false} else {true};

#ifdef __ACE__
// override for ACE. ACE 2 has it's own backpack/ruck feature
WithBackpack = false;
#endif

#ifdef __WOUNDS__
if (d_wounds_no_ai == 1) then {ace_sys_wounds_noai = true};
#endif

d_with_ai =
#ifdef __AI__
true;
#else
false;
#endif

setViewDistance d_InitialViewDistance;

// this will remove setVehicleInits in BIS effects and should fix sky in fire bug
// probably breaks addons like WarFX, dunno, I'm not using it
#ifndef __ACE__
if (OverrideBISEffects == 0) then {
[] spawn {
	sleep 0.4;
	waitUntil {!isNil "BIS_Effects_Secondaries"};
	__cppfln(BIS_Effects_EH_Killed,BIS_Effects\killed.sqf);
	__cppfln(BIS_Effects_AirDestruction,BIS_Effects\airdestruction.sqf);
	__cppfln(BIS_Effects_AirDestructionStage2,BIS_Effects\airdestructionstage2.sqf);
	__cppfln(BIS_Effects_Burn,BIS_Effects\burn.sqf);
};
};
#endif

d_number_targets_h = d_MainTargets;

if (d_MainTargets >= 50) then {
_h = switch (d_MainTargets) do {
	case 50: {7};
	case 60: {5};
	case 70: {8};
	case 90: {21};
};
d_MainTargets = _h;
};

if (d_GrasAtStart == 1) then {setterraingrid 50};

// WEST, EAST or GUER for own side, setup in x_setup.sqf
#ifdef __OWN_SIDE_WEST__
d_own_side = "WEST";
d_enemy_side = "EAST";
#endif
#ifdef __OWN_SIDE_EAST__
d_own_side = "EAST";
d_enemy_side = "WEST";
#endif
#ifdef __OWN_SIDE_GUER__
d_own_side = "GUER";
d_enemy_side = "EAST";
#endif
#ifdef __TT__
d_enemy_side = "GUER";
d_own_side = "WEST";
#endif

// setup in x_setup.sqf
d_version = [];
#define __adddv(dtype) d_version set [count d_version, #dtype]
#ifdef __OA__
__adddv(OA);
#endif
if (d_with_ai) then {__adddv(AI)};
#ifdef __REVIVE__
__adddv(REVIVE);
#endif
#ifdef __TT__
__adddv(TT);
#endif
#ifdef __ACE__
__adddv(ACE);
#endif
#ifdef __WOUNDS__
__adddv(WOUNDS);
#endif
#ifdef __MANDO__
__adddv(MANDO);
#endif
if (d_with_ranked) then {__adddv(RANKED)};
#ifdef __DEFAULT__
d_target_names =
if (__OAVer) then {
[
	[[1779.68,11808.1,0],"Nur",300], // 0
	[[3082.35,9922.74,0],"Nagara",300], // 1
	[[6220.99,11111.8,0],"Rasman",300], // 2
	[[5662.6,8936.69,0],"Bastam",300], // 3
	[[9858.96,11464.5,0],"Zavarak",300], // 4
	[[12334.2,10247.7,0],"Karachinar",300], // 5
	[[10721.5,6347.16,0],"Garmsar",300], // 6
	[[9127.56,6757.6,0],"Garmarud",300], // 7
	[[5937.14,7282.13,0],"Falar",300], // 8
	[[5253.33,6177.37,0],"Feruz-Abad",300], // 9
	[[3655.71,4316.29,0],"Sakhe",300], // 10
	[[1466.8,3594.07,0],"Shukurkalay",300], // 11
	[[546.094,2811.05,0],"Chaman",300], // 12
	[[8894.68,5272.33,0],"Timurkalay",300], // 13
	[[4438.04,686.898,0],"Chak Chak",300], // 14
	[[10142.7,2336.75,0],"Chardarakht",300], // 15
	[[2003.28,352.347,0],"Landay",300], // 16
	[[1987.14,7657.36,0],"Mulladost",300], // 17
	[[11528.4,8351.98,0],"Ravanay",300], // 18
	[[1507.13,5701.05,0],"Khushab",300], // 19
	[[2528.11,5068.08,0],"Jilavur",300] // 20
]
} else {
[
	[[2733.7,5306.05,0],"Zelenogorsk",300], // 0
	[[6728.4,2590.29,0],"Chernogorsk",300], // 1
	[[10269.5,2110.25,0],"Elektrozavodsk",300], // 2
	[[11146.5,12302.7,0],"Krasnostav",300], // 3
	[[12012.4,9095.97,0],"Berezino",300], // 4
	[[6147.54,7757.34,0],"Stary Sobor",300], // 5
	[[3814.73,8901.37,0],"Vybor",300], // 6
	[[7555.26,5149.45,0],"Mogilevka",300], // 7
	[[10680.4,8054.11,0],"Polana",300], // 8
	[[10412.8,9768.09,0],"Dubrovka",300], // 9
	[[9548.47,8846.42,0],"Gorka",300], // 10
	[[13381.5,6254.74,0],"Solnichniy",300], // 11
	[[10118.6,5521.33,0],"Staroye",300], // 12
	[[1697.54,3847.5,0],"Pavlovo",300], // 13
	[[3075.33,7916.48,0],"Pustoschka",300], // 14
	[[12971.1,10109.1,0],"Berezino Harbour",300], // 15
	[[9178.31,3870.64,0],"Pusta",300], // 16
	[[4741.96,6799.19,0],"Rogovo",300], // 17
	[[4393.77,4606.03,0],"Kozlovka",300], // 18
	[[1828.09,2249.49,0],"Kamenka",300], // 19
	[[8659.28,11840.9,0],"Gvozdno",300] // 20
]
};
#endif
#ifdef __TT__
d_target_names =
if (__OAVer) then {
[
	[[1779.68,11808.1,0],"Nur",300], // 0
	[[3082.35,9922.74,0],"Nagara",300], // 1
	[[5662.6,8936.69,0],"Bastam",300], // 3
	[[9858.96,11464.5,0],"Zavarak",300], // 4
	[[12334.2,10247.7,0],"Karachinar",300], // 5
	[[10721.5,6347.16,0],"Garmsar",300], // 6
	[[9127.56,6757.6,0],"Garmarud",300], // 7
	[[5937.14,7282.13,0],"Falar",300], // 8
	[[5253.33,6177.37,0],"Feruz-Abad",300], // 9
	[[3655.71,4316.29,0],"Sakhe",300], // 10
	[[1466.8,3594.07,0],"Shukurkalay",300], // 11
	[[546.094,2811.05,0],"Chaman",300], // 12
	[[8894.68,5272.33,0],"Timurkalay",300], // 13
	[[4438.04,686.898,0],"Chak Chak",300], // 14
	[[10142.7,2336.75,0],"Chardarakht",300], // 15
	[[2003.28,352.347,0],"Landay",300], // 16
	[[1987.14,7657.36,0],"Mulladost",300], // 17
	[[11528.4,8351.98,0],"Ravanay",300], // 18
	[[1507.13,5701.05,0],"Khushab",300], // 19
	[[2528.11,5068.08,0],"Jilavur",300] // 20
]
} else {
[
	[[2733.7,5306.05,0],"Zelenogorsk",300], // 0
	[[6728.4,2590.29,0],"Chernogorsk",300], // 1
	[[10269.5,2110.25,0],"Elektrozavodsk",300], // 2
	[[11146.5,12302.7,0],"Krasnostav",300], // 3
	[[12012.4,9095.97,0],"Berezino",300], // 4
	[[6147.54,7757.34,0],"Stary Sobor",300], // 5
	[[3814.73,8901.37,0],"Vybor",300], // 6
	[[7555.26,5149.45,0],"Mogilevka",300], // 7
	[[10680.4,8054.11,0],"Polana",300], // 8
	[[10412.8,9768.09,0],"Dubrovka",300], // 9
	[[9548.47,8846.42,0],"Gorka",300], // 10
	[[13381.5,6254.74,0],"Solnichniy",300], // 11
	[[10118.6,5521.33,0],"Staroye",300], // 12
	[[1697.54,3847.5,0],"Pavlovo",300], // 13
	[[3075.33,7916.48,0],"Pustoschka",300], // 14
	[[12971.1,10109.1,0],"Berezino Harbour",300], // 15
	[[9178.31,3870.64,0],"Pusta",300], // 16
	[[4741.96,6799.19,0],"Rogovo",300], // 17
	[[4393.77,4606.03,0],"Kozlovka",300], // 18
	[[1828.09,2249.49,0],"Kamenka",300], // 19
	[[8659.28,11840.9,0],"Gvozdno",300] // 20
]
};
#endif
#ifdef __EVERON__
d_target_names = [
[[4671.13,10722.6,0],"Saint Phillipe",300], // 0
[[4527.21,9506.97,0],"Meaux",300], // 1
[[4941.61,9077.45,0],"Tyrone",300], // 2
[[4135.95,7801.06,0],"Gravette",300], // 3
[[4897.7,6973.78,0],"Montignac",300], // 4
[[5755.12,7052.86,0],"Entre Deux",300], // 5
[[1268.59,5967.68,0],"Lamentin",300], // 6
[[2591.19,5442.5,0],"Le Moule",300], // 7
[[5052.18,3980.89,0],"Morton",300], // 8
[[5297.28,5360.35,0],"Figari",300], // 9
[[5510.28,6084.46,0],"Provins",300], // 10
[[7078.44,6039.96,0],"Chotain",300], // 11
[[7567.68,5573.83,0],"Laruns",300], // 12
[[7554.94,4724.12,0],"Levie",300], // 13
[[7183.02,2293.89,0],"Regina",300], // 14
[[8830.23,2717.55,0],"Durras",300], // 15
[[9114.86,2174.21,0],"Vernon",300], // 16
[[9654.58,1565.62,0],"Saint Pierre",300] // 17
];
#endif

#ifdef __DEBUG__
// only for debugging, creates markers at all main target positions
{
_pos = _x select 0;
_name = _x select 1;
_size = _x select 2;
_marker= createMarkerLocal [_name, _pos];
_marker setMarkerShapeLocal "ELLIPSE";
_name setMarkerColorLocal "ColorGreen";
_name setMarkerSizeLocal [_size,_size];
_name = _name + "xx";
_marker= createMarkerLocal [_name, _pos];
_marker setMarkerTypeLocal "mil_dot";
_name setMarkerColorLocal "ColorBlack";
_name setMarkerSizeLocal [0.5,0.5];
_name setMarkerTextLocal _name;
} forEach d_target_names;
#endif

d_side_enemy = switch (d_enemy_side) do {
case "EAST": {east};
case "WEST": {west};
case "GUER": {resistance};
};

d_side_player =
#ifdef __OWN_SIDE_EAST__
east;
#endif
#ifdef __OWN_SIDE_WEST__
west;
#endif
#ifdef __OWN_SIDE_GUER__
resistance;
#endif
#ifdef __TT__
west;
#endif

d_side_player_str =
#ifdef __OWN_SIDE_EAST__
"east";
#endif
#ifdef __OWN_SIDE_WEST__
"west";
#endif
#ifdef __OWN_SIDE_GUER__
"guerrila";
#endif
#ifdef __TT__
"west";
#endif

d_own_side_trigger =
#ifdef __OWN_SIDE_EAST__
"EAST";
#endif
#ifdef __OWN_SIDE_WEST__
"WEST";
#endif
#ifdef __OWN_SIDE_GUER__
"GUER";
#endif
#ifdef __TT__
"WEST";
#endif

d_ai_enemy_sides =
#ifdef __OWN_SIDE_EAST__
[west];
#endif
#ifdef __OWN_SIDE_WEST__
[east];
#endif
#ifdef __OWN_SIDE_GUER__
[east];
#endif
#ifdef __TT__
[east,west];
#endif

#ifndef __TT__
d_rep_truck = if (__OAVer) then {
if (d_enemy_side == "EAST") then {"MtvrRepair_DES_EP1"} else {"UralRepair_TK_EP1"}
} else {
if (d_enemy_side == "EAST") then {"MtvrRepair"} else {"KamazRepair"}
};
#endif

d_version_string =
#ifdef __OWN_SIDE_EAST__
"East";
#endif
#ifdef __OWN_SIDE_WEST__
"West";
#endif
#ifdef __OWN_SIDE_GUER__
"Guer";
#endif
#ifdef __TT__
"Two Teams";
#endif

// OATODO: check if the flag names are still the same
//default flag GUER
#ifdef __OWN_SIDE_WEST__
FLAG_BASE setflagtexture "\ca\data\flag_usa_co.paa";
#endif
#ifdef __OWN_SIDE_EAST__
if (__OAVer) then {
FLAG_BASE setflagtexture "ca\Ca_E\data\flag_tka_co.paa";
} else {
FLAG_BASE setflagtexture "\ca\data\flag_rus_co.paa";
};
#endif

if (d_with_mgnest) then {
d_mg_nest = 
#ifdef __OWN_SIDE_GUER__
"GUE_WarfareBMGNest_PK";
#endif
#ifdef __OWN_SIDE_EAST__
if (__OAVer) then {
	"WarfareBMGNest_PK_TK_EP1"
} else {
	"RU_WarfareBMGNest_PK"
};
#endif
#ifdef __OWN_SIDE_WEST__
if (__OAVer) then {
	"WarfareBMGNest_M240_US_EP1"
} else {
	"USMC_WarfareBMGNest_M240"
};
#endif
#ifdef __TT__
"";
#endif
};

d_sm_bonus_vehicle_array = (
#ifdef __DEFAULT__
switch (d_own_side) do {
	case "GUER": {["A10","AH1Z","UH1Y","AV8B","AV8B2", "F35B", "M1A2_TUSK_MG","M1A1"]};
	case "WEST": {
		switch (true) do {
			case (__OAVer): {
				if (__ACEVer) then {
					["A10_US_EP1","AH64D_EP1","AH6J_EP1","M1A1_US_DES_EP1","M1A2_US_TUSK_MG_EP1","M6_EP1","ACE_M1A1HC_DESERT","ACE_M1A1HC_TUSK_DESERT","ACE_M1A1HC_TUSK_CSAMM_DESERT","ACE_M1A1HA_TUSK_CSAMM_DESERT","UH60M_EP1"]
				} else {
					["A10_US_EP1","AH64D_EP1","AH6J_EP1","M1A1_US_DES_EP1","M1A2_US_TUSK_MG_EP1","M6_EP1","UH60M_EP1"]
				}
			};
			case (__ACEVer): {
				["A10","AH1Z","UH1Y","AV8B","AV8B2", "F35B", "M1A2_TUSK_MG","M1A1", "AH64D", "ACE_Stryker_MGS_Slat" ,"ACE_Stryker_TOW","ACE_Stryker_TOW_MG","ACE_AH6_GAU19","ACE_AH6","ACE_AH1W_AGM_W","ACE_AH1W_AGM_D","ACE_M2A2_W","ACE_M2A2_D","ACE_M6A1_W","ACE_M6A1_D","ACE_AH1Z_AGM_D","ACE_AH1Z_AGM_AGM_D","ACE_AH1Z_AGM_AGM_W","ACE_M1A1HC_DESERT"]
			};
			default {
				["A10","AH1Z","UH1Y","AV8B","AV8B2", "F35B", "M1A2_TUSK_MG","M1A1","AH64D"]
			};
		}
	};
	case "EAST": {
		switch (true) do {
			case (__OAVer): {
				["Su25_TK_EP1","L39_TK_EP1","Mi24_D_TK_EP1","T72_TK_EP1","T55_TK_EP1","ZSU_TK_EP1"]
			};
			case (__ACEVer): {
				["Su34","Ka52","Ka52Black","Mi24_P","Mi24_V","Su39","T72_RU","2S6M_Tunguska","T90","ACE_T72B_RU","ACE_T72BA_RU","ACE_Su27_CAP","ACE_Su27_CAS","ACE_Su27_CASP"]
			};
			default {
				["Su34","Ka52","Ka52Black","Mi24_P","Mi24_V","Su39","T72_RU","2S6M_Tunguska","T90"]
			};
		}
	};
}
#endif
#ifdef __EVERON__
switch (d_own_side) do {
	case "GUER": {["A10","AH1Z","UH1Y","AV8B","AV8B2", "F35B", "M1A2_TUSK_MG","M1A1"]};
	case "WEST": {
		if (__ACEVer) then {
			["A10","AH1Z","UH1Y","AV8B","AV8B2", "F35B", "M1A2_TUSK_MG","M1A1", "AH64D", "ACE_Stryker_MGS_Slat" ,"ACE_Stryker_TOW","ACE_Stryker_TOW_MG","ACE_AH6_GAU19","ACE_AH6","ACE_AH1W_AGM_W","ACE_AH1W_AGM_D","ACE_M2A2_W","ACE_M2A2_D","ACE_M6A1_W","ACE_M6A1_D","ACE_AH1Z_AGM_D","ACE_AH1Z_AGM_AGM_D","ACE_AH1Z_AGM_AGM_W","ACE_M1A1HC_DESERT"]
		} else {
			["A10","AH1Z","UH1Y","AV8B","AV8B2", "F35B", "M1A2_TUSK_MG","M1A1" ,"AH64D"]
		}
	};
	case "EAST": {
		if (__ACEVer) then {
			["Su34","Ka52","Ka52Black","Mi24_P","Mi24_V","Su39","T72_RU","2S6M_Tunguska","T90","ACE_T72B_RU","ACE_T72BA_RU","ACE_Su27_CAP","ACE_Su27_CAS","ACE_Su27_CASP"]
		} else {
			["Su34","Ka52","Ka52Black","Mi24_P","Mi24_V","Su39","T72_RU","2S6M_Tunguska","T90"]
		}
	};
}
#endif
#ifdef __TT__
switch (true) do {
	case (__OAVer): {
		[
			["A10_US_EP1","AH64D_EP1","AH6J_EP1","M1A1_US_DES_EP1","M1A2_US_TUSK_MG_EP1","M6_EP1"],
			["Su25_TK_EP1","L39_TK_EP1","Mi24_D_TK_EP1","T72_TK_EP1","T55_TK_EP1","ZSU_TK_EP1"]
		]
	};
	case (__ACEVer): {
		[
			["A10","AH1Z","UH1Y","AV8B","AV8B2", "F35B", "M1A2_TUSK_MG","M1A1", "AH64D", "ACE_Stryker_MGS_Slat" ,"ACE_Stryker_TOW","ACE_Stryker_TOW_MG","ACE_AH6_GAU19","ACE_AH6","ACE_AH1W_AGM_W","ACE_AH1W_AGM_D","ACE_M2A2_W","ACE_M2A2_D","ACE_M6A1_W","ACE_M6A1_D","ACE_AH1Z_AGM_D","ACE_AH1Z_AGM_AGM_D","ACE_AH1Z_AGM_AGM_W","ACE_M1A1HC_DESERT"],
			["Su34","Ka52","Ka52Black","Mi24_P","Mi24_V","Su39","T72_RU","2S6M_Tunguska","T90","ACE_T72B_RU","ACE_T72BA_RU","ACE_Su27_CAP","ACE_Su27_CAS","ACE_Su27_CASP"]
		]
	};
	default {
		[
			["A10","AH1Z","UH1Y","AV8B","AV8B2", "F35B", "M1A2_TUSK_MG","M1A1","AH64D"],
			["Su25_TK_EP1","L39_TK_EP1","Mi24_D_TK_EP1","T72_TK_EP1","T55_TK_EP1","ZSU_TK_EP1"]
		]
	};
}
#endif
);

d_mt_bonus_vehicle_array = (
#ifdef __DEFAULT__
switch (d_own_side) do {
	case "GUER": {["BMP2_Gue","BRDM2_Gue","T34","HMMWV_M2","HMMWV_MK19","HMMWV_TOW","HMMWV_Avenger"]};
	case "WEST": {
		switch (true) do {
			case (__OAVer): {
				["M1126_ICV_M2_EP1","M1126_ICV_mk19_EP1","M1128_MGS_EP1","M1129_MC_EP1","M1135_ATGMV_EP1","M2A2_EP1","M2A3_EP1","MLRS_DES_EP1","HMMWV_M1151_M2_DES_EP1","HMMWV_M1151_M2_DES_EP1","HMMWV_M998_crows_M2_DES_EP1","HMMWV_M998_crows_MK19_DES_EP1","HMMWV_M998A2_SOV_DES_EP1","HMMWV_MK19_DES_EP1","HMMWV_TOW_DES_EP1","HMMWV_M1151_M2_CZ_DES_EP1","LandRover_Special_CZ_EP1"]
			};
			case (__ACEVer): {
				["AAV","LAV25","HMMWV_M2","HMMWV_MK19","HMMWV_TOW","MLRS","HMMWV_Avenger", "ACE_Stryker_ICV_M2", "ACE_Stryker_ICV_M2_SLAT","ACE_Stryker_ICV_MK19","ACE_Stryker_ICV_MK19_SLAT","ACE_Stryker_RV","ACE_M113A3","ACE_Vulcan","ACE_HMMWV_GMV","ACE_HMMWV_GMV_MK19"]
			};
			default {
				["AAV","LAV25","HMMWV_M2","HMMWV_MK19","HMMWV_TOW","MLRS","HMMWV_Avenger"]
			};
		}
	};
	case "EAST": {
		switch (true) do {
			case (__OAVer): {
				["BMP2_TK_EP1","BRDM2_ATGM_TK_EP1","BRDM2_TK_EP1","BTR60_TK_EP1","M113_TK_EP1","GRAD_TK_EP1","LandRover_MG_TK_EP1","LandRover_SPG9_TK_EP1","UAZ_AGS30_TK_EP1","UAZ_MG_TK_EP1","Ural_ZU23_TK_EP1"]
			};
			case (__ACEVer): {
				["BMP3","BTR90","GAZ_Vodnik","GAZ_Vodnik_HMG","UAZ_AGS30_RU","GRAD_RU","ACE_BMP2D_RU","ACE_BRDM2_ATGM_RU","ACE_BRDM2_RU","ACE_Ural_ZU23_RU","ACE_BRDM2_SA9_RU","ACE_Offroad_SPG9_INS"]
			};
			default {
				["BMP3","BTR90","GAZ_Vodnik","GAZ_Vodnik_HMG","UAZ_AGS30_RU","GRAD_RU"]
			};
		}
	};
}
#endif
#ifdef __EVERON__
switch (d_own_side) do {
	case "GUER": {["BMP2_Gue","BRDM2_Gue","T34","HMMWV_M2","HMMWV_MK19","HMMWV_TOW","HMMWV_Avenger"]};
	case "WEST": {
		if (__ACEVer) then {
			["AAV","LAV25","HMMWV_M2","HMMWV_MK19","HMMWV_TOW","MLRS","HMMWV_Avenger","ACE_Stryker_ICV_M2", "ACE_Stryker_ICV_M2_SLAT","ACE_Stryker_ICV_MK19","ACE_Stryker_ICV_MK19_SLAT","ACE_Stryker_RV","ACE_M113A3","ACE_Vulcan","ACE_HMMWV_GMV","ACE_HMMWV_GMV_MK19"]
		} else {
			["AAV","LAV25","HMMWV_M2","HMMWV_MK19","HMMWV_TOW","MLRS","HMMWV_Avenger"]
		}
	};
	case "EAST": {
		if (__ACEVer) then {
			["BMP3","BTR90","GAZ_Vodnik","GAZ_Vodnik_HMG","UAZ_AGS30_RU","GRAD_RU","ACE_BMP2D_RU","ACE_BRDM2_ATGM_RU","ACE_BRDM2_RU","ACE_Ural_ZU23_RU","ACE_BRDM2_SA9_RU","ACE_Offroad_SPG9_INS"]
		} else {
			["BMP3","BTR90","GAZ_Vodnik","GAZ_Vodnik_HMG","UAZ_AGS30_RU","GRAD_RU"]
		}
	};
}
#endif
#ifdef __TT__
switch (true) do {
	case (__OAVer): {
		[
			["M1126_ICV_M2_EP1","M1126_ICV_mk19_EP1","M1128_MGS_EP1","M1129_MC_EP1","M1135_ATGMV_EP1","M2A2_EP1","M2A3_EP1","MLRS_DES_EP1","HMMWV_M1151_M2_DES_EP1","HMMWV_M1151_M2_DES_EP1","HMMWV_M998_crows_M2_DES_EP1","HMMWV_M998_crows_MK19_DES_EP1","HMMWV_M998A2_SOV_DES_EP1","HMMWV_MK19_DES_EP1","HMMWV_TOW_DES_EP1","HMMWV_M1151_M2_CZ_DES_EP1","LandRover_Special_CZ_EP1"],
			["BMP2_TK_EP1","BRDM2_ATGM_TK_EP1","BRDM2_TK_EP1","BTR60_TK_EP1","M113_TK_EP1","GRAD_TK_EP1","LandRover_MG_TK_EP1","LandRover_SPG9_TK_EP1","UAZ_AGS30_TK_EP1","UAZ_MG_TK_EP1","Ural_ZU23_TK_EP1"]
		]
	};
	case (__ACEVer): {
		[
			["AAV","LAV25","HMMWV_M2","HMMWV_MK19","HMMWV_TOW","HMMWV_Avenger", "ACE_Stryker_ICV_M2", "ACE_Stryker_ICV_M2_SLAT","ACE_Stryker_ICV_MK19","ACE_Stryker_ICV_MK19_SLAT","ACE_Stryker_RV","ACE_M113A3","ACE_Vulcan","ACE_HMMWV_GMV","ACE_HMMWV_GMV_MK19"],
			["BMP3","BTR90","GAZ_Vodnik","GAZ_Vodnik_HMG","UAZ_AGS30_RU","ACE_BMP2D_RU","ACE_BRDM2_ATGM_RU","ACE_BRDM2_RU","ACE_Ural_ZU23_RU","ACE_BRDM2_SA9_RU","ACE_Offroad_SPG9_INS"]
		]
	};
	default {
		[
			["AAV","LAV25","HMMWV_M2","HMMWV_MK19","HMMWV_TOW","HMMWV_Avenger"],
			["BMP3","BTR90","GAZ_Vodnik","GAZ_Vodnik_HMG","UAZ_AGS30_RU"]
		]
	};
}
#endif
);

// positions for aircraft factories (if one get's destroyed you're not able to service jets/service choppers/repair wrecks)
// first jet service, second chopper service, third wreck repair

d_aircraft_facs =
#ifdef __DEFAULT__
if (__OAVer) then {
[[[7731.88,1694.06,0],333],[[7857.73,1745.96,0],244],[[7970.34,1810.31,0],244]]
} else {
[[[4329.36,10899.2,0],60],[[4397.26,10690.8,0],148],[[4932.19,9773.54,0],325]]
};
#endif
#ifdef __EVERON__
[[[4814.13,11092.8,0],0],[[4841.15,11948,0],0],[[4814.62,11361.6,0],0]];
#endif
#ifdef __TT__
[];
#endif

x_drop_array =
#ifdef __OWN_SIDE_GUER__
switch (true) do {
	case (__ACEVer): {
		[["Drop Artillery", "M119"], ["Drop Humvee","HMMWV"], ["Drop Ammo", "USBasicAmmunitionBox"]]
	};
	case (__OAVer): {
		[["Drop Artillery", "D30_TK_GUE_EP1"], ["Drop Pickup","Pickup_PK_TK_GUE_EP1"], ["Drop Ammo", "USBasicAmmunitionBox"]]
	};
	default {
		[["Drop Artillery", "M119"], ["Drop Humvee","HMMWV"], ["Drop Ammo", "USBasicAmmunitionBox"]]
	};
};
#endif
#ifdef __OWN_SIDE_WEST__
switch (true) do {
	case (__ACEVer): {
		[["Drop Artillery", "M119"], ["Drop Humvee","HMMWV"], ["Drop Ammo", "USBasicAmmunitionBox"]]
	};
	case (__OAVer): {
		[["Drop Artillery", "M119_US_EP1"], ["Drop Humvee","HMMWV_M1035_DES_EP1"], ["Drop Ammo", "USBasicAmmunitionBox_EP1"]]
	};
	default {
		[["Drop Artillery", "M119"], ["Drop Humvee","HMMWV"], ["Drop Ammo", "USBasicAmmunitionBox"]]
	}
};
#endif
#ifdef __OWN_SIDE_EAST__
switch (true) do {
	case (__ACEVer): {
		[["Drop Artillery", "D30_RU"], ["Drop Uaz","UAZ_RU"], ["Drop Ammo", "RUBasicAmmunitionBox"]]
	};
	case (__OAVer): {
		[["Drop Artillery", "D30_TK_EP1"], ["Drop Uaz","UAZ_Unarmed_TK_EP1"], ["Drop Ammo", "TKBasicAmmunitionBox_EP1"]]
	};
	default {
		[["Drop Artillery", "D30_RU"], ["Drop Uaz","UAZ_RU"], ["Drop Ammo", "RUBasicAmmunitionBox"]]
	};
};
#endif
#ifdef __TT__
[["Drop Artillery", "M119"], ["Drop Humvee","HMMWV"], ["Drop Ammo", "USBasicAmmunitionBox"]];
#endif

// side of the pilot that will fly the drop air vehicle
x_drop_side = d_own_side;

// these vehicles can be lifted by the wreck lift chopper (previous chopper 4), but only, if they are completely destroyed
#ifndef __TT__
x_heli_wreck_lift_types = d_sm_bonus_vehicle_array + d_mt_bonus_vehicle_array;
#else
x_heli_wreck_lift_types = (d_sm_bonus_vehicle_array select 0) + (d_sm_bonus_vehicle_array select 1) + (d_mt_bonus_vehicle_array select 0) + (d_mt_bonus_vehicle_array select 1);
#endif

d_next_jump_time = -1;

// d_jumpflag_vec = empty ("") means normal jump flags for HALO jump get created
// if you add a vehicle typename to d_jumpflag_vec (d_jumpflag_vec = "UAZ"; for example) only a vehicle gets created and no HALO jump is available
d_jumpflag_vec = "";

d_side_mission_winner = 0;
d_objectID1 = objNull;
d_objectID2 = objNull;

MEDIC_TENT1 allowDamage false;
#ifndef __CARRIER__
AMMOBUILDING allowDamage false;
#endif
MEDIC_TENT2 allowDamage false;
#ifndef __TT__
if (isNil "d_with_carrier") then {
WALL1 allowDamage false;
WALL2 allowDamage false;
WALL3 allowDamage false;
};
#else
AMMOBUILDING2 allowDamage false;
#endif

// for markers and revive (same like NORRN_player_units)
d_player_entities =  switch (true) do {
case (__ACEVer): {
	["RESCUE","RESCUE2","alpha_1","alpha_2","alpha_3","alpha_4","alpha_5","alpha_6","alpha_7","alpha_8","bravo_1","bravo_2","bravo_4","bravo_5","bravo_6","bravo_7","bravo_8","charlie_1","charlie_2","charlie_4","charlie_5","charlie_6","charlie_7","charlie_8","delta_1","delta_2","delta_3","delta_4","delta_5","echo_1","echo_2","echo_4","echo_5","echo_6","echo_7","echo_8","pilot_1","pilot_2","pilot_3","pilot_4"]
};
case (__OAVer): {
	["RESCUE","RESCUE2","alpha_1","alpha_2","alpha_3","alpha_4","alpha_5","alpha_6","alpha_7","alpha_8","bravo_1","bravo_2","bravo_3","bravo_4","bravo_5","bravo_6","bravo_7","bravo_8","charlie_1","charlie_2","charlie_3","charlie_4","charlie_5","charlie_6","charlie_7","charlie_8","delta_1","delta_2","delta_3","delta_4"]
};
default {
	["RESCUE","RESCUE2","alpha_1","alpha_2","alpha_3","alpha_4","alpha_5","alpha_6","alpha_7","alpha_8","bravo_1","bravo_2","bravo_3","bravo_4","bravo_5","bravo_6","bravo_7","bravo_8","charlie_1","charlie_2","charlie_3","charlie_4","charlie_5","charlie_6","charlie_7","charlie_8","delta_1","delta_2","delta_3","delta_4","delta_5","delta_6","echo_1","echo_2","echo_3","echo_4","echo_5","echo_6","echo_7","echo_8"]
};
};
if (!isDedicated) then {
d_player_roles = switch (true) do {
	case (__ACEVer): {
		["PLT LD","PLT SGT","SL","SN","MG","AT","GL","CM","AR","AM","TL","OP","MG","MM","CM","GL","DS","SL","SN","AR","AT","RM","CM","AT","EN","EN","EN","EN","EN","SL","SN","AT","RM","CM","MG","AT","PL","PL","PL","PL"]
	};
	case (__OAVer): {
		["PLT LD","PLT SGT","SL","SN","MG","AT","GL","CM","AR","AM","TL","OP","GL","MG","MM","CM","GL","DS","SL","SN","AR","AT","RM","CM","MG","AT","EN","EN","EN","EN"]
	};
	default {
		["PLT LD","PLT SGT","SL","SN","MG","AT","GL","CM","AR","AM","TL","OP","GL","MG","MM","CM","GL","DS","SL","SN","AR","AT","RM","CM","MG","AT","EN","EN","EN","EN","EN","EN","SL","SN","AR","AT","RM","CM","MG","AT"]
	};
};
};

// position base, a,b, for the enemy at base trigger and marker
d_base_array =
#ifdef __DEFAULT__
if (isNil "d_with_carrier") then {
if (__OAVer) then {
	[[8006.81,1864.2,0], 500, 200, -210.238]
} else {
	[[4560.96,10291.4,0], 220, 750, -30.6]
}
} else {[[14716.3,542.458,0], 40,230,270]};
#endif
#ifdef __EVERON__
if (isNil "d_with_carrier") then {[[4808.47,11443.2,0], 600, 140, 0]} else {[[14716.3,542.458,0], 40,230,270]};
#endif
#ifdef __TT__
[
	[[4938.07,2427.23,0], 400, 100, 30], // West
	[[12105,12661.4,0], 400, 100, 20] // East
];
#endif

if (AmmoBoxHandling) then {last_ammo_drop = -3423};

#ifdef __TT__
d_tt_points = [
30,
7,
3,
1,
10,
1,
1,
4,
1,
];
#endif

// position of radar and anti air at own base
#ifdef __DEFAULT__
if (__OAVer) then {
d_base_radar_pos = [8108.81,1742.59,0];
d_base_anti_air1 = [7802.25,1569.14,0];
d_base_anti_air2 = [8356.78,1875.39,0];

} else {
d_base_radar_pos = [4452.74,10256.3,0];
d_base_anti_air1 = [4210.8,10670.5,0];
d_base_anti_air2 = [4737.63,9774.83,0];
};
#endif
#ifdef __EVERON__
d_base_radar_pos = [4853.66,12051.6,0];
d_base_anti_air1 = [4694.31,11914.1,0];
d_base_anti_air2 = [4710.19,10933.5,0];
#endif

still not working.

Share this post


Link to post
Share on other sites

still not working.

What's not working. You havn't said what you're trying to do.

Share this post


Link to post
Share on other sites

yeah see i only had 50000 word limit and i ran out and i did not want to double post in fear of being punished from a moderator. and the last 2 post's kind of explianed what is going on.

But any way

i am trying to extract the side mission script from domination to use on a new mission. and the above is where i am up to / stuck.

Share this post


Link to post
Share on other sites

Hey why not just ask the man himself to help you on this. Maybe he will provide it for our community to have. Tankbuster said above it can be done but if you don't know his code well it could be very hard to get to work.

What version of the mission are you trying to edit with. By some of the code you posted it looks like less then 2.60. Xeno will soon release 2.61 version of the mission.

Share this post


Link to post
Share on other sites

Yeah ive sent Xeno a pm asking for his help, hopefully he will put me on the right path or share it with the community. ive tried now for 3months to get a random side mission script to work but can not do it, im at boiling point :mad:

yeah i do believe its 2.60.

Share this post


Link to post
Share on other sites
ive tried now for 3months to get a random side mission script to work but can not do it, im at boiling point :mad:

That's not easy as it means you have to extract half of the mission. The sidemission system shares many functions with the main target system, spawning AI and vehicles, cleaning up groups, AI and other stuff, creating patrols, etc, etc. The system is aligned with the main target system, for example a new sidemission will never show up when a new main target gets created.

Xeno

Share this post


Link to post
Share on other sites
The system is aligned with the main target system, for example a new sidemission will never show up when a new main target gets created.

Xeno

Are you saying that the side mission (or main target script) now won't spawn the two types in the same place? I always thought this would be a cool feature, but given that the order of both types is decided at the start of the mission, I never expected to see it.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now