psychopyro212

Untitled

Mar 26th, 2017
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 447.84 KB | None | 0 0
  1. //==================================================================================================
  2. //
  3. // Generated Map Script
  4. //
  5. // Name:   Risk Legacy
  6. //
  7. //==================================================================================================
  8. include "TriggerLibs/NativeLib"
  9.  
  10. //--------------------------------------------------------------------------------------------------
  11. // Library Initialization
  12. //--------------------------------------------------------------------------------------------------
  13. void InitLibs () {
  14.     libNtve_InitLib();
  15. }
  16.  
  17. //--------------------------------------------------------------------------------------------------
  18. // Global Structures
  19. //--------------------------------------------------------------------------------------------------
  20. struct gs_Bank {
  21.     bank[13] lv_file;
  22.     string lv_sectionPlayer;
  23.     string lv_Win2;
  24.     string lv_Win23;
  25.     string lv_Win24;
  26.     string lv_Win25;
  27.     string lv_Win252;
  28.     string lv_playerELO;
  29.     string lv_sectionSettingAchieve;
  30.     string lv_Win2522;
  31.     string lv_Win2523;
  32.     string lv_Win2524;
  33.     string lv_Win2529;
  34.     string lv_Win2536;
  35.     string lv_Win2525;
  36.     string lv_Win2526;
  37.     string lv_Win2527;
  38.     string lv_Win2528;
  39.     string lv_Win2530;
  40.     string lv_Win2532;
  41.     string lv_Win2533;
  42.     string lv_Win2534;
  43.     string lv_Win2531;
  44.     string lv_Win2535;
  45.     string lv_sectionRanking;
  46.     string lv_Win22;
  47.     string[501] lv_iDList;
  48.     int[501] lv_iDStatus;
  49.     int lv_iDListMax;
  50.     string[501] lv_iDFlagImage;
  51.     string[501] lv_iDFlagTexture;
  52. };
  53.  
  54. struct gs_GameInfo {
  55.     playergroup lv_hideFlag;
  56.     unitgroup lv_flagGroup;
  57.     int lv_maxBases;
  58.     int lv_maxCountries;
  59.     int lv_maxPlayers;
  60.     int lv_minPlayersRanked;
  61.     playergroup lv_playingPlayers;
  62.     bool lv_newbInGame;
  63.     int lv_eLOTransformTotal;
  64.     int lv_eLOWeight;
  65.     bool lv_deathAnimation;
  66.     int lv_battlenetRegion;
  67.     int[16] lv_regionalDefaultSettings;
  68.     timer lv_timer;
  69.     int lv_turns;
  70.     playergroup lv_startingPlayers;
  71.     playergroup lv_startingUsers;
  72.     playergroup lv_winParty;
  73.     bool lv_gameOver;
  74.     bool lv_gameStarted;
  75.     int lv_gameNotificationAmount;
  76.     int lv_gameTeamNotificationAmount;
  77.     int lv_mode;
  78.     int lv_currentTime;
  79.     int lv_incomePeriod;
  80.     int lv_bounty;
  81.     fixed lv_bountyValue;
  82.     int lv_conscripts;
  83.     int lv_alliance;
  84.     int lv_victoryConditionType;
  85.     int lv_victoryConditionPercentage;
  86.     int lv_teamVictoryConditionPercentage;
  87.     int lv_territorialDistribution;
  88.     int lv_card;
  89.     int lv_ranked;
  90.     int lv_visibility;
  91.     int lv_anonymous;
  92.     string[26] lv_unitType;
  93.     string[2][26] lv_unitType_Priorization;
  94. };
  95.  
  96. struct gs_Country {
  97.     string lv_name;
  98.     int lv_income;
  99.     unitgroup lv_bases;
  100.     unit lv_spawnStructure;
  101.     unitgroup lv_spawnGroup;
  102.     point lv_spawnPoint;
  103.     int lv_spawnLimit;
  104.     int lv_spawnEachRound;
  105.     int lv_owner;
  106.     int lv_region;
  107.     string lv_flagTexture;
  108.     string lv_flagImage;
  109.     bool lv_illegibleStartingCountry;
  110. };
  111.  
  112. struct gs_Base {
  113.     unit lv_flag;
  114.     unit lv_defender;
  115.     unit lv_circle;
  116.     unit lv_base;
  117.     point lv_position;
  118.     int lv_owner;
  119. };
  120.  
  121. struct gs_Player {
  122.     int lv_statusValue;
  123.     string lv_statusString;
  124.     string lv_statusImage;
  125.     color lv_currentColour;
  126.     int lv_currentColour2;
  127.     color lv_defaultColour;
  128.     int lv_income_Current;
  129.     int lv_income_Previous;
  130.     int lv_bases;
  131.     int lv_countries;
  132.     fixed lv_bounty;
  133.     int lv_lobbyStatus;
  134.     int lv_homeCountry;
  135.     bool lv_showHideNationality;
  136.     string lv_flagImage;
  137.     string lv_flagTexture;
  138.     int lv_iDStatus;
  139.     int lv_numberOfTrainedUnits;
  140.     bool lv_over30;
  141.     bool lv_used2ndChance;
  142.     string lv_name;
  143.     text lv_nickname;
  144.     int lv_points;
  145.     int lv_win;
  146.     bool lv_playedTutorial;
  147.     int lv_loses;
  148.     int lv_kills;
  149.     int lv_deaths;
  150.     int lv_currentELO;
  151.     bool lv_hackerDetect;
  152.     int lv_mainName;
  153.     int[2] lv_itemName;
  154.     int lv_eloTransform;
  155.     int lv_winningELO;
  156.     int lv_losingELO;
  157. };
  158.  
  159. struct gs_Chat {
  160.     int[13] lv_dialog;
  161.     int[13][13] lv_dialogItem;
  162.     int lv_chatToggle;
  163.     int[13] lv_maxLength;
  164.     bool[13] lv_chatAllToggle;
  165.     int lv_emoticonMax;
  166.     string[78] lv_emoticonText;
  167.     string[78] lv_emoticonIcon;
  168.     int[9][13] lv_creationTime;
  169.     fixed lv_startFade;
  170.     fixed lv_startDuration;
  171.     text[13] lv_chatLog;
  172.     playergroup[13] lv_mutedPlayers;
  173.     int[13] lv_allyChat;
  174. };
  175.  
  176. struct gs_Scoreboard {
  177.     int lv_dialog;
  178.     int lv_background;
  179.     int[21][21] lv_items;
  180.     string lv_image;
  181.     int[13] lv_getPlayerIDviaRow;
  182.     int[13] lv_getRowIDViaPlayer;
  183.     int lv_getNotificationRow;
  184.     int lv_minimize;
  185.     int lv_maxRow;
  186.     string[7] lv_strings;
  187.     int lv_columns;
  188.     int[9] lv_columsDistance;
  189.     int[13][11] lv_columnWidth;
  190.     int lv_columnWidthTotal;
  191.     int lv_flag;
  192.     int lv_username;
  193.     int lv_alliance;
  194.     int lv_income;
  195.     int lv_kills;
  196.     int lv_losses;
  197.     int lv_status;
  198.     int lv_donatorIcon;
  199. };
  200.  
  201. struct gs_CurrencyBar {
  202.     int[13] lv_dialog;
  203.     int[13] lv_items;
  204.     string lv_image;
  205.     int lv_limit;
  206.     int lv_length;
  207.     int lv_height;
  208.     int lv_xPlacement;
  209.     int lv_yPlacement;
  210. };
  211.  
  212. struct gs_InfoPanel {
  213.     int[5] lv_mainMenuButtons;
  214.     int lv_backgroundDialog;
  215. };
  216.  
  217. struct gs_Profile {
  218.     int lv_main;
  219.     int[5] lv_mainDI;
  220.     int lv_statsMain;
  221.     int[13] lv_playerSelectionDI;
  222.     int[13] lv_playerProfile;
  223.     int[6][13] lv_playerProfileDI;
  224.     int[13] lv_achieveProfile;
  225.     int[7][13] lv_achieveVictoryDI;
  226.     int[7][13] lv_achieveKillsDI;
  227.     int[7][13] lv_achieveOtherDI;
  228.     int[9][13] lv_achieveUnitValue;
  229.     int[13] lv_achieveDonateValue;
  230.     int[13] lv_achieveWait;
  231.     int[13] lv_settingsProfile;
  232.     int[6][13] lv_settingsProfileDI;
  233.     int[6][13] lv_settingsProfileValue;
  234. };
  235.  
  236. struct gs_Log {
  237.     int lv_main;
  238.     int[3] lv_mainDI;
  239.     int lv_mapMain;
  240.     int[4] lv_mapDI;
  241.     int[13] lv_currentMap;
  242.     int lv_minimapTurn;
  243.     int[61] lv_minimapDialog;
  244.     int lv_lock;
  245.     int lv_y;
  246.     int lv_messageMain;
  247.     int lv_messageDI;
  248.     int[13] lv_muteDI;
  249. };
  250.  
  251. struct gs_CustomSetting {
  252.     timer lv_countdownTimer;
  253.     int lv_dialog;
  254.     int lv_dialog_Item_CountdownTimer;
  255.     int[11] lv_dialog_Item_Description;
  256.     int[11][6] lv_dialog_Item_CheckBox;
  257.     int[11][11] lv_dialog_Item_Label;
  258.     int[11] lv_dialog_Item_Header;
  259.     int[11][11] lv_dialog_Item_Votes;
  260.     string[11] lv_string_Header;
  261.     string[11] lv_string_Description;
  262.     string[11][11] lv_string_Value;
  263.     string[11][11] lv_string_Value_tooltip;
  264.     playergroup[11][11] lv_settings_Vote;
  265.     bool[11][11] lv_settings_Optional;
  266.     string[11] lv_settingsString;
  267.     string[11] lv_settingsValue;
  268.     bool[13] lv_playerCheck;
  269.     int[11] lv_valueDefault;
  270.     int[11] lv_valueSelected;
  271.     int lv_column_IncomePeriod;
  272.     int lv_column_Bounty;
  273.     int lv_column_TerritorialDistribution;
  274.     int lv_column_VictoryCondition;
  275.     int lv_column_Conscripts;
  276.     int lv_column_Alliance;
  277.     int lv_column_Cards;
  278.     int lv_column_Visibility;
  279.     int lv_column_Anonymous;
  280.     int lv_column_Ranked;
  281. };
  282.  
  283. struct gs_Scenario {
  284.     int lv_dialog;
  285.     timer lv_countdownTimer;
  286.     int lv_dialog_Item_Countdown_Description;
  287.     int lv_dialog_Item_Countdown_Display;
  288.     int[3] lv_dialog_Item_Scenario;
  289.     int[3] lv_dialog_Item_Title;
  290.     int[3] lv_dialog_Item_Vote_Display;
  291.     int[3] lv_dialog_Item_Button;
  292.     int[3] lv_dialog_item_Scenario_Description;
  293.     int[3] lv_dialog_item_Scenario_Stat_Description;
  294.     int[3] lv_dialog_item_Scenario_Stat_Value;
  295.     playergroup[3] lv_scenarioVotes;
  296.     int lv_chosenMode;
  297. };
  298.  
  299. //--------------------------------------------------------------------------------------------------
  300. // Global Preset Declarations
  301. //--------------------------------------------------------------------------------------------------
  302. const int ge_Section_Stat = 0;
  303. const int ge_Section_Setting = 1;
  304. const int ge_Section_Status = 2;
  305. const int ge_PlayerStatus_Normal = 0;
  306. const int ge_PlayerStatus_Banned = 1;
  307. const int ge_PlayerStatus_Admin = 2;
  308. const int ge_PlayerStatus_DonatorLvl1 = 3;
  309. const int ge_PlayerStatus_DonatorLvl2 = 4;
  310. const int ge_PlayerStatus_DonatorLvl3 = 5;
  311. const int ge_PlayerStatus_DonatorLvl4 = 6;
  312. const int ge_Reason_None = 0;
  313. const int ge_Reason_Automatic = 1;
  314. const int ge_Reason_Kicks = 2;
  315. const int ge_Reason_BanHammer = 3;
  316. const int ge_BattlenetServerRegion_Default = 0;
  317. const int ge_BattlenetServerRegion_NAAmerica = 1;
  318. const int ge_BattlenetServerRegion_EUEurope = 2;
  319. const int ge_BattlenetServerRegion_KRKorea = 3;
  320. const int ge_BattlenetServerRegion_SEASouthEastAsia = 4;
  321. const int ge_Mode_Quick = 0;
  322. const int ge_Mode_Custome = 1;
  323. const int ge_Mode_Tutorial = 2;
  324. const int ge_Mode_Solo = 3;
  325. const int ge_Mode_Team = 4;
  326. const int ge_GenericGameInformation_Time = 0;
  327. const int ge_GenericGameInformation_Turn = 1;
  328. const int ge_Status_Dead = 0;
  329. const int ge_Status_Left = 1;
  330. const int ge_Status_Active = 2;
  331. const int ge_Status_AFKAwayfromkeyboard = 3;
  332. const int ge_Status_Winner = 4;
  333. const int ge_Status_Loser = 5;
  334. const int ge_ScoreboardColumn_Name = 0;
  335. const int ge_ScoreboardColumn_Kills = 1;
  336. const int ge_ScoreboardColumn_Death = 2;
  337. const int ge_ScoreboardColumn_Income = 3;
  338. const int ge_ScoreboardColumn_Status = 4;
  339. const int ge_ScoreboardColumn_Time = 5;
  340. const int ge_ScoreboardColumn_Turn = 6;
  341. const int ge_ScoreboardColumn_Notification = 7;
  342. const int ge_ScoreboardColumn_Gray = 8;
  343. const int ge_ScoreboardColumn_Colour = 9;
  344. const int ge_AchieveUnitType_Nothing = 0;
  345. const int ge_AchieveUnitType_Marine = 1;
  346. const int ge_AchieveUnitType_Marauder = 2;
  347. const int ge_AchieveUnitType_Tank = 3;
  348. const int ge_AchieveUnitType_Viking = 4;
  349. const int ge_AchieveUnitType_Banshee = 5;
  350. const int ge_AchieveUnitType_Battlecrusier = 6;
  351. const int ge_AchieveUnitType_Starport = 7;
  352. const int ge_AchieveUnitType_Barracks = 8;
  353. const int ge_IncomePeriod__45 = 0;
  354. const int ge_IncomePeriod__60 = 1;
  355. const int ge_Bounty_Disabled = 0;
  356. const int ge_Bounty_Enabled12 = 1;
  357. const int ge_Bounty_Enabled13 = 2;
  358. const int ge_Bounty_Enabled14 = 3;
  359. const int ge_Bounty_Enabled16 = 4;
  360. const int ge_Spawn_Disabled = 0;
  361. const int ge_Spawn_Enabled = 1;
  362. const int ge_VictoryCondition_Disabled = 0;
  363. const int ge_VictoryCondition__60 = 1;
  364. const int ge_VictoryCondition__70 = 2;
  365. const int ge_VictoryCondition__80 = 3;
  366. const int ge_VictoryCondition__90 = 4;
  367. const int ge_TerritorialDistribution_RandomAllBases = 0;
  368. const int ge_TerritorialDistribution_RandomSingleBase = 1;
  369. const int ge_TerritorialDistribution_RandomCountries = 2;
  370. const int ge_TerritorialDistribution_RandomRegion = 3;
  371. const int ge_Alliance_DisabledFFA = 0;
  372. const int ge_Alliance_EnabledFree = 1;
  373. const int ge_Ranked_Enabled = 0;
  374. const int ge_Ranked_Disabled = 1;
  375. const int ge_Visibility_AllVisible = 0;
  376. const int ge_Visibility_FogofWar = 1;
  377. const int ge_Anonymous_Enabled = 0;
  378. const int ge_Anonymous_Disabled = 1;
  379. const int ge_VisibilitySetting_BlackMarshNoFogofWar = 0;
  380. const int ge_VisibilitySetting_BlackMarshFogofWar = 1;
  381. const int ge_VisibilitySetting_NoBlackMarshFogofWar = 2;
  382. const int ge_VisibilitySetting_NoBlackMarshNoFogofWar = 3;
  383. const int ge_WinConditions_Disabled = 0;
  384. const int ge_WinConditions_DeathMatch = 1;
  385. const int ge_WinConditions_Percent = 2;
  386. const int ge_WinConditions_Phantom = 3;
  387. const int ge_CardSetting_Enabled = 0;
  388. const int ge_CardSetting_Disabled = 1;
  389. const int ge_BountrySetting_Enabled = 0;
  390. const int ge_BountrySetting_Disabled = 1;
  391.  
  392. //--------------------------------------------------------------------------------------------------
  393. // Global Variables
  394. //--------------------------------------------------------------------------------------------------
  395. gs_Bank gv_bank;
  396. gs_GameInfo gv_gameInfo;
  397. gs_Country[74] gv_country;
  398. gs_Base[222] gv_base;
  399. gs_Player[14] gv_player;
  400. int[15] gv_colours;
  401. text gv_chatMessage;
  402. gs_Chat gv_chat;
  403. gs_Scoreboard gv_scoreboard;
  404. gs_CurrencyBar gv_currencyBar;
  405. int gv_respawnDialog;
  406. gs_InfoPanel gv_infoPanel;
  407. gs_Profile gv_profile;
  408. gs_Log gv_log;
  409. gs_CustomSetting gv_customSetting;
  410. gs_Scenario gv_scenario;
  411. bool gv_teamMajority;
  412.  
  413. void InitGlobals () {
  414.     int init_i;
  415.     int init_i1;
  416.     int init_j1;
  417.  
  418.     gv_bank.lv_sectionPlayer = "328977";
  419.     gv_bank.lv_Win2 = "98541";
  420.     gv_bank.lv_Win23 = "13495";
  421.     gv_bank.lv_Win24 = "98635";
  422.     gv_bank.lv_Win25 = "65326";
  423.     gv_bank.lv_Win252 = "45762";
  424.     gv_bank.lv_playerELO = "9856412";
  425.     gv_bank.lv_sectionSettingAchieve = "978127";
  426.     gv_bank.lv_Win2522 = "34645";
  427.     gv_bank.lv_Win2523 = "29474";
  428.     gv_bank.lv_Win2524 = "42346";
  429.     gv_bank.lv_Win2529 = "67365";
  430.     gv_bank.lv_Win2536 = "87666";
  431.     gv_bank.lv_Win2525 = "62378";
  432.     gv_bank.lv_Win2526 = "86342";
  433.     gv_bank.lv_Win2527 = "14366";
  434.     gv_bank.lv_Win2528 = "04704";
  435.     gv_bank.lv_Win2530 = "76598";
  436.     gv_bank.lv_Win2532 = "13634";
  437.     gv_bank.lv_Win2533 = "56756";
  438.     gv_bank.lv_Win2534 = "87232";
  439.     gv_bank.lv_Win2531 = "43357";
  440.     gv_bank.lv_Win2535 = "45689";
  441.     gv_bank.lv_sectionRanking = "973423";
  442.     gv_bank.lv_Win22 = "78245";
  443.     for (init_i1 = 0; init_i1 <= 500; init_i1 += 1) {
  444.         gv_bank.lv_iDList[init_i1] = "";
  445.     }
  446.     for (init_i1 = 0; init_i1 <= 500; init_i1 += 1) {
  447.         gv_bank.lv_iDStatus[init_i1] = ge_PlayerStatus_Normal;
  448.     }
  449.     gv_bank.lv_iDListMax = 1;
  450.     gv_gameInfo.lv_hideFlag = PlayerGroupEmpty();
  451.     gv_gameInfo.lv_flagGroup = UnitGroupEmpty();
  452.     gv_gameInfo.lv_maxBases = 221;
  453.     gv_gameInfo.lv_maxCountries = 73;
  454.     gv_gameInfo.lv_maxPlayers = 12;
  455.     gv_gameInfo.lv_minPlayersRanked = 8;
  456.     gv_gameInfo.lv_playingPlayers = PlayerGroupEmpty();
  457.     gv_gameInfo.lv_eLOWeight = 32;
  458.     gv_gameInfo.lv_deathAnimation = true;
  459.     gv_gameInfo.lv_battlenetRegion = -1;
  460.     gv_gameInfo.lv_timer = TimerCreate();
  461.     gv_gameInfo.lv_turns = -1;
  462.     gv_gameInfo.lv_startingPlayers = PlayerGroupEmpty();
  463.     gv_gameInfo.lv_startingUsers = PlayerGroupEmpty();
  464.     gv_gameInfo.lv_winParty = PlayerGroupEmpty();
  465.     gv_gameInfo.lv_gameNotificationAmount = 67;
  466.     gv_gameInfo.lv_gameTeamNotificationAmount = 12;
  467.     gv_gameInfo.lv_mode = ge_Mode_Quick;
  468.     gv_gameInfo.lv_incomePeriod = 60;
  469.     gv_gameInfo.lv_bounty = ge_Bounty_Enabled14;
  470.     gv_gameInfo.lv_bountyValue = 4.0;
  471.     gv_gameInfo.lv_conscripts = ge_Spawn_Enabled;
  472.     gv_gameInfo.lv_alliance = ge_Alliance_DisabledFFA;
  473.     gv_gameInfo.lv_victoryConditionType = ge_WinConditions_Percent;
  474.     gv_gameInfo.lv_victoryConditionPercentage = 70;
  475.     gv_gameInfo.lv_teamVictoryConditionPercentage = 90;
  476.     gv_gameInfo.lv_territorialDistribution = ge_TerritorialDistribution_RandomAllBases;
  477.     gv_gameInfo.lv_card = ge_CardSetting_Disabled;
  478.     gv_gameInfo.lv_ranked = ge_Ranked_Disabled;
  479.     gv_gameInfo.lv_visibility = ge_Visibility_AllVisible;
  480.     for (init_i = 0; init_i <= 73; init_i += 1) {
  481.         gv_country[init_i].lv_name = "";
  482.         gv_country[init_i].lv_bases = UnitGroupEmpty();
  483.         gv_country[init_i].lv_spawnGroup = UnitGroupEmpty();
  484.     }
  485.     for (init_i = 0; init_i <= 13; init_i += 1) {
  486.         gv_player[init_i].lv_statusString = "Active";
  487.         gv_player[init_i].lv_currentColour = Color(0,0,0);
  488.         gv_player[init_i].lv_defaultColour = Color(0,0,0);
  489.         gv_player[init_i].lv_iDStatus = ge_PlayerStatus_Normal;
  490.         gv_player[init_i].lv_name = "";
  491.         gv_player[init_i].lv_nickname = StringToText("Anonymous");
  492.         gv_player[init_i].lv_mainName = c_invalidDialogId;
  493.         for (init_i1 = 0; init_i1 <= 1; init_i1 += 1) {
  494.             gv_player[init_i].lv_itemName[init_i1] = c_invalidDialogControlId;
  495.         }
  496.     }
  497.     for (init_i = 0; init_i <= 14; init_i += 1) {
  498.         gv_colours[init_i] = 1;
  499.     }
  500.     for (init_i1 = 0; init_i1 <= 12; init_i1 += 1) {
  501.         gv_chat.lv_dialog[init_i1] = c_invalidDialogId;
  502.     }
  503.     for (init_i1 = 0; init_i1 <= 12; init_i1 += 1) {
  504.         for (init_j1 = 0; init_j1 <= 12; init_j1 += 1) {
  505.             gv_chat.lv_dialogItem[init_i1][init_j1] = c_invalidDialogControlId;
  506.         }
  507.     }
  508.     gv_chat.lv_chatToggle = c_invalidDialogControlId;
  509.     for (init_i1 = 0; init_i1 <= 12; init_i1 += 1) {
  510.         gv_chat.lv_maxLength[init_i1] = 7;
  511.     }
  512.     for (init_i1 = 0; init_i1 <= 12; init_i1 += 1) {
  513.         gv_chat.lv_chatAllToggle[init_i1] = true;
  514.     }
  515.     gv_chat.lv_emoticonMax = 77;
  516.     for (init_i1 = 0; init_i1 <= 77; init_i1 += 1) {
  517.         gv_chat.lv_emoticonText[init_i1] = "";
  518.     }
  519.     for (init_i1 = 0; init_i1 <= 77; init_i1 += 1) {
  520.         gv_chat.lv_emoticonIcon[init_i1] = "";
  521.     }
  522.     for (init_i1 = 0; init_i1 <= 8; init_i1 += 1) {
  523.         for (init_j1 = 0; init_j1 <= 12; init_j1 += 1) {
  524.             gv_chat.lv_creationTime[init_i1][init_j1] = 14;
  525.         }
  526.     }
  527.     gv_chat.lv_startFade = 4.0;
  528.     gv_chat.lv_startDuration = 14.0;
  529.     for (init_i1 = 0; init_i1 <= 12; init_i1 += 1) {
  530.         gv_chat.lv_mutedPlayers[init_i1] = PlayerGroupEmpty();
  531.     }
  532.     gv_scoreboard.lv_dialog = c_invalidDialogId;
  533.     gv_scoreboard.lv_background = c_invalidDialogControlId;
  534.     for (init_i1 = 0; init_i1 <= 20; init_i1 += 1) {
  535.         for (init_j1 = 0; init_j1 <= 20; init_j1 += 1) {
  536.             gv_scoreboard.lv_items[init_i1][init_j1] = c_invalidDialogControlId;
  537.         }
  538.     }
  539.     gv_scoreboard.lv_image = "Assets\\Textures\\ui_ingame_leaderboard_dropdownframe.dds";
  540.     gv_scoreboard.lv_minimize = c_invalidDialogControlId;
  541.     for (init_i1 = 0; init_i1 <= 6; init_i1 += 1) {
  542.         gv_scoreboard.lv_strings[init_i1] = "";
  543.     }
  544.     gv_scoreboard.lv_username = 1;
  545.     gv_scoreboard.lv_alliance = 2;
  546.     gv_scoreboard.lv_income = 3;
  547.     gv_scoreboard.lv_kills = 4;
  548.     gv_scoreboard.lv_losses = 5;
  549.     gv_scoreboard.lv_status = 6;
  550.     gv_scoreboard.lv_donatorIcon = 7;
  551.     for (init_i1 = 0; init_i1 <= 12; init_i1 += 1) {
  552.         gv_currencyBar.lv_dialog[init_i1] = c_invalidDialogId;
  553.     }
  554.     for (init_i1 = 0; init_i1 <= 12; init_i1 += 1) {
  555.         gv_currencyBar.lv_items[init_i1] = c_invalidDialogControlId;
  556.     }
  557.     gv_currencyBar.lv_image = "Assets\\Textures\\white32.dds";
  558.     gv_currencyBar.lv_limit = 750;
  559.     gv_currencyBar.lv_length = 500;
  560.     gv_currencyBar.lv_height = 30;
  561.     gv_currencyBar.lv_yPlacement = 50;
  562.     gv_respawnDialog = c_invalidDialogControlId;
  563.     for (init_i1 = 0; init_i1 <= 4; init_i1 += 1) {
  564.         gv_infoPanel.lv_mainMenuButtons[init_i1] = c_invalidDialogControlId;
  565.     }
  566.     gv_infoPanel.lv_backgroundDialog = c_invalidDialogId;
  567.     gv_profile.lv_main = c_invalidDialogId;
  568.     for (init_i1 = 0; init_i1 <= 4; init_i1 += 1) {
  569.         gv_profile.lv_mainDI[init_i1] = c_invalidDialogControlId;
  570.     }
  571.     gv_profile.lv_statsMain = c_invalidDialogId;
  572.     for (init_i1 = 0; init_i1 <= 12; init_i1 += 1) {
  573.         gv_profile.lv_playerSelectionDI[init_i1] = c_invalidDialogControlId;
  574.     }
  575.     for (init_i1 = 0; init_i1 <= 12; init_i1 += 1) {
  576.         gv_profile.lv_playerProfile[init_i1] = c_invalidDialogId;
  577.     }
  578.     for (init_i1 = 0; init_i1 <= 5; init_i1 += 1) {
  579.         for (init_j1 = 0; init_j1 <= 12; init_j1 += 1) {
  580.             gv_profile.lv_playerProfileDI[init_i1][init_j1] = c_invalidDialogControlId;
  581.         }
  582.     }
  583.     for (init_i1 = 0; init_i1 <= 12; init_i1 += 1) {
  584.         gv_profile.lv_achieveProfile[init_i1] = c_invalidDialogId;
  585.     }
  586.     for (init_i1 = 0; init_i1 <= 6; init_i1 += 1) {
  587.         for (init_j1 = 0; init_j1 <= 12; init_j1 += 1) {
  588.             gv_profile.lv_achieveVictoryDI[init_i1][init_j1] = c_invalidDialogControlId;
  589.         }
  590.     }
  591.     for (init_i1 = 0; init_i1 <= 6; init_i1 += 1) {
  592.         for (init_j1 = 0; init_j1 <= 12; init_j1 += 1) {
  593.             gv_profile.lv_achieveKillsDI[init_i1][init_j1] = c_invalidDialogControlId;
  594.         }
  595.     }
  596.     for (init_i1 = 0; init_i1 <= 6; init_i1 += 1) {
  597.         for (init_j1 = 0; init_j1 <= 12; init_j1 += 1) {
  598.             gv_profile.lv_achieveOtherDI[init_i1][init_j1] = c_invalidDialogControlId;
  599.         }
  600.     }
  601.     for (init_i1 = 0; init_i1 <= 12; init_i1 += 1) {
  602.         gv_profile.lv_settingsProfile[init_i1] = c_invalidDialogId;
  603.     }
  604.     for (init_i1 = 0; init_i1 <= 5; init_i1 += 1) {
  605.         for (init_j1 = 0; init_j1 <= 12; init_j1 += 1) {
  606.             gv_profile.lv_settingsProfileDI[init_i1][init_j1] = c_invalidDialogControlId;
  607.         }
  608.     }
  609.     for (init_i1 = 0; init_i1 <= 5; init_i1 += 1) {
  610.         for (init_j1 = 0; init_j1 <= 12; init_j1 += 1) {
  611.             gv_profile.lv_settingsProfileValue[init_i1][init_j1] = 1;
  612.         }
  613.     }
  614.     gv_log.lv_main = c_invalidDialogId;
  615.     for (init_i1 = 0; init_i1 <= 2; init_i1 += 1) {
  616.         gv_log.lv_mainDI[init_i1] = c_invalidDialogControlId;
  617.     }
  618.     gv_log.lv_mapMain = c_invalidDialogId;
  619.     for (init_i1 = 0; init_i1 <= 3; init_i1 += 1) {
  620.         gv_log.lv_mapDI[init_i1] = c_invalidDialogControlId;
  621.     }
  622.     for (init_i1 = 0; init_i1 <= 60; init_i1 += 1) {
  623.         gv_log.lv_minimapDialog[init_i1] = c_invalidDialogId;
  624.     }
  625.     gv_log.lv_lock = -1;
  626.     gv_log.lv_y = 280;
  627.     gv_log.lv_messageMain = c_invalidDialogId;
  628.     gv_log.lv_messageDI = c_invalidDialogControlId;
  629.     for (init_i1 = 0; init_i1 <= 12; init_i1 += 1) {
  630.         gv_log.lv_muteDI[init_i1] = c_invalidDialogControlId;
  631.     }
  632.     gv_customSetting.lv_countdownTimer = TimerCreate();
  633.     gv_customSetting.lv_dialog = c_invalidDialogId;
  634.     gv_customSetting.lv_dialog_Item_CountdownTimer = c_invalidDialogControlId;
  635.     for (init_i1 = 0; init_i1 <= 10; init_i1 += 1) {
  636.         gv_customSetting.lv_dialog_Item_Description[init_i1] = c_invalidDialogControlId;
  637.     }
  638.     for (init_i1 = 0; init_i1 <= 10; init_i1 += 1) {
  639.         for (init_j1 = 0; init_j1 <= 5; init_j1 += 1) {
  640.             gv_customSetting.lv_dialog_Item_CheckBox[init_i1][init_j1] = c_invalidDialogControlId;
  641.         }
  642.     }
  643.     for (init_i1 = 0; init_i1 <= 10; init_i1 += 1) {
  644.         for (init_j1 = 0; init_j1 <= 10; init_j1 += 1) {
  645.             gv_customSetting.lv_dialog_Item_Label[init_i1][init_j1] = c_invalidDialogControlId;
  646.         }
  647.     }
  648.     for (init_i1 = 0; init_i1 <= 10; init_i1 += 1) {
  649.         gv_customSetting.lv_dialog_Item_Header[init_i1] = c_invalidDialogControlId;
  650.     }
  651.     for (init_i1 = 0; init_i1 <= 10; init_i1 += 1) {
  652.         for (init_j1 = 0; init_j1 <= 10; init_j1 += 1) {
  653.             gv_customSetting.lv_dialog_Item_Votes[init_i1][init_j1] = c_invalidDialogControlId;
  654.         }
  655.     }
  656.     for (init_i1 = 0; init_i1 <= 10; init_i1 += 1) {
  657.         gv_customSetting.lv_string_Header[init_i1] = "";
  658.     }
  659.     for (init_i1 = 0; init_i1 <= 10; init_i1 += 1) {
  660.         gv_customSetting.lv_string_Description[init_i1] = "";
  661.     }
  662.     for (init_i1 = 0; init_i1 <= 10; init_i1 += 1) {
  663.         for (init_j1 = 0; init_j1 <= 10; init_j1 += 1) {
  664.             gv_customSetting.lv_string_Value[init_i1][init_j1] = "";
  665.         }
  666.     }
  667.     for (init_i1 = 0; init_i1 <= 10; init_i1 += 1) {
  668.         for (init_j1 = 0; init_j1 <= 10; init_j1 += 1) {
  669.             gv_customSetting.lv_string_Value_tooltip[init_i1][init_j1] = "";
  670.         }
  671.     }
  672.     for (init_i1 = 0; init_i1 <= 10; init_i1 += 1) {
  673.         for (init_j1 = 0; init_j1 <= 10; init_j1 += 1) {
  674.             gv_customSetting.lv_settings_Vote[init_i1][init_j1] = PlayerGroupEmpty();
  675.         }
  676.     }
  677.     for (init_i1 = 0; init_i1 <= 10; init_i1 += 1) {
  678.         for (init_j1 = 0; init_j1 <= 10; init_j1 += 1) {
  679.             gv_customSetting.lv_settings_Optional[init_i1][init_j1] = true;
  680.         }
  681.     }
  682.     for (init_i1 = 0; init_i1 <= 10; init_i1 += 1) {
  683.         gv_customSetting.lv_settingsString[init_i1] = "";
  684.     }
  685.     for (init_i1 = 0; init_i1 <= 10; init_i1 += 1) {
  686.         gv_customSetting.lv_settingsValue[init_i1] = "";
  687.     }
  688.     gv_customSetting.lv_column_Bounty = 1;
  689.     gv_customSetting.lv_column_TerritorialDistribution = 2;
  690.     gv_customSetting.lv_column_VictoryCondition = 3;
  691.     gv_customSetting.lv_column_Conscripts = 4;
  692.     gv_customSetting.lv_column_Alliance = 5;
  693.     gv_customSetting.lv_column_Cards = 6;
  694.     gv_customSetting.lv_column_Visibility = 7;
  695.     gv_customSetting.lv_column_Anonymous = 8;
  696.     gv_customSetting.lv_column_Ranked = 9;
  697.     gv_scenario.lv_dialog = c_invalidDialogId;
  698.     gv_scenario.lv_countdownTimer = TimerCreate();
  699.     gv_scenario.lv_dialog_Item_Countdown_Description = c_invalidDialogControlId;
  700.     gv_scenario.lv_dialog_Item_Countdown_Display = c_invalidDialogControlId;
  701.     for (init_i1 = 0; init_i1 <= 2; init_i1 += 1) {
  702.         gv_scenario.lv_dialog_Item_Scenario[init_i1] = c_invalidDialogControlId;
  703.     }
  704.     for (init_i1 = 0; init_i1 <= 2; init_i1 += 1) {
  705.         gv_scenario.lv_dialog_Item_Title[init_i1] = c_invalidDialogControlId;
  706.     }
  707.     for (init_i1 = 0; init_i1 <= 2; init_i1 += 1) {
  708.         gv_scenario.lv_dialog_Item_Vote_Display[init_i1] = c_invalidDialogControlId;
  709.     }
  710.     for (init_i1 = 0; init_i1 <= 2; init_i1 += 1) {
  711.         gv_scenario.lv_dialog_Item_Button[init_i1] = c_invalidDialogControlId;
  712.     }
  713.     for (init_i1 = 0; init_i1 <= 2; init_i1 += 1) {
  714.         gv_scenario.lv_dialog_item_Scenario_Description[init_i1] = c_invalidDialogControlId;
  715.     }
  716.     for (init_i1 = 0; init_i1 <= 2; init_i1 += 1) {
  717.         gv_scenario.lv_dialog_item_Scenario_Stat_Description[init_i1] = c_invalidDialogControlId;
  718.     }
  719.     for (init_i1 = 0; init_i1 <= 2; init_i1 += 1) {
  720.         gv_scenario.lv_dialog_item_Scenario_Stat_Value[init_i1] = c_invalidDialogControlId;
  721.     }
  722.     for (init_i1 = 0; init_i1 <= 2; init_i1 += 1) {
  723.         gv_scenario.lv_scenarioVotes[init_i1] = PlayerGroupEmpty();
  724.     }
  725. }
  726.  
  727. //--------------------------------------------------------------------------------------------------
  728. // Global Function Declarations
  729. //--------------------------------------------------------------------------------------------------
  730. void gf_PredefineCountries (int lp__23);
  731. void gf_SetupCustomDialog ();
  732. void gf_SetCustomValues ();
  733. void gf_SetCustomSetting ();
  734. void gf_SettingsTracker ();
  735. void gf_ChangeUI (int lp_player, int lp_setting, int lp_chooseThisSetting);
  736. int gf_CheckVote (int lp_setting);
  737. void gf_ApplySetting ();
  738. void gf_ApplyIncomePeriod (int lp_parameter);
  739. void gf_ApplyBounty (int lp_parameter);
  740. void gf_ApplyTerritorialDistribution (int lp_parameter);
  741. void gf_ApplyVictoryCondition (int lp_parameter);
  742. void gf_ApplyConscripts (int lp_parameter);
  743. void gf_ApplyAlliance (int lp_parameter);
  744. void gf_ApplyCards (int lp_parameter);
  745. void gf_ApplyVisibility (int lp_parameter);
  746. void gf_ApplyAnonymous (int lp_parameter);
  747. void gf_ApplyRanked ();
  748. void gf_ScenarioListener (int lp_dialogItem, int lp_player);
  749. void gf_CustomListener (int lp_dialogItem, int lp_player);
  750. void gf_OverlayListener (int lp_dialogItem, int lp_player);
  751. void gf_ProfileListener (int lp_dialogItem, int lp_player);
  752. void gf_AchievementListener (int lp_dialogItem, int lp_player);
  753. void gf_AchieveWait (int lp_player);
  754. void gf_SettingsListener (int lp_dialogItem, int lp_player);
  755. void gf_LogListener (int lp_dialogItem, int lp_player);
  756. void gf_Scoreboard_Listener (int lp_player, int lp_dialogItem);
  757. void gf_OtherListener (int lp_dialogItem, int lp_player);
  758. void gf_PlayerChatMessage (int lp_player, string lp_string);
  759. void gf_ChatMessage (int lp_player, text lp_message, int lp_notification);
  760. void gf_NotificationChatManagement (int lp_player, text lp_text);
  761. void gf_ChatManagement (int lp_player, int lp_postingPlayer, string lp_message);
  762. void gf_ChatMessageFadeout (int lp_player, int lp_dialogItem);
  763. void gf_InitDialogFading (int lp_dialogItem);
  764. void gf_InfoCreate ();
  765. void gf_AchieveChangeAllUnits (int lp_player, int lp_section);
  766. void gf_AchieveChangeUnit (int lp_player, unit lp_unit);
  767. void gf_UpdateNewPlayers ();
  768. void gf_InfoPanelProfile ();
  769. void gf_InfoPanelUpdateStatsAchievements ();
  770. void gf_InfoPanelLog ();
  771. void gf_InfoPanelCheckMinimapHistory ();
  772. void gf_InfoPanelCreateMinimapHistory (int lp_integer);
  773. void gf_MissionStatement (int lp_player);
  774. void gf_BankPreload ();
  775. void gf_BankOpen ();
  776. void gf_BankLoad (int lp_player);
  777. void gf_BankSave (int lp_player, bool lp_leaving);
  778. void gf_BankHackerDetected (int lp_player);
  779. void gf_BankIDList (int lp_player);
  780. void gf_AddUnitEntersUnitRegionEvent (trigger lp_trigger, region lp_region);
  781. void gf_setCustomValueOfUnit (unit lp_unit, int lp_integer);
  782. bool gf_ApprovedName (string lp_string);
  783. fixed gf_getMinimapUnitX (unit lp_unit);
  784. fixed gf_getMinimapUnitY (unit lp_unit);
  785. int gf_getPoints (int lp_player);
  786. int gf_getCustomUnitValue (unit lp_unit, int lp_integer);
  787. int gf_getNextActivePlayer (int lp_player, bool lp_bool);
  788. playergroup gf_returnPlayerGroup (playergroup lp_playergrp, bool lp_bool_users, bool lp_bool_npc, bool lp_bool_spectators);
  789. bool gf_PlayerMeetsCondition (int lp_player, bool lp_bool_users, bool lp_bool_npc, bool lp_bool_spectators);
  790. unit gf_PrioritizeDefender (unit lp_attacker_Unit, fixed lp_radius);
  791. unitgroup gf_getUnitsSortedByPrioritization (int lp_player, unitgroup lp_unitGroupParam);
  792. unit gf_getUnitSortedByHealth (int lp_player, unitgroup lp_unitGroup);
  793. int gf_getPriorizationValueOfUnitType (unit lp_unit);
  794. bool gf_AnyoneElseHasNationality (int lp_player, int lp_country);
  795. void gf_RefreshWinCondition ();
  796. void gf_RefreshScoreboard (int lp_player, int lp_column, text lp_message);
  797. void gf_RefreshAllFlag (int lp_player, int lp_country);
  798. void gf_RefreshPlayerStatus (int lp_player, int lp_status);
  799. void gf_RefreshTimeInfo (int lp_genericGameInformation);
  800. void gf_RefreshIncome ();
  801. void gf_RefreshAddIncome ();
  802. void gf_RefreshConscriptManager ();
  803. void gf_RefreshConscriptUnit (int lp_country);
  804. void gf_RefreshNotification (int lp_player);
  805. void gf_RefreshShowBases ();
  806. void gf_ChangeNickName (int lp_player, text lp_text);
  807. void gf_RandomizePlayerColour ();
  808. void gf_SetCurrentColour (int lp_player, bool lp_boolean);
  809. void gf_RespawnTree (point lp_deadTreePosition);
  810. void gf_BountyAddition (unit lp_untitledParameter001, point lp_dyingPosition, int lp_dying, int lp_killing);
  811. void gf_AnonymizeUnit (unit lp_unit);
  812. void gf_AnonymizeAllUnit ();
  813. void gf_ChangeDefender (unit lp_new, unit lp_old);
  814. void gf_ShowHideActorForPlayerGroup (playergroup lp_players, actor lp_actor, bool lp_show);
  815. void gf_SetNationality (int lp_player, int lp_country);
  816. void gf_ShowHideAllFlag (int lp_player, bool lp_showHide);
  817. void gf_ShowHideIndvFlag (bool lp_showHide, int lp_base);
  818. void gf_RefreshIndividualFlag (int lp_player, int lp_base);
  819. void gf_ChangeFlagsTexture (int lp_player, int lp_flag_by_country_id);
  820. void gf_RandomimizeNationality (int lp_player, int lp_country, bool lp_boolean);
  821. void gf_RefreshPauseAndHaloGlow (int lp_player);
  822. void gf_RefreshVictoryPercentage ();
  823. void gf_BaseDistribution (int lp_parameter);
  824. void gf_SetupBase (int lp_player, int lp_integer);
  825. void gf_RandomAllBases ();
  826. void gf_RandomSingleBase ();
  827. void gf_RandomCountries ();
  828. void gf_RandomRegion ();
  829. void gf_PingLocationofBases ();
  830. void gf_SetupBaseOwnership (int lp_player, int lp_integer);
  831. void gf_SetupCountryOwnership (int lp_player, int lp_integer);
  832. void gf_BaseConquestSequence (unit lp_killing, unit lp_dying);
  833. void gf_DefenderSettings (unit lp_new, unit lp_old, bool lp_bool);
  834. void gf_CountryConquestSequence (int lp_capturingPlayer, int lp_losingPlayer, int lp_country);
  835. void gf_SpawnControlGroup (int lp_killing, int lp_dead);
  836. void gf_FixNoDefenderBug (int lp_player);
  837. bool gf_ConditionsRequirementsForConquest (unit lp_killing, unit lp_dying);
  838. bool gf_UnitTypeCondition (unit lp_unit);
  839. bool gf_BaseReadyToBeConquered (unit lp_killing, unit lp_dying);
  840.  
  841. //--------------------------------------------------------------------------------------------------
  842. // Trigger Variables
  843. //--------------------------------------------------------------------------------------------------
  844. trigger gt_SetupGame;
  845. trigger gt_SetupGateway;
  846. trigger gt_SetupID;
  847. trigger gt_SetupBank;
  848. trigger gt_SetupUnits;
  849. trigger gt_SetupCountries;
  850. trigger gt_SetupBases;
  851. trigger gt_SetupOther;
  852. trigger gt_SetupScreenFade;
  853. trigger gt_GameInitialization;
  854. trigger gt_SetupCurrencyBar;
  855. trigger gt_TutorialMode;
  856. trigger gt_Reminders;
  857. trigger gt_SetupScoreboard;
  858. trigger gt_SetupCustomChatUI;
  859. trigger gt_ScreenButton1;
  860. trigger gt_GameDialogUsed;
  861. trigger gt_Chat;
  862. trigger gt_Refresh;
  863. trigger gt_RefreshCurrencyBar;
  864. trigger gt_PlayerLeaves;
  865. trigger gt_unitcap;
  866. trigger gt_UnitUnload;
  867. trigger gt_UnitDies;
  868. trigger gt_UnitDies2;
  869. trigger gt_UnitTrain;
  870. trigger gt_ChangeDefender;
  871. trigger gt_SelectHomeland;
  872. trigger gt_CheckNoDefender;
  873.  
  874. //--------------------------------------------------------------------------------------------------
  875. // Global Presets
  876. //--------------------------------------------------------------------------------------------------
  877.  
  878. //--------------------------------------------------------------------------------------------------
  879. // Global Functions
  880. //--------------------------------------------------------------------------------------------------
  881. void gf_PredefineCountries (int lp__23) {
  882.     int auto7873AE6B_val;
  883.  
  884.     // Variable Declarations
  885.     int lv__23;
  886.  
  887.     // Variable Initialization
  888.     lv__23 = lp__23;
  889.  
  890.     // Implementation
  891.     auto7873AE6B_val = lv__23;
  892.     if (auto7873AE6B_val == 0) {
  893.         gv_country[lv__23].lv_name = "No Nationality";
  894.         gv_country[lv__23].lv_flagTexture = "Nothing";
  895.         gv_country[lv__23].lv_flagImage = "Assets\\Textures\\white32.dds";
  896.     }
  897.     else if (auto7873AE6B_val == 1) {
  898.         gv_country[lv__23].lv_name = "Iceland";
  899.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2287);
  900.         gv_country[lv__23].lv_flagTexture = "Iceland";
  901.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Iceland.tga";
  902.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(176));
  903.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(174));
  904.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(177));
  905.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(175));
  906.     }
  907.     else if (auto7873AE6B_val == 2) {
  908.         gv_country[lv__23].lv_name = "Ireland";
  909.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2289);
  910.         gv_country[lv__23].lv_flagTexture = "Ireland";
  911.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Ireland.tga";
  912.         gv_country[lv__23].lv_region = 1;
  913.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  914.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(15));
  915.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(16));
  916.     }
  917.     else if (auto7873AE6B_val == 3) {
  918.         gv_country[lv__23].lv_name = "England";
  919.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2288);
  920.         gv_country[lv__23].lv_flagTexture = "England";
  921.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\England.tga";
  922.         gv_country[lv__23].lv_region = 1;
  923.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(14));
  924.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(11));
  925.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(13));
  926.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(1460));
  927.     }
  928.     else if (auto7873AE6B_val == 4) {
  929.         gv_country[lv__23].lv_name = "Norway";
  930.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2286);
  931.         gv_country[lv__23].lv_flagTexture = "NorwaySvalbard";
  932.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Norway.tga";
  933.         gv_country[lv__23].lv_region = 2;
  934.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(168));
  935.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(171));
  936.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(169));
  937.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(172));
  938.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(173));
  939.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(170));
  940.     }
  941.     else if (auto7873AE6B_val == 5) {
  942.         gv_country[lv__23].lv_name = "Sweden";
  943.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2285);
  944.         gv_country[lv__23].lv_flagTexture = "Sweden";
  945.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Sweden.tga";
  946.         gv_country[lv__23].lv_region = 2;
  947.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(167));
  948.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(165));
  949.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(166));
  950.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(164));
  951.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(163));
  952.     }
  953.     else if (auto7873AE6B_val == 6) {
  954.         gv_country[lv__23].lv_name = "Finland";
  955.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2284);
  956.         gv_country[lv__23].lv_flagTexture = "Finland";
  957.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Finland.tga";
  958.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(159));
  959.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(158));
  960.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(161));
  961.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(162));
  962.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(160));
  963.     }
  964.     else if (auto7873AE6B_val == 7) {
  965.         gv_country[lv__23].lv_name = "Denmark";
  966.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2298);
  967.         gv_country[lv__23].lv_flagTexture = "Denmark";
  968.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Denmark.tga";
  969.         gv_country[lv__23].lv_region = 3;
  970.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(140));
  971.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(141));
  972.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(142));
  973.     }
  974.     else if (auto7873AE6B_val == 8) {
  975.         gv_country[lv__23].lv_name = "Morocco";
  976.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2248);
  977.         gv_country[lv__23].lv_flagTexture = "Morocco";
  978.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Morocco.tga";
  979.         gv_country[lv__23].lv_region = 4;
  980.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(185));
  981.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(186));
  982.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(187));
  983.     }
  984.     else if (auto7873AE6B_val == 9) {
  985.         gv_country[lv__23].lv_name = "Central (Algeria)";
  986.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2247);
  987.         gv_country[lv__23].lv_flagTexture = "Algeria";
  988.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Algeria.tga";
  989.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(1656236068));
  990.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(192));
  991.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(219));
  992.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(245));
  993.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(211));
  994.     }
  995.     else if (auto7873AE6B_val == 10) {
  996.         gv_country[lv__23].lv_name = "Tunisia";
  997.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2246);
  998.         gv_country[lv__23].lv_flagTexture = "Tunisia";
  999.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Tunisia.tga";
  1000.         gv_country[lv__23].lv_region = 5;
  1001.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(181));
  1002.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(180));
  1003.     }
  1004.     else if (auto7873AE6B_val == 11) {
  1005.         gv_country[lv__23].lv_name = "Western (Libya)";
  1006.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2245);
  1007.         gv_country[lv__23].lv_flagTexture = "Libya";
  1008.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Libya.tga";
  1009.         gv_country[lv__23].lv_region = 5;
  1010.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(184));
  1011.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(182));
  1012.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(183));
  1013.     }
  1014.     else if (auto7873AE6B_val == 12) {
  1015.         gv_country[lv__23].lv_name = "Eastern (Libya)";
  1016.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2243);
  1017.         gv_country[lv__23].lv_flagTexture = "Libya";
  1018.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Libya.tga";
  1019.         gv_country[lv__23].lv_region = 5;
  1020.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(89));
  1021.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(90));
  1022.     }
  1023.     else if (auto7873AE6B_val == 13) {
  1024.         gv_country[lv__23].lv_name = "Corsica (France)";
  1025.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2291);
  1026.         gv_country[lv__23].lv_flagTexture = "France";
  1027.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\France.tga";
  1028.         gv_country[lv__23].lv_region = 6;
  1029.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  1030.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(179));
  1031.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(4359));
  1032.     }
  1033.     else if (auto7873AE6B_val == 14) {
  1034.         gv_country[lv__23].lv_name = "Crete (Greece)";
  1035.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2244);
  1036.         gv_country[lv__23].lv_flagTexture = "Greece";
  1037.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Greece.tga";
  1038.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  1039.         gv_country[lv__23].lv_region = 12;
  1040.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(106));
  1041.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(107));
  1042.     }
  1043.     else if (auto7873AE6B_val == 15) {
  1044.         gv_country[lv__23].lv_name = "Egypt";
  1045.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2242);
  1046.         gv_country[lv__23].lv_flagTexture = "Egypt";
  1047.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Egypt.tga";
  1048.         gv_country[lv__23].lv_region = 5;
  1049.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(85));
  1050.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(86));
  1051.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(87));
  1052.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(88));
  1053.     }
  1054.     else if (auto7873AE6B_val == 16) {
  1055.         gv_country[lv__23].lv_name = "Israel";
  1056.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2275);
  1057.         gv_country[lv__23].lv_flagTexture = "Israel";
  1058.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Israel.tga";
  1059.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(84));
  1060.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(83));
  1061.     }
  1062.     else if (auto7873AE6B_val == 17) {
  1063.         gv_country[lv__23].lv_name = "Cyprus";
  1064.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2272);
  1065.         gv_country[lv__23].lv_flagTexture = "Crete";
  1066.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Crete.tga";
  1067.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  1068.         gv_country[lv__23].lv_region = 5;
  1069.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(104));
  1070.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(105));
  1071.     }
  1072.     else if (auto7873AE6B_val == 18) {
  1073.         gv_country[lv__23].lv_name = "Lebanon";
  1074.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2274);
  1075.         gv_country[lv__23].lv_flagTexture = "Lebanon";
  1076.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Lebanon.tga";
  1077.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(82));
  1078.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(81));
  1079.     }
  1080.     else if (auto7873AE6B_val == 19) {
  1081.         gv_country[lv__23].lv_name = "Jordan";
  1082.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2276);
  1083.         gv_country[lv__23].lv_flagTexture = "Jordan";
  1084.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Jordan.tga";
  1085.         gv_country[lv__23].lv_region = 7;
  1086.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(91));
  1087.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(92));
  1088.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(93));
  1089.     }
  1090.     else if (auto7873AE6B_val == 20) {
  1091.         gv_country[lv__23].lv_name = "Saudi Arabia";
  1092.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2277);
  1093.         gv_country[lv__23].lv_flagTexture = "SaudiArabia";
  1094.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\SaudiArabia.tga";
  1095.         gv_country[lv__23].lv_region = 7;
  1096.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(95));
  1097.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(94));
  1098.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(96));
  1099.     }
  1100.     else if (auto7873AE6B_val == 21) {
  1101.         gv_country[lv__23].lv_name = "Syria";
  1102.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2273);
  1103.         gv_country[lv__23].lv_flagTexture = "Syria";
  1104.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Syria.tga";
  1105.         gv_country[lv__23].lv_region = 7;
  1106.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(101));
  1107.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(103));
  1108.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(102));
  1109.     }
  1110.     else if (auto7873AE6B_val == 22) {
  1111.         gv_country[lv__23].lv_name = "Iraq";
  1112.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2278);
  1113.         gv_country[lv__23].lv_flagTexture = "Iraq";
  1114.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Iraq.tga";
  1115.         gv_country[lv__23].lv_region = 7;
  1116.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(97));
  1117.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(99));
  1118.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(100));
  1119.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(98));
  1120.     }
  1121.     else if (auto7873AE6B_val == 23) {
  1122.         gv_country[lv__23].lv_name = "Iran";
  1123.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2279);
  1124.         gv_country[lv__23].lv_flagTexture = "Iran";
  1125.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Iran.tga";
  1126.         gv_country[lv__23].lv_region = 8;
  1127.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(80));
  1128.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(79));
  1129.     }
  1130.     else if (auto7873AE6B_val == 24) {
  1131.         gv_country[lv__23].lv_name = "Turkey";
  1132.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2271);
  1133.         gv_country[lv__23].lv_flagTexture = "Turkey";
  1134.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Turkey.tga";
  1135.         gv_country[lv__23].lv_region = 8;
  1136.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(68));
  1137.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(71));
  1138.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(70));
  1139.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(69));
  1140.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(516147626));
  1141.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(73));
  1142.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(74));
  1143.     }
  1144.     else if (auto7873AE6B_val == 25) {
  1145.         gv_country[lv__23].lv_name = "Armenia & Azerbaijan";
  1146.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2280);
  1147.         gv_country[lv__23].lv_flagTexture = "Armenia";
  1148.         gv_country[lv__23].lv_flagImage = "risk\\Flag\\Armenia.tga";
  1149.         gv_country[lv__23].lv_region = 8;
  1150.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(77));
  1151.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(143));
  1152.     }
  1153.     else if (auto7873AE6B_val == 26) {
  1154.         gv_country[lv__23].lv_name = "Georgia";
  1155.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2281);
  1156.         gv_country[lv__23].lv_flagTexture = "Georgia";
  1157.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Georgia.tga";
  1158.         gv_country[lv__23].lv_region = 8;
  1159.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(75));
  1160.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(76));
  1161.     }
  1162.     else if (auto7873AE6B_val == 27) {
  1163.         gv_country[lv__23].lv_name = "Western (Russia)";
  1164.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2283);
  1165.         gv_country[lv__23].lv_flagTexture = "Russia";
  1166.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Russia.tga";
  1167.         gv_country[lv__23].lv_region = 11;
  1168.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(153));
  1169.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(149));
  1170.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(152));
  1171.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(148));
  1172.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(151));
  1173.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(147));
  1174.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(1885824088));
  1175.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(154));
  1176.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(155));
  1177.     }
  1178.     else if (auto7873AE6B_val == 28) {
  1179.         gv_country[lv__23].lv_name = "Kazakhstan";
  1180.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2282);
  1181.         gv_country[lv__23].lv_flagTexture = "Kazakhstan";
  1182.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Kazakhstan.tga";
  1183.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(4211));
  1184.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(144));
  1185.     }
  1186.     else if (auto7873AE6B_val == 29) {
  1187.         gv_country[lv__23].lv_name = "Portugal";
  1188.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2250);
  1189.         gv_country[lv__23].lv_flagTexture = "Portugal";
  1190.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Portugal.tga";
  1191.         gv_country[lv__23].lv_region = 4;
  1192.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(3945));
  1193.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(1));
  1194.     }
  1195.     else if (auto7873AE6B_val == 30) {
  1196.         gv_country[lv__23].lv_name = "Spain";
  1197.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2249);
  1198.         gv_country[lv__23].lv_flagTexture = "Spain";
  1199.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Spain.tga";
  1200.         gv_country[lv__23].lv_region = 4;
  1201.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(6));
  1202.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(3));
  1203.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(4));
  1204.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(7));
  1205.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(5));
  1206.     }
  1207.     else if (auto7873AE6B_val == 31) {
  1208.         gv_country[lv__23].lv_name = "France";
  1209.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2251);
  1210.         gv_country[lv__23].lv_flagTexture = "France";
  1211.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\France.tga";
  1212.         gv_country[lv__23].lv_region = 9;
  1213.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(23));
  1214.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(27));
  1215.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(25));
  1216.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(21));
  1217.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(22));
  1218.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(26));
  1219.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(24));
  1220.     }
  1221.     else if (auto7873AE6B_val == 32) {
  1222.         gv_country[lv__23].lv_name = "Belgium";
  1223.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2253);
  1224.         gv_country[lv__23].lv_flagTexture = "Belgium";
  1225.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Belgium.tga";
  1226.         gv_country[lv__23].lv_region = 9;
  1227.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(20));
  1228.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(17));
  1229.     }
  1230.     else if (auto7873AE6B_val == 33) {
  1231.         gv_country[lv__23].lv_name = "Netherlands";
  1232.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2254);
  1233.         gv_country[lv__23].lv_flagTexture = "Netherlands";
  1234.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Netherlands.tga";
  1235.         gv_country[lv__23].lv_region = 9;
  1236.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(18));
  1237.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(19));
  1238.     }
  1239.     else if (auto7873AE6B_val == 34) {
  1240.         gv_country[lv__23].lv_name = "Switzerland";
  1241.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2252);
  1242.         gv_country[lv__23].lv_flagTexture = "Switzerland";
  1243.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Switzerland.tga";
  1244.         gv_country[lv__23].lv_region = 9;
  1245.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(33));
  1246.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(34));
  1247.     }
  1248.     else if (auto7873AE6B_val == 35) {
  1249.         gv_country[lv__23].lv_name = "Italy";
  1250.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2290);
  1251.         gv_country[lv__23].lv_flagTexture = "Italy";
  1252.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Italy.tga";
  1253.         gv_country[lv__23].lv_region = 6;
  1254.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(28));
  1255.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(29));
  1256.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(30));
  1257.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(2576));
  1258.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(31));
  1259.     }
  1260.     else if (auto7873AE6B_val == 36) {
  1261.         gv_country[lv__23].lv_name = "Germany";
  1262.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2255);
  1263.         gv_country[lv__23].lv_flagTexture = "Germany";
  1264.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Germany.tga";
  1265.         gv_country[lv__23].lv_region = 3;
  1266.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(136));
  1267.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(134));
  1268.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(137));
  1269.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(135));
  1270.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(139));
  1271.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(138));
  1272.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(1503));
  1273.     }
  1274.     else if (auto7873AE6B_val == 37) {
  1275.         gv_country[lv__23].lv_name = "Austria";
  1276.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2257);
  1277.         gv_country[lv__23].lv_flagTexture = "Austria";
  1278.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Austria.tga";
  1279.         gv_country[lv__23].lv_region = 3;
  1280.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(36));
  1281.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(37));
  1282.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(35));
  1283.     }
  1284.     else if (auto7873AE6B_val == 38) {
  1285.         gv_country[lv__23].lv_name = "Czech Republic";
  1286.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2256);
  1287.         gv_country[lv__23].lv_flagTexture = "CzechRepublic";
  1288.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\CzechRepublic.tga";
  1289.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(38));
  1290.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(39));
  1291.     }
  1292.     else if (auto7873AE6B_val == 39) {
  1293.         gv_country[lv__23].lv_name = "Poland";
  1294.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2258);
  1295.         gv_country[lv__23].lv_flagTexture = "Poland";
  1296.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Poland.tga";
  1297.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(42));
  1298.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(40));
  1299.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(43));
  1300.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(41));
  1301.     }
  1302.     else if (auto7873AE6B_val == 40) {
  1303.         gv_country[lv__23].lv_name = "Kalingrad (Russia)";
  1304.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2295);
  1305.         gv_country[lv__23].lv_flagTexture = "Russia";
  1306.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Russia.tga";
  1307.         gv_country[lv__23].lv_region = 11;
  1308.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(133));
  1309.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(126));
  1310.     }
  1311.     else if (auto7873AE6B_val == 41) {
  1312.         gv_country[lv__23].lv_name = "Lithuania";
  1313.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2294);
  1314.         gv_country[lv__23].lv_flagTexture = "Lithuania";
  1315.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Lithuania.tga";
  1316.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(130));
  1317.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(131));
  1318.     }
  1319.     else if (auto7873AE6B_val == 42) {
  1320.         gv_country[lv__23].lv_name = "Latvia";
  1321.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2293);
  1322.         gv_country[lv__23].lv_flagTexture = "Latvia";
  1323.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Latvia.tga";
  1324.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(132));
  1325.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(129));
  1326.     }
  1327.     else if (auto7873AE6B_val == 43) {
  1328.         gv_country[lv__23].lv_name = "Estonia";
  1329.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2292);
  1330.         gv_country[lv__23].lv_flagTexture = "Estonia";
  1331.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Estonia.tga";
  1332.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(127));
  1333.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(128));
  1334.     }
  1335.     else if (auto7873AE6B_val == 44) {
  1336.         gv_country[lv__23].lv_name = "Belarus";
  1337.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2296);
  1338.         gv_country[lv__23].lv_flagTexture = "Belarus";
  1339.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Belarus.tga";
  1340.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(122));
  1341.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(123));
  1342.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(125));
  1343.     }
  1344.     else if (auto7873AE6B_val == 45) {
  1345.         gv_country[lv__23].lv_name = "Ukraine";
  1346.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2259);
  1347.         gv_country[lv__23].lv_flagTexture = "Ukraine";
  1348.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Ukraine.tga";
  1349.         gv_country[lv__23].lv_region = 10;
  1350.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(120));
  1351.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(119));
  1352.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(118));
  1353.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(117));
  1354.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(121));
  1355.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(116));
  1356.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(1562828240));
  1357.     }
  1358.     else if (auto7873AE6B_val == 46) {
  1359.         gv_country[lv__23].lv_name = "Moldova";
  1360.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2260);
  1361.         gv_country[lv__23].lv_flagTexture = "Moldova";
  1362.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Moldova.tga";
  1363.         gv_country[lv__23].lv_region = 10;
  1364.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(112));
  1365.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(113));
  1366.     }
  1367.     else if (auto7873AE6B_val == 47) {
  1368.         gv_country[lv__23].lv_name = "Slovakia";
  1369.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2297);
  1370.         gv_country[lv__23].lv_flagTexture = "Slovakia";
  1371.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Slovakia.tga";
  1372.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(44));
  1373.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(45));
  1374.     }
  1375.     else if (auto7873AE6B_val == 48) {
  1376.         gv_country[lv__23].lv_name = "Hungary";
  1377.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2262);
  1378.         gv_country[lv__23].lv_flagTexture = "Hungary";
  1379.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Hungary.tga";
  1380.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(46));
  1381.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(47));
  1382.     }
  1383.     else if (auto7873AE6B_val == 49) {
  1384.         gv_country[lv__23].lv_name = "Slovenia";
  1385.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2263);
  1386.         gv_country[lv__23].lv_flagTexture = "Slovenia";
  1387.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Slovenia.tga";
  1388.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(51));
  1389.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(50));
  1390.     }
  1391.     else if (auto7873AE6B_val == 50) {
  1392.         gv_country[lv__23].lv_name = "Croatia";
  1393.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2264);
  1394.         gv_country[lv__23].lv_flagTexture = "Croatia";
  1395.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Croatia.tga";
  1396.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(49));
  1397.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(48));
  1398.     }
  1399.     else if (auto7873AE6B_val == 51) {
  1400.         gv_country[lv__23].lv_name = "Bosnia";
  1401.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2265);
  1402.         gv_country[lv__23].lv_flagTexture = "Bosnia";
  1403.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Bosnia.tga";
  1404.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(52));
  1405.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(53));
  1406.     }
  1407.     else if (auto7873AE6B_val == 52) {
  1408.         gv_country[lv__23].lv_name = "Serbia & Montenegro";
  1409.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2266);
  1410.         gv_country[lv__23].lv_flagTexture = "Serbia";
  1411.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Serbia.tga";
  1412.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(78));
  1413.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(54));
  1414.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(55));
  1415.     }
  1416.     else if (auto7873AE6B_val == 53) {
  1417.         gv_country[lv__23].lv_name = "Romania";
  1418.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2261);
  1419.         gv_country[lv__23].lv_flagTexture = "Romania";
  1420.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Romania.tga";
  1421.         gv_country[lv__23].lv_region = 10;
  1422.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(108));
  1423.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(109));
  1424.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(110));
  1425.     }
  1426.     else if (auto7873AE6B_val == 54) {
  1427.         gv_country[lv__23].lv_name = "Bulgaria";
  1428.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2268);
  1429.         gv_country[lv__23].lv_flagTexture = "Bulgaria";
  1430.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Bulgaria.tga";
  1431.         gv_country[lv__23].lv_region = 12;
  1432.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(65));
  1433.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(66));
  1434.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(67));
  1435.     }
  1436.     else if (auto7873AE6B_val == 55) {
  1437.         gv_country[lv__23].lv_name = "Macedonia";
  1438.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2267);
  1439.         gv_country[lv__23].lv_flagTexture = "Macedonia";
  1440.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Macedonia.tga";
  1441.         gv_country[lv__23].lv_region = 12;
  1442.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(59));
  1443.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(60));
  1444.     }
  1445.     else if (auto7873AE6B_val == 56) {
  1446.         gv_country[lv__23].lv_name = "Albania";
  1447.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2270);
  1448.         gv_country[lv__23].lv_flagTexture = "Albania";
  1449.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Albania.tga";
  1450.         gv_country[lv__23].lv_region = 12;
  1451.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(58));
  1452.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(57));
  1453.     }
  1454.     else if (auto7873AE6B_val == 57) {
  1455.         gv_country[lv__23].lv_name = "Greece";
  1456.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2269);
  1457.         gv_country[lv__23].lv_flagTexture = "Greece";
  1458.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Greece.tga";
  1459.         gv_country[lv__23].lv_region = 12;
  1460.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(63));
  1461.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(62));
  1462.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(61));
  1463.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(2051283650));
  1464.     }
  1465.     else if (auto7873AE6B_val == 58) {
  1466.         gv_country[lv__23].lv_name = "Svalbard";
  1467.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2321);
  1468.         gv_country[lv__23].lv_flagTexture = "NorwaySvalbard";
  1469.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Norway.tga";
  1470.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  1471.         gv_country[lv__23].lv_region = 2;
  1472.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(2320));
  1473.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(2319));
  1474.     }
  1475.     else if (auto7873AE6B_val == 59) {
  1476.         gv_country[lv__23].lv_name = "Greenland";
  1477.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2325);
  1478.         gv_country[lv__23].lv_flagTexture = "Greenland";
  1479.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Greenland.tga";
  1480.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(2323));
  1481.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(2322));
  1482.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(2324));
  1483.     }
  1484.     else if (auto7873AE6B_val == 60) {
  1485.         gv_country[lv__23].lv_name = "Malta";
  1486.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2844);
  1487.         gv_country[lv__23].lv_flagTexture = "Malta";
  1488.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Malta.tga";
  1489.         gv_country[lv__23].lv_region = 6;
  1490.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  1491.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(2843));
  1492.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(2842));
  1493.     }
  1494.     else if (auto7873AE6B_val == 61) {
  1495.         gv_country[lv__23].lv_name = "Mallorca (Spain)";
  1496.         gv_country[lv__23].lv_spawnStructure = UnitFromId(4352);
  1497.         gv_country[lv__23].lv_flagTexture = "Spain";
  1498.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Spain.tga";
  1499.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  1500.         gv_country[lv__23].lv_region = 4;
  1501.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(519));
  1502.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(520));
  1503.     }
  1504.     else if (auto7873AE6B_val == 62) {
  1505.         gv_country[lv__23].lv_name = "Sardinia (Italy)";
  1506.         gv_country[lv__23].lv_spawnStructure = UnitFromId(4355);
  1507.         gv_country[lv__23].lv_flagTexture = "Italy";
  1508.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Italy.tga";
  1509.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  1510.         gv_country[lv__23].lv_region = 6;
  1511.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(4354));
  1512.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(178));
  1513.     }
  1514.     else if (auto7873AE6B_val == 63) {
  1515.         gv_country[lv__23].lv_name = "Gotland (Sweden)";
  1516.         gv_country[lv__23].lv_spawnStructure = UnitFromId(257179117);
  1517.         gv_country[lv__23].lv_flagTexture = "Sweden";
  1518.         gv_country[lv__23].lv_flagImage = "risk\\Flag\\Sweden.tga";
  1519.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  1520.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(867936237));
  1521.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(704921964));
  1522.     }
  1523.     else if (auto7873AE6B_val == 64) {
  1524.         gv_country[lv__23].lv_name = "Western (Algeria)";
  1525.         gv_country[lv__23].lv_spawnStructure = UnitFromId(1425);
  1526.         gv_country[lv__23].lv_flagTexture = "Algeria";
  1527.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Algeria.tga";
  1528.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  1529.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(246));
  1530.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(248));
  1531.     }
  1532.     else if (auto7873AE6B_val == 65) {
  1533.         gv_country[lv__23].lv_name = "Wales";
  1534.         gv_country[lv__23].lv_spawnStructure = UnitFromId(1429);
  1535.         gv_country[lv__23].lv_flagTexture = "Wales";
  1536.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Wales.tga";
  1537.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  1538.         gv_country[lv__23].lv_region = 1;
  1539.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(1427));
  1540.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(12));
  1541.     }
  1542.     else if (auto7873AE6B_val == 66) {
  1543.         gv_country[lv__23].lv_name = "Scotland";
  1544.         gv_country[lv__23].lv_spawnStructure = UnitFromId(1430);
  1545.         gv_country[lv__23].lv_flagTexture = "Scotland";
  1546.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\Scotland.tga";
  1547.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  1548.         gv_country[lv__23].lv_region = 1;
  1549.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(1428));
  1550.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(9));
  1551.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(10));
  1552.     }
  1553.     else if (auto7873AE6B_val == 67) {
  1554.         gv_country[lv__23].lv_name = "Faroe Islands";
  1555.         gv_country[lv__23].lv_spawnStructure = UnitFromId(1477);
  1556.         gv_country[lv__23].lv_flagTexture = "FaroeIslands";
  1557.         gv_country[lv__23].lv_flagImage = "Risk\\Flag\\FaroeIslands.tga";
  1558.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  1559.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(1461));
  1560.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(1462));
  1561.     }
  1562.     else if (auto7873AE6B_val == 68) {
  1563.         gv_country[lv__23].lv_name = "Sicily";
  1564.         gv_country[lv__23].lv_spawnStructure = UnitFromId(2578);
  1565.         gv_country[lv__23].lv_flagTexture = "Sicily";
  1566.         gv_country[lv__23].lv_flagImage = "risk\\Flag\\Sicily.tga";
  1567.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  1568.         gv_country[lv__23].lv_region = 6;
  1569.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(32));
  1570.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(2577));
  1571.     }
  1572.     else if (auto7873AE6B_val == 69) {
  1573.         gv_country[lv__23].lv_name = "Crimea (Russia)";
  1574.         gv_country[lv__23].lv_flagTexture = "Russia";
  1575.         gv_country[lv__23].lv_flagImage = "risk\\Flag\\Russia.tga";
  1576.         gv_country[lv__23].lv_spawnStructure = UnitFromId(1524138640);
  1577.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  1578.         gv_country[lv__23].lv_region = 11;
  1579.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(114));
  1580.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(1755895826));
  1581.     }
  1582.     else if (auto7873AE6B_val == 70) {
  1583.         gv_country[lv__23].lv_name = "Northern (Algeria)";
  1584.         gv_country[lv__23].lv_flagTexture = "Algeria";
  1585.         gv_country[lv__23].lv_flagImage = "risk\\Flag\\Algeria.tga";
  1586.         gv_country[lv__23].lv_spawnStructure = UnitFromId(1624976262);
  1587.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  1588.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(189));
  1589.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(824415056));
  1590.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(188));
  1591.     }
  1592.     else if (auto7873AE6B_val == 71) {
  1593.         gv_country[lv__23].lv_name = "Northern Ireland";
  1594.         gv_country[lv__23].lv_spawnStructure = UnitFromId(1521896083);
  1595.         gv_country[lv__23].lv_flagTexture = "England";
  1596.         gv_country[lv__23].lv_flagImage = "risk\\Flag\\England.tga";
  1597.         gv_country[lv__23].lv_illegibleStartingCountry = true;
  1598.         gv_country[lv__23].lv_region = 1;
  1599.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(8));
  1600.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(1914984741));
  1601.     }
  1602.     else if (auto7873AE6B_val == 72) {
  1603.         gv_country[lv__23].lv_name = "Northern (Russia)";
  1604.         gv_country[lv__23].lv_spawnStructure = UnitFromId(1125761983);
  1605.         gv_country[lv__23].lv_flagTexture = "Russia";
  1606.         gv_country[lv__23].lv_flagImage = "risk\\Flag\\Russia.tga";
  1607.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(1302181260));
  1608.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(150));
  1609.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(156));
  1610.     }
  1611.     else if (auto7873AE6B_val == 73) {
  1612.         gv_country[lv__23].lv_name = "Southern (Russia)";
  1613.         gv_country[lv__23].lv_spawnStructure = UnitFromId(1377338735);
  1614.         gv_country[lv__23].lv_flagTexture = "Russia";
  1615.         gv_country[lv__23].lv_flagImage = "risk\\Flag\\Russia.tga";
  1616.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(115));
  1617.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(146));
  1618.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(145));
  1619.         UnitGroupAdd(gv_country[lv__23].lv_bases, UnitFromId(1808234288));
  1620.     }
  1621.     else {
  1622.     }
  1623. }
  1624.  
  1625. void gf_SetupCustomDialog () {
  1626.     // Variable Declarations
  1627.     int lv_temp;
  1628.     int lv_x;
  1629.     int lv_y;
  1630.     int lv_rowPos;
  1631.     int lv_row;
  1632.     int lv_columnPos;
  1633.     int lv_column;
  1634.  
  1635.     // Variable Initialization
  1636.     lv_x = 45;
  1637.     lv_y = 80;
  1638.     lv_rowPos = lv_y;
  1639.     lv_columnPos = lv_x;
  1640.  
  1641.     // Implementation
  1642.     DialogCreate(1300, 600, c_anchorCenter, 0, -80, true);
  1643.     gv_customSetting.lv_dialog = DialogLastCreated();
  1644.     DialogSetImageVisible(DialogLastCreated(), false);
  1645.     libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 550, 300, c_anchorCenter, 100, 0, StringToText(""), "Assets\\Textures\\ui_battlenet_glue_frame_mapcontainer.dds", c_triggerImageTypeNormal, false, Color(100,100,100), c_triggerBlendModeNormal);
  1646.     DialogControlSetFullDialog(DialogControlLastCreated(), PlayerGroupAll(), true);
  1647.     gf_InitDialogFading(DialogControlLastCreated());
  1648.     DialogSetVisible(DialogLastCreated(), PlayerGroupAll(), true);
  1649.     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 100, 100, c_anchorCenter, 0, -220, StringToText("<s val=\"CinematicLabel\"><c val=\"FF0000\">30</c></s>"), ColorWithAlpha(0,0,0,0), false, 2.0);
  1650.     gv_customSetting.lv_dialog_Item_CountdownTimer = DialogControlLastCreated();
  1651.     gf_InitDialogFading(DialogControlLastCreated());
  1652.     gf_SetCustomValues();
  1653.     while ((gv_customSetting.lv_string_Header[lv_column] != "")) {
  1654.         libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 250, 50, c_anchorTopLeft, lv_columnPos, lv_rowPos, StringToText(gv_customSetting.lv_string_Header[lv_column]), ColorWithAlpha(0,0,0,0), false, 2.0);
  1655.         gv_customSetting.lv_dialog_Item_Header[lv_column] = DialogControlLastCreated();
  1656.         gf_InitDialogFading(DialogControlLastCreated());
  1657.         lv_rowPos = (lv_rowPos + 25);
  1658.         libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 150, c_anchorTopLeft, lv_columnPos, lv_rowPos, StringToText(gv_customSetting.lv_string_Description[lv_column]), ColorWithAlpha(0,0,0,0), false, 2.0);
  1659.         gv_customSetting.lv_dialog_Item_Description[lv_column] = DialogControlLastCreated();
  1660.         gf_InitDialogFading(DialogControlLastCreated());
  1661.         lv_rowPos = (lv_rowPos + 75);
  1662.         while ((gv_customSetting.lv_string_Value[lv_column][lv_row] != "")) {
  1663.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 50, 50, c_anchorTopLeft, lv_columnPos, (4 + lv_rowPos), StringToText("0"), Color(100,100,100), false, 2.0);
  1664.             gv_customSetting.lv_dialog_Item_Votes[lv_column][lv_row] = DialogControlLastCreated();
  1665.             gf_InitDialogFading(DialogControlLastCreated());
  1666.             libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 30, 30, c_anchorTopLeft, (lv_columnPos + 25), lv_rowPos, StringToText(gv_customSetting.lv_string_Value_tooltip[lv_column][lv_row]), StringToText("+"), "");
  1667.             gv_customSetting.lv_dialog_Item_CheckBox[lv_column][lv_row] = DialogControlLastCreated();
  1668.             gf_InitDialogFading(DialogControlLastCreated());
  1669.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, (60 + lv_columnPos), (4 + lv_rowPos), StringToText(gv_customSetting.lv_string_Value[lv_column][lv_row]), ColorWithAlpha(0,0,0,0), false, 2.0);
  1670.             libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), StringToText(gv_customSetting.lv_string_Value_tooltip[lv_column][lv_row]), PlayerGroupAll());
  1671.             DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  1672.             gv_customSetting.lv_dialog_Item_Label[lv_column][lv_row] = DialogControlLastCreated();
  1673.             gf_InitDialogFading(DialogControlLastCreated());
  1674.             lv_rowPos = (lv_rowPos + 28);
  1675.             lv_row = (lv_row + 1);
  1676.         }
  1677.         lv_column = (lv_column + 1);
  1678.         lv_columnPos = (lv_columnPos + 250);
  1679.         lv_row = 0;
  1680.         if (((lv_column == 5) || (lv_column == 10))) {
  1681.             lv_y = (280 + lv_y);
  1682.             lv_columnPos = lv_x;
  1683.         }
  1684.  
  1685.         lv_rowPos = lv_y;
  1686.     }
  1687.     gf_SetCustomSetting();
  1688.     gf_SettingsTracker();
  1689. }
  1690.  
  1691. void gf_SetCustomValues () {
  1692.     // Variable Declarations
  1693.     int lv_temp;
  1694.  
  1695.     // Variable Initialization
  1696.  
  1697.     // Implementation
  1698.     lv_temp = 0;
  1699.     gv_customSetting.lv_valueDefault[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1700.     gv_customSetting.lv_valueSelected[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1701.     gv_customSetting.lv_string_Header[lv_temp] = "<c val=\"FFFF6C\">Income Period</c>";
  1702.     gv_customSetting.lv_string_Description[lv_temp] = "Decides the duration time for each round.";
  1703.     gv_customSetting.lv_string_Value[lv_temp][0] = "45 seconds";
  1704.     gv_customSetting.lv_string_Value[lv_temp][1] = "60 seconds";
  1705.     gv_customSetting.lv_string_Value[lv_temp][2] = "75 seconds";
  1706.     gv_customSetting.lv_string_Value[lv_temp][3] = "90 seconds";
  1707.     lv_temp = (lv_temp + 1);
  1708.     gv_customSetting.lv_valueDefault[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1709.     gv_customSetting.lv_valueSelected[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1710.     gv_customSetting.lv_string_Header[lv_temp] = "<c val=\"FFFF6C\">Bounty</c>";
  1711.     gv_customSetting.lv_string_Description[lv_temp] = "Recieve a mineral for destroying enemy units.";
  1712.     gv_customSetting.lv_string_Value[lv_temp][0] = "Disabled";
  1713.     gv_customSetting.lv_string_Value[lv_temp][1] = "Every 3rd";
  1714.     gv_customSetting.lv_string_Value[lv_temp][2] = "Every 4th";
  1715.     gv_customSetting.lv_string_Value[lv_temp][3] = "Every 6th";
  1716.     gv_customSetting.lv_string_Value_tooltip[lv_temp][0] = "Disable mineral rewards for killing a series of enemy units.";
  1717.     gv_customSetting.lv_string_Value_tooltip[lv_temp][1] = "Reward a mineral for every 3rd enemy unit killed.";
  1718.     gv_customSetting.lv_string_Value_tooltip[lv_temp][2] = "Reward a mineral for every 4th enemy unit killed.";
  1719.     gv_customSetting.lv_string_Value_tooltip[lv_temp][3] = "Reward a mineral for every 6th enemy unit killed.";
  1720.     lv_temp = (lv_temp + 1);
  1721.     gv_customSetting.lv_valueDefault[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1722.     gv_customSetting.lv_valueSelected[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1723.     gv_customSetting.lv_string_Header[lv_temp] = "<c val=\"FFFF6C\">Territory</c>";
  1724.     gv_customSetting.lv_string_Description[lv_temp] = "Stylish territorial distribution among players.";
  1725.     gv_customSetting.lv_string_Value[lv_temp][0] = "Split by bases";
  1726.     gv_customSetting.lv_string_Value[lv_temp][1] = "One base each";
  1727.     gv_customSetting.lv_string_Value[lv_temp][2] = "Split by countries";
  1728.     gv_customSetting.lv_string_Value[lv_temp][3] = "One territory each";
  1729.     gv_customSetting.lv_string_Value_tooltip[lv_temp][0] = "All players start with an even distribution of random bases across the map.";
  1730.     gv_customSetting.lv_string_Value_tooltip[lv_temp][1] = "All players start with a single random base.";
  1731.     gv_customSetting.lv_string_Value_tooltip[lv_temp][2] = "All players start with an even amount of countries.";
  1732.     gv_customSetting.lv_string_Value_tooltip[lv_temp][3] = "All players start with a random territory in Europe. The territory consists of 15 income worth of countries in close proximity.";
  1733.     lv_temp = (lv_temp + 1);
  1734.     gv_customSetting.lv_valueDefault[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1735.     gv_customSetting.lv_valueSelected[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1736.     gv_customSetting.lv_string_Header[lv_temp] = "<c val=\"FFFF6C\">Win Condition</c>";
  1737.     gv_customSetting.lv_string_Description[lv_temp] = "Specifies the game victory condition.";
  1738.     gv_customSetting.lv_string_Value[lv_temp][0] = "Disabled";
  1739.     gv_customSetting.lv_string_Value[lv_temp][1] = "Control 60%";
  1740.     gv_customSetting.lv_string_Value[lv_temp][2] = "Control 70%";
  1741.     gv_customSetting.lv_string_Value[lv_temp][3] = "Control 80%";
  1742.     gv_customSetting.lv_string_Value_tooltip[lv_temp][0] = "Disable any sort of victory conditions.";
  1743.     gv_customSetting.lv_string_Value_tooltip[lv_temp][1] = "The player to first capture 60% of the Europe will be victorious.";
  1744.     gv_customSetting.lv_string_Value_tooltip[lv_temp][2] = "The player to first capture 70% of the Europe will be victorious.";
  1745.     gv_customSetting.lv_string_Value_tooltip[lv_temp][3] = "The player to first capture 80% of the Europe will be victorious.";
  1746.     lv_temp = (lv_temp + 1);
  1747.     gv_customSetting.lv_valueDefault[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1748.     gv_customSetting.lv_valueSelected[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1749.     gv_customSetting.lv_string_Header[lv_temp] = "<c val=\"FFFF6C\">Conscripts</c>";
  1750.     gv_customSetting.lv_string_Description[lv_temp] = "Countries provide free units at the end of turns.";
  1751.     gv_customSetting.lv_string_Value[lv_temp][0] = "Enabled";
  1752.     gv_customSetting.lv_string_Value[lv_temp][1] = "Disabled";
  1753.     gv_customSetting.lv_string_Value_tooltip[lv_temp][0] = "Enables a player to recieve free troops from owned territories at the start of new turns.";
  1754.     gv_customSetting.lv_string_Value_tooltip[lv_temp][1] = "Disable conscripts.";
  1755.     lv_temp = (lv_temp + 1);
  1756.     gv_customSetting.lv_valueDefault[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1757.     gv_customSetting.lv_valueSelected[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1758.     gv_customSetting.lv_string_Header[lv_temp] = "<c val=\"FFFF6C\">Alliance</c>";
  1759.     gv_customSetting.lv_string_Description[lv_temp] = "Species whether players may form lasting alliances.";
  1760.     gv_customSetting.lv_string_Value[lv_temp][0] = "Enabled";
  1761.     gv_customSetting.lv_string_Value[lv_temp][1] = "Disabled";
  1762.     lv_temp = (lv_temp + 1);
  1763.     gv_customSetting.lv_valueDefault[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1764.     gv_customSetting.lv_valueSelected[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1765.     gv_customSetting.lv_string_Header[lv_temp] = "<c val=\"FFFF6C\">Card</c>";
  1766.     gv_customSetting.lv_string_Description[lv_temp] = "Rewards the aggressors with bonus minerals.";
  1767.     gv_customSetting.lv_string_Value[lv_temp][0] = "Enabled";
  1768.     gv_customSetting.lv_string_Value[lv_temp][1] = "Disabled";
  1769.     lv_temp = (lv_temp + 1);
  1770.     gv_customSetting.lv_valueDefault[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1771.     gv_customSetting.lv_valueSelected[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1772.     gv_customSetting.lv_string_Header[lv_temp] = "<c val=\"FFFF6C\">Visibility</c>";
  1773.     gv_customSetting.lv_string_Description[lv_temp] = "Specifies how players fields of view ingame.";
  1774.     gv_customSetting.lv_string_Value[lv_temp][0] = "Full Map View";
  1775.     gv_customSetting.lv_string_Value[lv_temp][1] = "Fog of War";
  1776.     gv_customSetting.lv_string_Value_tooltip[lv_temp][0] = "The entire map will be fully visible for all players.";
  1777.     gv_customSetting.lv_string_Value_tooltip[lv_temp][1] = "The map will be covered in fog hiding enemy movements.";
  1778.     lv_temp = (lv_temp + 1);
  1779.     gv_customSetting.lv_valueDefault[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1780.     gv_customSetting.lv_valueSelected[lv_temp] = gv_gameInfo.lv_regionalDefaultSettings[lv_temp];
  1781.     gv_customSetting.lv_string_Header[lv_temp] = "<c val=\"FFFF6C\">Anonymous</c>";
  1782.     gv_customSetting.lv_string_Description[lv_temp] = "Makes it harder to distinguish players from another.";
  1783.     gv_customSetting.lv_string_Value[lv_temp][0] = "Enabled";
  1784.     gv_customSetting.lv_string_Value[lv_temp][1] = "Disabled";
  1785. }
  1786.  
  1787. void gf_SetCustomSetting () {
  1788.     // Variable Declarations
  1789.     int lv_i;
  1790.  
  1791.     // Variable Initialization
  1792.  
  1793.     // Implementation
  1794.     gf_ChangeUI(PlayerGroupLoopCurrent(), gv_customSetting.lv_column_IncomePeriod, gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_IncomePeriod]);
  1795.     gf_ChangeUI(PlayerGroupLoopCurrent(), gv_customSetting.lv_column_Bounty, gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Bounty]);
  1796.     gf_ChangeUI(PlayerGroupLoopCurrent(), gv_customSetting.lv_column_TerritorialDistribution, gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_TerritorialDistribution]);
  1797.     gf_ChangeUI(PlayerGroupLoopCurrent(), gv_customSetting.lv_column_VictoryCondition, gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_VictoryCondition]);
  1798.     gf_ChangeUI(PlayerGroupLoopCurrent(), gv_customSetting.lv_column_Conscripts, gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Conscripts]);
  1799.     gf_ChangeUI(PlayerGroupLoopCurrent(), gv_customSetting.lv_column_Alliance, gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Alliance]);
  1800.     gf_ChangeUI(PlayerGroupLoopCurrent(), gv_customSetting.lv_column_Cards, gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Cards]);
  1801.     gf_ChangeUI(PlayerGroupLoopCurrent(), gv_customSetting.lv_column_Visibility, gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Visibility]);
  1802.     gf_ChangeUI(PlayerGroupLoopCurrent(), gv_customSetting.lv_column_Anonymous, gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Anonymous]);
  1803. }
  1804.  
  1805. void gf_SettingsTracker () {
  1806.     // Variable Declarations
  1807.     int lv_column;
  1808.     int lv_row;
  1809.  
  1810.     // Variable Initialization
  1811.  
  1812.     // Implementation
  1813.     if ((GameIsTestMap(false) == true)) {
  1814.         TimerStart(gv_customSetting.lv_countdownTimer, 10.0, false, c_timeReal);
  1815.     }
  1816.     else {
  1817.         TimerStart(gv_customSetting.lv_countdownTimer, 30.0, false, c_timeReal);
  1818.     }
  1819.     while ((TimerGetRemaining(gv_customSetting.lv_countdownTimer) > 1.0)) {
  1820.         libNtve_gf_SetDialogItemText(gv_customSetting.lv_dialog_Item_CountdownTimer, StringToText(("<s val=\"CinematicLabel\"><c val=\"FF0000\">" + FixedToString(TimerGetRemaining(gv_customSetting.lv_countdownTimer), 0))), PlayerGroupAll());
  1821.         Wait(1.0, c_timeReal);
  1822.         lv_column = 0;
  1823.         lv_row = 0;
  1824.         while ((gv_customSetting.lv_string_Header[lv_column] != null)) {
  1825.             while ((gv_customSetting.lv_string_Value[lv_column][lv_row] != null)) {
  1826.                 libNtve_gf_SetDialogItemText(gv_customSetting.lv_dialog_Item_Votes[lv_column][lv_row], StringToText(IntToString(PlayerGroupCount(gv_customSetting.lv_settings_Vote[lv_column][lv_row]))), PlayerGroupAll());
  1827.                 lv_row = (lv_row + 1);
  1828.             }
  1829.             gv_customSetting.lv_valueSelected[lv_column] = gf_CheckVote(lv_column);
  1830.             lv_column = (lv_column + 1);
  1831.             lv_row = 0;
  1832.         }
  1833.     }
  1834.     DialogControlDestroyAll(gv_customSetting.lv_dialog);
  1835.     gf_ApplySetting();
  1836. }
  1837.  
  1838. void gf_ChangeUI (int lp_player, int lp_setting, int lp_chooseThisSetting) {
  1839.     // Variable Declarations
  1840.     int lv_i;
  1841.     int lv_countplayers;
  1842.  
  1843.     // Variable Initialization
  1844.  
  1845.     // Implementation
  1846.     while ((gv_customSetting.lv_string_Value[lp_setting][lv_i] != null)) {
  1847.         if ((lp_chooseThisSetting == lv_i)) {
  1848.             PlayerGroupAdd(gv_customSetting.lv_settings_Vote[lp_setting][lp_chooseThisSetting], lp_player);
  1849.             DialogControlSetEnabled(gv_customSetting.lv_dialog_Item_CheckBox[lp_setting][lp_chooseThisSetting], PlayerGroupSingle(lp_player), false);
  1850.             libNtve_gf_SetDialogItemText(gv_customSetting.lv_dialog_Item_Votes[lp_setting][lp_chooseThisSetting], StringToText(IntToString(PlayerGroupCount(gv_customSetting.lv_settings_Vote[lp_setting][lp_chooseThisSetting]))), PlayerGroupAll());
  1851.         }
  1852.         else {
  1853.             lv_countplayers = PlayerGroupCount(gv_customSetting.lv_settings_Vote[lp_setting][lv_i]);
  1854.             if ((PlayerGroupHasPlayer(gv_customSetting.lv_settings_Vote[lp_setting][lv_i], lp_player) == true)) {
  1855.                 lv_countplayers = (lv_countplayers - 1);
  1856.             }
  1857.  
  1858.             PlayerGroupRemove(gv_customSetting.lv_settings_Vote[lp_setting][lv_i], lp_player);
  1859.             DialogControlSetEnabled(gv_customSetting.lv_dialog_Item_CheckBox[lp_setting][lv_i], PlayerGroupSingle(lp_player), true);
  1860.             libNtve_gf_SetDialogItemText(gv_customSetting.lv_dialog_Item_Votes[lp_setting][lv_i], StringToText(IntToString(lv_countplayers)), PlayerGroupAll());
  1861.         }
  1862.         lv_i = (lv_i + 1);
  1863.     }
  1864. }
  1865.  
  1866. int gf_CheckVote (int lp_setting) {
  1867.     // Variable Declarations
  1868.     int[11] lv_voteCount;
  1869.     int lv_highestVotedSetting;
  1870.     int lv_i;
  1871.     int lv_n;
  1872.     int lv_countDublication;
  1873.  
  1874.     // Variable Initialization
  1875.  
  1876.     // Implementation
  1877.     while ((gv_customSetting.lv_string_Value[lp_setting][lv_i] != "")) {
  1878.         lv_voteCount[lv_i] = PlayerGroupCount(gv_customSetting.lv_settings_Vote[lp_setting][lv_i]);
  1879.         lv_i = (lv_i + 1);
  1880.     }
  1881.     lv_i = 0;
  1882.     while ((gv_customSetting.lv_string_Value[lp_setting][lv_i] != "")) {
  1883.         lv_highestVotedSetting = MaxI(lv_highestVotedSetting, lv_voteCount[lv_i]);
  1884.         lv_i = (lv_i + 1);
  1885.     }
  1886.     while ((gv_customSetting.lv_string_Value[lp_setting][lv_n] != "")) {
  1887.         if ((lv_highestVotedSetting == lv_voteCount[lv_n])) {
  1888.             lv_countDublication = (lv_countDublication + 1);
  1889.         }
  1890.  
  1891.         if ((lv_countDublication > 1)) {
  1892.             return gv_customSetting.lv_valueDefault[lv_n];
  1893.         }
  1894.  
  1895.         lv_n = (lv_n + 1);
  1896.     }
  1897.     lv_i = 0;
  1898.     while ((lv_highestVotedSetting != lv_voteCount[lv_i])) {
  1899.         lv_i = (lv_i + 1);
  1900.     }
  1901.     return lv_i;
  1902. }
  1903.  
  1904. void gf_ApplySetting () {
  1905.     // Implementation
  1906.     gf_ApplyIncomePeriod(gv_customSetting.lv_valueSelected[gv_customSetting.lv_column_IncomePeriod]);
  1907.     gf_ApplyBounty(gv_customSetting.lv_valueSelected[gv_customSetting.lv_column_Bounty]);
  1908.     gf_ApplyVictoryCondition(gv_customSetting.lv_valueSelected[gv_customSetting.lv_column_VictoryCondition]);
  1909.     gf_ApplyConscripts(gv_customSetting.lv_valueSelected[gv_customSetting.lv_column_Conscripts]);
  1910.     gf_ApplyAlliance(gv_customSetting.lv_valueSelected[gv_customSetting.lv_column_Alliance]);
  1911.     gf_ApplyCards(gv_customSetting.lv_valueSelected[gv_customSetting.lv_column_Cards]);
  1912.     gf_ApplyVisibility(gv_customSetting.lv_valueSelected[gv_customSetting.lv_column_Visibility]);
  1913.     gf_ApplyAnonymous(gv_customSetting.lv_valueSelected[gv_customSetting.lv_column_Anonymous]);
  1914.     gf_ApplyRanked();
  1915.     Wait(0.5, c_timeGame);
  1916.     gf_ApplyTerritorialDistribution(gv_customSetting.lv_valueSelected[gv_customSetting.lv_column_TerritorialDistribution]);
  1917. }
  1918.  
  1919. void gf_ApplyIncomePeriod (int lp_parameter) {
  1920.     int autoFE2EA705_val;
  1921.  
  1922.     // Implementation
  1923.     gv_customSetting.lv_settingsString[gv_customSetting.lv_column_IncomePeriod] = "Income Period: ";
  1924.     autoFE2EA705_val = lp_parameter;
  1925.     if (autoFE2EA705_val == 0) {
  1926.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_IncomePeriod] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_IncomePeriod][lp_parameter];
  1927.         gv_gameInfo.lv_incomePeriod = 45;
  1928.     }
  1929.     else if (autoFE2EA705_val == 1) {
  1930.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_IncomePeriod] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_IncomePeriod][lp_parameter];
  1931.         gv_gameInfo.lv_incomePeriod = 60;
  1932.     }
  1933.     else if (autoFE2EA705_val == 2) {
  1934.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_IncomePeriod] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_IncomePeriod][lp_parameter];
  1935.         gv_gameInfo.lv_incomePeriod = 75;
  1936.     }
  1937.     else if (autoFE2EA705_val == 3) {
  1938.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_IncomePeriod] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_IncomePeriod][lp_parameter];
  1939.         gv_gameInfo.lv_incomePeriod = 90;
  1940.     }
  1941.     else {
  1942.     }
  1943. }
  1944.  
  1945. void gf_ApplyBounty (int lp_parameter) {
  1946.     int auto85BA527F_val;
  1947.  
  1948.     // Implementation
  1949.     gv_customSetting.lv_settingsString[gv_customSetting.lv_column_Bounty] = "Bounty: ";
  1950.     auto85BA527F_val = lp_parameter;
  1951.     if (auto85BA527F_val == 0) {
  1952.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Bounty] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_Bounty][lp_parameter];
  1953.         gv_gameInfo.lv_bounty = ge_Bounty_Disabled;
  1954.     }
  1955.     else if (auto85BA527F_val == 1) {
  1956.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Bounty] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_Bounty][lp_parameter];
  1957.         gv_gameInfo.lv_bounty = ge_Bounty_Enabled13;
  1958.         gv_gameInfo.lv_bountyValue = 3.0;
  1959.     }
  1960.     else if (auto85BA527F_val == 2) {
  1961.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Bounty] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_Bounty][lp_parameter];
  1962.         gv_gameInfo.lv_bounty = ge_Bounty_Enabled14;
  1963.         gv_gameInfo.lv_bountyValue = 4.0;
  1964.     }
  1965.     else if (auto85BA527F_val == 3) {
  1966.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Bounty] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_Bounty][lp_parameter];
  1967.         gv_gameInfo.lv_bounty = ge_Bounty_Enabled16;
  1968.         gv_gameInfo.lv_bountyValue = 6.0;
  1969.     }
  1970.     else {
  1971.     }
  1972. }
  1973.  
  1974. trigger auto_gf_ApplyTerritorialDistribution_Trigger = null;
  1975. int auto_gf_ApplyTerritorialDistribution_lp_parameter;
  1976.  
  1977. void gf_ApplyTerritorialDistribution (int lp_parameter) {
  1978.     auto_gf_ApplyTerritorialDistribution_lp_parameter = lp_parameter;
  1979.  
  1980.     if (auto_gf_ApplyTerritorialDistribution_Trigger == null) {
  1981.         auto_gf_ApplyTerritorialDistribution_Trigger = TriggerCreate("auto_gf_ApplyTerritorialDistribution_TriggerFunc");
  1982.     }
  1983.  
  1984.     TriggerExecute(auto_gf_ApplyTerritorialDistribution_Trigger, false, false);
  1985. }
  1986.  
  1987. bool auto_gf_ApplyTerritorialDistribution_TriggerFunc (bool testConds, bool runActions) {
  1988.     int lp_parameter = auto_gf_ApplyTerritorialDistribution_lp_parameter;
  1989.  
  1990.     int auto02FC4E9A_val;
  1991.  
  1992.     // Implementation
  1993.     gv_customSetting.lv_settingsString[gv_customSetting.lv_column_TerritorialDistribution] = "Territorial Distribution: ";
  1994.     auto02FC4E9A_val = lp_parameter;
  1995.     if (auto02FC4E9A_val == 0) {
  1996.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_TerritorialDistribution] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_TerritorialDistribution][lp_parameter];
  1997.         gf_RandomAllBases();
  1998.     }
  1999.     else if (auto02FC4E9A_val == 1) {
  2000.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_TerritorialDistribution] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_TerritorialDistribution][lp_parameter];
  2001.         gf_RandomSingleBase();
  2002.     }
  2003.     else if (auto02FC4E9A_val == 2) {
  2004.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_TerritorialDistribution] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_TerritorialDistribution][lp_parameter];
  2005.         gf_RandomCountries();
  2006.     }
  2007.     else if (auto02FC4E9A_val == 3) {
  2008.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_TerritorialDistribution] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_TerritorialDistribution][lp_parameter];
  2009.         gf_RandomRegion();
  2010.     }
  2011.     else {
  2012.     }
  2013.     return true;
  2014. }
  2015.  
  2016. void gf_ApplyVictoryCondition (int lp_parameter) {
  2017.     int auto0A988DCD_val;
  2018.  
  2019.     // Implementation
  2020.     gv_customSetting.lv_settingsString[gv_customSetting.lv_column_VictoryCondition] = "Victory Condition: ";
  2021.     auto0A988DCD_val = lp_parameter;
  2022.     if (auto0A988DCD_val == 0) {
  2023.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_VictoryCondition] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_VictoryCondition][lp_parameter];
  2024.         gv_gameInfo.lv_victoryConditionType = ge_WinConditions_Disabled;
  2025.         gv_gameInfo.lv_victoryConditionPercentage = 110;
  2026.     }
  2027.     else if (auto0A988DCD_val == 1) {
  2028.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_VictoryCondition] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_VictoryCondition][lp_parameter];
  2029.         gv_gameInfo.lv_victoryConditionType = ge_WinConditions_Percent;
  2030.         gv_gameInfo.lv_victoryConditionPercentage = 60;
  2031.     }
  2032.     else if (auto0A988DCD_val == 2) {
  2033.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_VictoryCondition] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_VictoryCondition][lp_parameter];
  2034.         gv_gameInfo.lv_victoryConditionType = ge_WinConditions_Percent;
  2035.         gv_gameInfo.lv_victoryConditionPercentage = 70;
  2036.     }
  2037.     else if (auto0A988DCD_val == 3) {
  2038.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_VictoryCondition] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_VictoryCondition][lp_parameter];
  2039.         gv_gameInfo.lv_victoryConditionType = ge_WinConditions_Percent;
  2040.         gv_gameInfo.lv_victoryConditionPercentage = 80;
  2041.     }
  2042.     else {
  2043.     }
  2044. }
  2045.  
  2046. void gf_ApplyConscripts (int lp_parameter) {
  2047.     int autoE1B1E874_val;
  2048.  
  2049.     // Implementation
  2050.     gv_customSetting.lv_settingsString[gv_customSetting.lv_column_Conscripts] = "Conscripts: ";
  2051.     autoE1B1E874_val = lp_parameter;
  2052.     if (autoE1B1E874_val == 0) {
  2053.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Conscripts] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_Conscripts][lp_parameter];
  2054.         gv_gameInfo.lv_conscripts = ge_Spawn_Enabled;
  2055.     }
  2056.     else if (autoE1B1E874_val == 1) {
  2057.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Conscripts] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_Conscripts][lp_parameter];
  2058.         gv_gameInfo.lv_conscripts = ge_Spawn_Disabled;
  2059.     }
  2060.     else {
  2061.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Conscripts] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_Conscripts][lp_parameter];
  2062.         gv_gameInfo.lv_conscripts = ge_Spawn_Enabled;
  2063.     }
  2064. }
  2065.  
  2066. void gf_ApplyAlliance (int lp_parameter) {
  2067.     int auto3864E69F_val;
  2068.  
  2069.     // Implementation
  2070.     gv_customSetting.lv_settingsString[gv_customSetting.lv_column_Alliance] = "Alliance: ";
  2071.     auto3864E69F_val = lp_parameter;
  2072.     if (auto3864E69F_val == 0) {
  2073.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Alliance] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_Alliance][lp_parameter];
  2074.         gv_gameInfo.lv_alliance = ge_Alliance_EnabledFree;
  2075.     }
  2076.     else if (auto3864E69F_val == 1) {
  2077.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Alliance] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_Alliance][lp_parameter];
  2078.         gv_gameInfo.lv_alliance = ge_Alliance_DisabledFFA;
  2079.     }
  2080.     else {
  2081.     }
  2082.     UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeAllianceButton, false);
  2083.     UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeTeamResourceButton, false);
  2084. }
  2085.  
  2086. void gf_ApplyCards (int lp_parameter) {
  2087.     int auto8742DCB4_val;
  2088.  
  2089.     // Implementation
  2090.     gv_customSetting.lv_settingsString[gv_customSetting.lv_column_Cards] = "Cards: ";
  2091.     auto8742DCB4_val = lp_parameter;
  2092.     if (auto8742DCB4_val == 0) {
  2093.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Cards] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_Cards][lp_parameter];
  2094.         gv_gameInfo.lv_card = ge_CardSetting_Enabled;
  2095.     }
  2096.     else if (auto8742DCB4_val == 1) {
  2097.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Cards] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_Cards][lp_parameter];
  2098.         gv_gameInfo.lv_card = ge_CardSetting_Disabled;
  2099.     }
  2100.     else {
  2101.     }
  2102. }
  2103.  
  2104. void gf_ApplyVisibility (int lp_parameter) {
  2105.     int auto81ED3A96_val;
  2106.  
  2107.     // Implementation
  2108.     gv_customSetting.lv_settingsString[gv_customSetting.lv_column_Visibility] = "Visibility: ";
  2109.     auto81ED3A96_val = lp_parameter;
  2110.     if (auto81ED3A96_val == 0) {
  2111.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Visibility] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_Visibility][lp_parameter];
  2112.         gv_gameInfo.lv_visibility = ge_Visibility_AllVisible;
  2113.     }
  2114.     else if (auto81ED3A96_val == 1) {
  2115.         VisEnable(c_visTypeMask, true);
  2116.         VisEnable(c_visTypeFog, true);
  2117.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Visibility] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_Visibility][lp_parameter];
  2118.         gv_gameInfo.lv_visibility = ge_Visibility_FogofWar;
  2119.     }
  2120.     else {
  2121.     }
  2122. }
  2123.  
  2124. void gf_ApplyAnonymous (int lp_parameter) {
  2125.     int autoF6B29023_val;
  2126.  
  2127.     // Implementation
  2128.     gv_customSetting.lv_settingsString[gv_customSetting.lv_column_Anonymous] = "Anonymous: ";
  2129.     autoF6B29023_val = lp_parameter;
  2130.     if (autoF6B29023_val == 0) {
  2131.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Anonymous] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_Anonymous][lp_parameter];
  2132.         gv_gameInfo.lv_anonymous = ge_Anonymous_Enabled;
  2133.         PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupActive(), true, false, true));
  2134.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  2135.             gv_player[PlayerGroupLoopCurrent()].lv_nickname = StringToText("Anonymous");
  2136.         }
  2137.         PlayerGroupLoopEnd();
  2138.     }
  2139.     else if (autoF6B29023_val == 1) {
  2140.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Anonymous] = gv_customSetting.lv_string_Value[gv_customSetting.lv_column_Anonymous][lp_parameter];
  2141.         gv_gameInfo.lv_anonymous = ge_Anonymous_Disabled;
  2142.     }
  2143.     else {
  2144.     }
  2145. }
  2146.  
  2147. void gf_ApplyRanked () {
  2148.     // Implementation
  2149.     gv_customSetting.lv_settingsString[gv_customSetting.lv_column_Ranked] = "Ranked: ";
  2150.     if ((gv_gameInfo.lv_incomePeriod == 45) && (gv_gameInfo.lv_bounty == ge_Bounty_Enabled14) && (gv_gameInfo.lv_territorialDistribution == ge_TerritorialDistribution_RandomAllBases) && (gv_gameInfo.lv_victoryConditionPercentage == 70) && (gv_gameInfo.lv_conscripts == ge_Spawn_Enabled) && (gv_gameInfo.lv_alliance == ge_Alliance_DisabledFFA) && (gv_gameInfo.lv_card == ge_CardSetting_Enabled) && (gv_gameInfo.lv_visibility == ge_Visibility_AllVisible) && (gv_gameInfo.lv_mode == ge_Mode_Quick) && (PlayerGroupCount(gf_returnPlayerGroup(PlayerGroupAll(), true, false, false)) >= gv_gameInfo.lv_minPlayersRanked) && (PlayerGroupCount(gf_returnPlayerGroup(PlayerGroupAll(), true, false, false)) >= gv_gameInfo.lv_minPlayersRanked)) {
  2151.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Ranked] = "Enabled";
  2152.         gv_gameInfo.lv_ranked = ge_Ranked_Enabled;
  2153.         gf_ChatMessage(1, StringToText("<c val=\"CCCC33\">Game</c> - This is a  <c val=\"00FF00\">RANKED</c> game"), 2);
  2154.     }
  2155.     else {
  2156.         gv_customSetting.lv_settingsValue[gv_customSetting.lv_column_Ranked] = "Disabled";
  2157.         gv_gameInfo.lv_ranked = ge_Ranked_Disabled;
  2158.         gf_ChatMessage(1, StringToText("<c val=\"CCCC33\">Game</c> - This is a  <c val=\"FF0000\">UNRANKED</c> game"), 2);
  2159.     }
  2160. }
  2161.  
  2162. void gf_ScenarioListener (int lp_dialogItem, int lp_player) {
  2163.     int auto550ED1CB_val;
  2164.  
  2165.     // Implementation
  2166.     auto550ED1CB_val = lp_dialogItem;
  2167.     if (auto550ED1CB_val == gv_scenario.lv_dialog_Item_Button[0]) {
  2168.         DialogControlSetEnabled(gv_scenario.lv_dialog_Item_Button[0], PlayerGroupSingle(lp_player), false);
  2169.         DialogControlSetEnabled(gv_scenario.lv_dialog_Item_Button[1], PlayerGroupSingle(lp_player), true);
  2170.         libNtve_gf_SetDialogItemText(gv_scenario.lv_dialog_Item_Button[0], StringToText("Voted"), PlayerGroupSingle(lp_player));
  2171.         libNtve_gf_SetDialogItemText(gv_scenario.lv_dialog_Item_Button[1], StringToText("Vote"), PlayerGroupSingle(lp_player));
  2172.         PlayerGroupRemove(gv_scenario.lv_scenarioVotes[1], lp_player);
  2173.         PlayerGroupAdd(gv_scenario.lv_scenarioVotes[0], lp_player);
  2174.     }
  2175.     else if (auto550ED1CB_val == gv_scenario.lv_dialog_Item_Button[1]) {
  2176.         DialogControlSetEnabled(gv_scenario.lv_dialog_Item_Button[0], PlayerGroupSingle(lp_player), true);
  2177.         DialogControlSetEnabled(gv_scenario.lv_dialog_Item_Button[1], PlayerGroupSingle(lp_player), false);
  2178.         libNtve_gf_SetDialogItemText(gv_scenario.lv_dialog_Item_Button[0], StringToText("Vote"), PlayerGroupSingle(lp_player));
  2179.         libNtve_gf_SetDialogItemText(gv_scenario.lv_dialog_Item_Button[1], StringToText("Voted"), PlayerGroupSingle(lp_player));
  2180.         PlayerGroupRemove(gv_scenario.lv_scenarioVotes[0], lp_player);
  2181.         PlayerGroupAdd(gv_scenario.lv_scenarioVotes[1], lp_player);
  2182.     }
  2183.     else {
  2184.     }
  2185. }
  2186.  
  2187. void gf_CustomListener (int lp_dialogItem, int lp_player) {
  2188.     // Variable Declarations
  2189.     int lv_column;
  2190.     int lv_row;
  2191.  
  2192.     // Variable Initialization
  2193.  
  2194.     // Implementation
  2195.     if ((DialogControlGetDialog(EventDialogControl()) == gv_customSetting.lv_dialog)) {
  2196.         while ((gv_customSetting.lv_string_Header[lv_column] != "")) {
  2197.             while ((gv_customSetting.lv_string_Value[lv_column][lv_row] != "")) {
  2198.                 if ((EventDialogControl() == gv_customSetting.lv_dialog_Item_CheckBox[lv_column][lv_row])) {
  2199.                     gf_ChangeUI(EventPlayer(), lv_column, lv_row);
  2200.                     return ;
  2201.                 }
  2202.  
  2203.                 lv_row = (lv_row + 1);
  2204.             }
  2205.             lv_row = 0;
  2206.             lv_column = (lv_column + 1);
  2207.         }
  2208.     }
  2209.  
  2210. }
  2211.  
  2212. void gf_OverlayListener (int lp_dialogItem, int lp_player) {
  2213.     int auto115CA7C8_val;
  2214.  
  2215.     // Implementation
  2216.     if (((DialogControlGetDialog(lp_dialogItem) == DialogControlGetDialog(gv_infoPanel.lv_mainMenuButtons[1])) || (DialogControlGetDialog(lp_dialogItem) == DialogControlGetDialog(gv_infoPanel.lv_mainMenuButtons[2])) || (DialogControlGetDialog(lp_dialogItem) == DialogControlGetDialog(gv_infoPanel.lv_mainMenuButtons[3])) || (DialogControlGetDialog(lp_dialogItem) == DialogControlGetDialog(gv_infoPanel.lv_mainMenuButtons[4])))) {
  2217.         auto115CA7C8_val = lp_dialogItem;
  2218.         if (auto115CA7C8_val == gv_infoPanel.lv_mainMenuButtons[1]) {
  2219.             UISetCustomMenuItemVisible(PlayerGroupAll(), c_gameMenuDialogOptionsButton, true);
  2220.             UISetCustomMenuItemVisible(PlayerGroupAll(), c_gameMenuDialogQuitButton, true);
  2221.             UISetCustomMenuItemVisible(PlayerGroupAll(), c_gameMenuDialogReturnToGameplayButton, true);
  2222.             UIShowCustomMenu(PlayerGroupSingle(lp_player), StringToText("Risk Legacy"));
  2223.         }
  2224.         else if (auto115CA7C8_val == gv_infoPanel.lv_mainMenuButtons[2]) {
  2225.             if ((DialogIsVisible(gv_profile.lv_main, lp_player) == false)) {
  2226.                 DialogSetVisible(gv_infoPanel.lv_backgroundDialog, PlayerGroupSingle(lp_player), true);
  2227.                 DialogSetVisible(gv_profile.lv_main, PlayerGroupSingle(lp_player), true);
  2228.                 DialogSetVisible(gv_profile.lv_statsMain, PlayerGroupSingle(lp_player), true);
  2229.                 PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupActive(), true, false, false));
  2230.                 for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  2231.                     DialogSetVisible(gv_profile.lv_playerProfile[PlayerGroupLoopCurrent()], PlayerGroupSingle(lp_player), false);
  2232.                 }
  2233.                 PlayerGroupLoopEnd();
  2234.                 DialogSetVisible(gv_profile.lv_playerProfile[lp_player], PlayerGroupSingle(lp_player), true);
  2235.                 DialogSetVisible(gv_profile.lv_settingsProfile[lp_player], PlayerGroupSingle(lp_player), false);
  2236.                 DialogSetVisible(gv_profile.lv_achieveProfile[lp_player], PlayerGroupSingle(lp_player), false);
  2237.                 DialogSetVisible(gv_log.lv_main, PlayerGroupSingle(lp_player), false);
  2238.                 DialogSetVisible(gv_log.lv_mapMain, PlayerGroupSingle(lp_player), false);
  2239.                 DialogSetVisible(gv_log.lv_minimapDialog[gv_log.lv_currentMap[lp_player]], PlayerGroupSingle(lp_player), false);
  2240.                 DialogSetVisible(gv_log.lv_messageMain, PlayerGroupSingle(lp_player), false);
  2241.             }
  2242.             else {
  2243.                 DialogSetVisible(gv_infoPanel.lv_backgroundDialog, PlayerGroupSingle(lp_player), false);
  2244.                 DialogSetVisible(gv_profile.lv_main, PlayerGroupSingle(lp_player), false);
  2245.                 DialogSetVisible(gv_profile.lv_statsMain, PlayerGroupSingle(lp_player), false);
  2246.                 DialogSetVisible(gv_profile.lv_settingsProfile[lp_player], PlayerGroupSingle(lp_player), false);
  2247.                 DialogSetVisible(gv_profile.lv_achieveProfile[lp_player], PlayerGroupSingle(lp_player), false);
  2248.                 PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupActive(), true, false, false));
  2249.                 for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  2250.                     DialogSetVisible(gv_profile.lv_playerProfile[PlayerGroupLoopCurrent()], PlayerGroupSingle(lp_player), false);
  2251.                 }
  2252.                 PlayerGroupLoopEnd();
  2253.             }
  2254.         }
  2255.         else if (auto115CA7C8_val == gv_infoPanel.lv_mainMenuButtons[3]) {
  2256.             if ((DialogIsVisible(gv_log.lv_main, lp_player) == false)) {
  2257.                 DialogSetVisible(gv_infoPanel.lv_backgroundDialog, PlayerGroupSingle(lp_player), true);
  2258.                 DialogSetVisible(gv_log.lv_main, PlayerGroupSingle(lp_player), true);
  2259.                 DialogSetVisible(gv_log.lv_messageMain, PlayerGroupSingle(lp_player), true);
  2260.                 DialogSetVisible(gv_profile.lv_main, PlayerGroupSingle(lp_player), false);
  2261.                 DialogSetVisible(gv_profile.lv_statsMain, PlayerGroupSingle(lp_player), false);
  2262.                 DialogSetVisible(gv_profile.lv_achieveProfile[lp_player], PlayerGroupSingle(lp_player), false);
  2263.                 DialogSetVisible(gv_profile.lv_settingsProfile[lp_player], PlayerGroupSingle(lp_player), false);
  2264.                 PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupActive(), true, false, false));
  2265.                 for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  2266.                     DialogSetVisible(gv_profile.lv_playerProfile[PlayerGroupLoopCurrent()], PlayerGroupSingle(lp_player), false);
  2267.                 }
  2268.                 PlayerGroupLoopEnd();
  2269.             }
  2270.             else {
  2271.                 DialogSetVisible(gv_infoPanel.lv_backgroundDialog, PlayerGroupSingle(lp_player), false);
  2272.                 DialogSetVisible(gv_log.lv_main, PlayerGroupSingle(lp_player), false);
  2273.                 DialogSetVisible(gv_profile.lv_achieveProfile[lp_player], PlayerGroupSingle(lp_player), false);
  2274.                 DialogSetVisible(gv_log.lv_mapMain, PlayerGroupSingle(lp_player), false);
  2275.                 DialogSetVisible(gv_log.lv_minimapDialog[gv_log.lv_currentMap[lp_player]], PlayerGroupSingle(lp_player), false);
  2276.                 DialogSetVisible(gv_log.lv_messageMain, PlayerGroupSingle(lp_player), false);
  2277.             }
  2278.         }
  2279.         else if (auto115CA7C8_val == gv_infoPanel.lv_mainMenuButtons[4]) {
  2280.             if ((PlayerGetPropertyInt(EventPlayer(), c_playerPropCustom) >= 3)) {
  2281.                 PlayerModifyPropertyInt(EventPlayer(), c_playerPropCustom, c_playerPropOperSubtract, 3);
  2282.                 PlayerModifyPropertyInt(EventPlayer(), c_playerPropTerrazine, c_playerPropOperAdd, 5);
  2283.                 if ((PlayerGetPropertyInt(EventPlayer(), c_playerPropCustom) >= 3)) {
  2284.                     libNtve_gf_SetDialogItemImage(gv_infoPanel.lv_mainMenuButtons[4], "Risk\\ui_battlenet_challenge_buttonyellow_normalpressed.dds", PlayerGroupSingle(EventPlayer()));
  2285.                     libNtve_gf_SetDialogItemImage2(gv_infoPanel.lv_mainMenuButtons[4], "Risk\\ui_battlenet_challenge_buttonyellow_normaloverpressedover.dds", PlayerGroupSingle(EventPlayer()));
  2286.                     libNtve_gf_SetDialogItemText(gv_infoPanel.lv_mainMenuButtons[4], StringToText("<c val=\"FDFF95\">Cards</c>"), PlayerGroupSingle(EventPlayer()));
  2287.                 }
  2288.                 else {
  2289.                     libNtve_gf_SetDialogItemImage(gv_infoPanel.lv_mainMenuButtons[4], "Risk\\ui_battlenet_challenge_button_normalpressed.dds", PlayerGroupSingle(EventPlayer()));
  2290.                     libNtve_gf_SetDialogItemImage2(gv_infoPanel.lv_mainMenuButtons[4], "Risk\\ui_battlenet_challenge_button_normaloverpressedover.dds", PlayerGroupSingle(EventPlayer()));
  2291.                     libNtve_gf_SetDialogItemText(gv_infoPanel.lv_mainMenuButtons[4], StringToText("<c val=\"95CAFF\">Cards</c>"), PlayerGroupSingle(EventPlayer()));
  2292.                 }
  2293.             }
  2294.  
  2295.         }
  2296.         else {
  2297.         }
  2298.     }
  2299.  
  2300. }
  2301.  
  2302. void gf_ProfileListener (int lp_dialogItem, int lp_player) {
  2303.     int auto1E64FFC4_val;
  2304.  
  2305.     // Variable Declarations
  2306.     int lv_i;
  2307.     int lv_i2;
  2308.  
  2309.     // Variable Initialization
  2310.     lv_i = 1;
  2311.     lv_i2 = 1;
  2312.  
  2313.     // Implementation
  2314.     if (((DialogControlGetDialog(lp_dialogItem) == gv_profile.lv_main) || (DialogControlGetDialog(lp_dialogItem) == gv_profile.lv_statsMain))) {
  2315.         auto1E64FFC4_val = lp_dialogItem;
  2316.         if (auto1E64FFC4_val == gv_profile.lv_mainDI[1]) {
  2317.             DialogSetVisible(gv_profile.lv_statsMain, PlayerGroupSingle(lp_player), true);
  2318.             DialogSetVisible(gv_profile.lv_settingsProfile[lp_player], PlayerGroupSingle(lp_player), false);
  2319.             DialogSetVisible(gv_profile.lv_achieveProfile[lp_player], PlayerGroupSingle(lp_player), false);
  2320.             while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  2321.                 DialogSetVisible(gv_profile.lv_playerProfile[lv_i], PlayerGroupSingle(lp_player), false);
  2322.                 lv_i = (lv_i + 1);
  2323.             }
  2324.             DialogSetVisible(gv_profile.lv_playerProfile[lp_player], PlayerGroupSingle(lp_player), true);
  2325.         }
  2326.         else if (auto1E64FFC4_val == gv_profile.lv_mainDI[2]) {
  2327.             DialogSetVisible(gv_profile.lv_achieveProfile[lp_player], PlayerGroupSingle(lp_player), true);
  2328.             DialogSetVisible(gv_profile.lv_statsMain, PlayerGroupSingle(lp_player), false);
  2329.             DialogSetVisible(gv_profile.lv_settingsProfile[lp_player], PlayerGroupSingle(lp_player), false);
  2330.             while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  2331.                 DialogSetVisible(gv_profile.lv_playerProfile[lv_i], PlayerGroupSingle(lp_player), false);
  2332.                 lv_i = (lv_i + 1);
  2333.             }
  2334.         }
  2335.         else if (auto1E64FFC4_val == gv_profile.lv_mainDI[3]) {
  2336.             DialogSetVisible(gv_profile.lv_statsMain, PlayerGroupSingle(lp_player), false);
  2337.             DialogSetVisible(gv_profile.lv_achieveProfile[lp_player], PlayerGroupSingle(lp_player), false);
  2338.             while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  2339.                 DialogSetVisible(gv_profile.lv_playerProfile[lv_i], PlayerGroupSingle(lp_player), false);
  2340.                 DialogSetVisible(gv_profile.lv_settingsProfile[lv_i], PlayerGroupSingle(lp_player), false);
  2341.                 lv_i = (lv_i + 1);
  2342.             }
  2343.             DialogSetVisible(gv_profile.lv_settingsProfile[lp_player], PlayerGroupSingle(lp_player), true);
  2344.         }
  2345.         else if (auto1E64FFC4_val == gv_profile.lv_playerSelectionDI[1]) {
  2346.             while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  2347.                 DialogSetVisible(gv_profile.lv_playerProfile[lv_i], PlayerGroupSingle(lp_player), false);
  2348.                 lv_i = (lv_i + 1);
  2349.             }
  2350.             DialogSetVisible(gv_profile.lv_playerProfile[1], PlayerGroupSingle(lp_player), true);
  2351.         }
  2352.         else if (auto1E64FFC4_val == gv_profile.lv_playerSelectionDI[2]) {
  2353.             while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  2354.                 DialogSetVisible(gv_profile.lv_playerProfile[lv_i], PlayerGroupSingle(lp_player), false);
  2355.                 lv_i = (lv_i + 1);
  2356.             }
  2357.             DialogSetVisible(gv_profile.lv_playerProfile[2], PlayerGroupSingle(lp_player), true);
  2358.         }
  2359.         else if (auto1E64FFC4_val == gv_profile.lv_playerSelectionDI[3]) {
  2360.             while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  2361.                 DialogSetVisible(gv_profile.lv_playerProfile[lv_i], PlayerGroupSingle(lp_player), false);
  2362.                 lv_i = (lv_i + 1);
  2363.             }
  2364.             DialogSetVisible(gv_profile.lv_playerProfile[3], PlayerGroupSingle(lp_player), true);
  2365.         }
  2366.         else if (auto1E64FFC4_val == gv_profile.lv_playerSelectionDI[4]) {
  2367.             while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  2368.                 DialogSetVisible(gv_profile.lv_playerProfile[lv_i], PlayerGroupSingle(lp_player), false);
  2369.                 lv_i = (lv_i + 1);
  2370.             }
  2371.             DialogSetVisible(gv_profile.lv_playerProfile[4], PlayerGroupSingle(lp_player), true);
  2372.         }
  2373.         else if (auto1E64FFC4_val == gv_profile.lv_playerSelectionDI[5]) {
  2374.             while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  2375.                 DialogSetVisible(gv_profile.lv_playerProfile[lv_i], PlayerGroupSingle(lp_player), false);
  2376.                 lv_i = (lv_i + 1);
  2377.             }
  2378.             DialogSetVisible(gv_profile.lv_playerProfile[5], PlayerGroupSingle(lp_player), true);
  2379.         }
  2380.         else if (auto1E64FFC4_val == gv_profile.lv_playerSelectionDI[6]) {
  2381.             while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  2382.                 DialogSetVisible(gv_profile.lv_playerProfile[lv_i], PlayerGroupSingle(lp_player), false);
  2383.                 lv_i = (lv_i + 1);
  2384.             }
  2385.             DialogSetVisible(gv_profile.lv_playerProfile[6], PlayerGroupSingle(lp_player), true);
  2386.         }
  2387.         else if (auto1E64FFC4_val == gv_profile.lv_playerSelectionDI[7]) {
  2388.             while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  2389.                 DialogSetVisible(gv_profile.lv_playerProfile[lv_i], PlayerGroupSingle(lp_player), false);
  2390.                 lv_i = (lv_i + 1);
  2391.             }
  2392.             DialogSetVisible(gv_profile.lv_playerProfile[7], PlayerGroupSingle(lp_player), true);
  2393.         }
  2394.         else if (auto1E64FFC4_val == gv_profile.lv_playerSelectionDI[8]) {
  2395.             while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  2396.                 DialogSetVisible(gv_profile.lv_playerProfile[lv_i], PlayerGroupSingle(lp_player), false);
  2397.                 lv_i = (lv_i + 1);
  2398.             }
  2399.             DialogSetVisible(gv_profile.lv_playerProfile[8], PlayerGroupSingle(lp_player), true);
  2400.         }
  2401.         else if (auto1E64FFC4_val == gv_profile.lv_playerSelectionDI[9]) {
  2402.             while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  2403.                 DialogSetVisible(gv_profile.lv_playerProfile[lv_i], PlayerGroupSingle(lp_player), false);
  2404.                 lv_i = (lv_i + 1);
  2405.             }
  2406.             DialogSetVisible(gv_profile.lv_playerProfile[9], PlayerGroupSingle(lp_player), true);
  2407.         }
  2408.         else if (auto1E64FFC4_val == gv_profile.lv_playerSelectionDI[10]) {
  2409.             while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  2410.                 DialogSetVisible(gv_profile.lv_playerProfile[lv_i], PlayerGroupSingle(lp_player), false);
  2411.                 lv_i = (lv_i + 1);
  2412.             }
  2413.             DialogSetVisible(gv_profile.lv_playerProfile[10], PlayerGroupSingle(lp_player), true);
  2414.         }
  2415.         else if (auto1E64FFC4_val == gv_profile.lv_playerSelectionDI[11]) {
  2416.             while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  2417.                 DialogSetVisible(gv_profile.lv_playerProfile[lv_i], PlayerGroupSingle(lp_player), false);
  2418.                 lv_i = (lv_i + 1);
  2419.             }
  2420.             DialogSetVisible(gv_profile.lv_playerProfile[11], PlayerGroupSingle(lp_player), true);
  2421.         }
  2422.         else if (auto1E64FFC4_val == gv_profile.lv_playerSelectionDI[12]) {
  2423.             while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  2424.                 DialogSetVisible(gv_profile.lv_playerProfile[lv_i], PlayerGroupSingle(lp_player), false);
  2425.                 lv_i = (lv_i + 1);
  2426.             }
  2427.             DialogSetVisible(gv_profile.lv_playerProfile[12], PlayerGroupSingle(lp_player), true);
  2428.         }
  2429.         else {
  2430.         }
  2431.     }
  2432.  
  2433. }
  2434.  
  2435. void gf_AchievementListener (int lp_dialogItem, int lp_player) {
  2436.     int auto3E713934_val;
  2437.  
  2438.     // Implementation
  2439.     if ((DialogControlGetDialog(lp_dialogItem) == gv_profile.lv_achieveProfile[lp_player]) && (gv_profile.lv_achieveWait[lp_player] == 0)) {
  2440.         auto3E713934_val = lp_dialogItem;
  2441.         if (auto3E713934_val == gv_profile.lv_achieveVictoryDI[1][lp_player]) {
  2442.             if ((gv_profile.lv_achieveUnitValue[1][lp_player] != 1)) {
  2443.                 gv_profile.lv_achieveUnitValue[1][lp_player] = 1;
  2444.             }
  2445.             else {
  2446.                 gv_profile.lv_achieveUnitValue[1][lp_player] = 0;
  2447.             }
  2448.             gf_AchieveChangeAllUnits(lp_player, ge_AchieveUnitType_Marine);
  2449.         }
  2450.         else if (auto3E713934_val == gv_profile.lv_achieveVictoryDI[2][lp_player]) {
  2451.             if ((gv_profile.lv_achieveUnitValue[5][lp_player] != 1)) {
  2452.                 gv_profile.lv_achieveUnitValue[5][lp_player] = 1;
  2453.             }
  2454.             else {
  2455.                 gv_profile.lv_achieveUnitValue[5][lp_player] = 0;
  2456.             }
  2457.             gf_AchieveChangeAllUnits(lp_player, ge_AchieveUnitType_Banshee);
  2458.         }
  2459.         else if (auto3E713934_val == gv_profile.lv_achieveVictoryDI[3][lp_player]) {
  2460.             if ((gv_profile.lv_achieveUnitValue[1][lp_player] != 2)) {
  2461.                 gv_profile.lv_achieveUnitValue[1][lp_player] = 2;
  2462.             }
  2463.             else {
  2464.                 gv_profile.lv_achieveUnitValue[1][lp_player] = 0;
  2465.             }
  2466.             gf_AchieveChangeAllUnits(lp_player, ge_AchieveUnitType_Marine);
  2467.         }
  2468.         else if (auto3E713934_val == gv_profile.lv_achieveVictoryDI[4][lp_player]) {
  2469.             if ((gv_profile.lv_achieveUnitValue[3][lp_player] != 1)) {
  2470.                 gv_profile.lv_achieveUnitValue[3][lp_player] = 1;
  2471.             }
  2472.             else {
  2473.                 gv_profile.lv_achieveUnitValue[3][lp_player] = 0;
  2474.             }
  2475.             gf_AchieveChangeAllUnits(lp_player, ge_AchieveUnitType_Tank);
  2476.         }
  2477.         else if (auto3E713934_val == gv_profile.lv_achieveVictoryDI[5][lp_player]) {
  2478.             if ((gv_profile.lv_achieveUnitValue[2][lp_player] != 1)) {
  2479.                 gv_profile.lv_achieveUnitValue[2][lp_player] = 1;
  2480.             }
  2481.             else {
  2482.                 gv_profile.lv_achieveUnitValue[2][lp_player] = 0;
  2483.             }
  2484.             gf_AchieveChangeAllUnits(lp_player, ge_AchieveUnitType_Marauder);
  2485.         }
  2486.         else if (auto3E713934_val == gv_profile.lv_achieveVictoryDI[6][lp_player]) {
  2487.             if ((gv_profile.lv_achieveUnitValue[1][lp_player] != 3)) {
  2488.                 gv_profile.lv_achieveUnitValue[1][lp_player] = 3;
  2489.             }
  2490.             else {
  2491.                 gv_profile.lv_achieveUnitValue[1][lp_player] = 0;
  2492.             }
  2493.             gf_AchieveChangeAllUnits(lp_player, ge_AchieveUnitType_Marine);
  2494.         }
  2495.         else if (auto3E713934_val == gv_profile.lv_achieveKillsDI[1][lp_player]) {
  2496.             if ((gv_profile.lv_achieveUnitValue[4][lp_player] != 1)) {
  2497.                 gv_profile.lv_achieveUnitValue[4][lp_player] = 1;
  2498.             }
  2499.             else {
  2500.                 gv_profile.lv_achieveUnitValue[4][lp_player] = 0;
  2501.             }
  2502.             gf_AchieveChangeAllUnits(lp_player, ge_AchieveUnitType_Viking);
  2503.         }
  2504.         else if (auto3E713934_val == gv_profile.lv_achieveKillsDI[2][lp_player]) {
  2505.             if ((gv_profile.lv_achieveUnitValue[1][lp_player] != 4)) {
  2506.                 gv_profile.lv_achieveUnitValue[1][lp_player] = 4;
  2507.             }
  2508.             else {
  2509.                 gv_profile.lv_achieveUnitValue[1][lp_player] = 0;
  2510.             }
  2511.             gf_AchieveChangeAllUnits(lp_player, ge_AchieveUnitType_Marine);
  2512.         }
  2513.         else if (auto3E713934_val == gv_profile.lv_achieveKillsDI[3][lp_player]) {
  2514.             if ((gv_profile.lv_achieveUnitValue[1][lp_player] != 5)) {
  2515.                 gv_profile.lv_achieveUnitValue[1][lp_player] = 5;
  2516.             }
  2517.             else {
  2518.                 gv_profile.lv_achieveUnitValue[1][lp_player] = 0;
  2519.             }
  2520.             gf_AchieveChangeAllUnits(lp_player, ge_AchieveUnitType_Marine);
  2521.         }
  2522.         else if (auto3E713934_val == gv_profile.lv_achieveOtherDI[1][lp_player]) {
  2523.             if ((gv_profile.lv_achieveUnitValue[2][lp_player] != 2)) {
  2524.                 gv_profile.lv_achieveUnitValue[2][lp_player] = 2;
  2525.             }
  2526.             else {
  2527.                 gv_profile.lv_achieveUnitValue[2][lp_player] = 0;
  2528.             }
  2529.             gf_AchieveChangeAllUnits(lp_player, ge_AchieveUnitType_Marauder);
  2530.         }
  2531.         else if (auto3E713934_val == gv_profile.lv_achieveOtherDI[2][lp_player]) {
  2532.             if ((gv_profile.lv_achieveUnitValue[6][lp_player] != 1)) {
  2533.                 gv_profile.lv_achieveUnitValue[6][lp_player] = 1;
  2534.             }
  2535.             else {
  2536.                 gv_profile.lv_achieveUnitValue[6][lp_player] = 0;
  2537.             }
  2538.             gf_AchieveChangeAllUnits(lp_player, ge_AchieveUnitType_Battlecrusier);
  2539.         }
  2540.         else if (auto3E713934_val == gv_profile.lv_achieveOtherDI[3][lp_player]) {
  2541.             if ((gv_profile.lv_achieveUnitValue[7][lp_player] != 1)) {
  2542.                 gv_profile.lv_achieveUnitValue[7][lp_player] = 1;
  2543.             }
  2544.             else {
  2545.                 gv_profile.lv_achieveUnitValue[7][lp_player] = 0;
  2546.             }
  2547.             gf_AchieveChangeAllUnits(lp_player, ge_AchieveUnitType_Starport);
  2548.         }
  2549.         else if (auto3E713934_val == gv_profile.lv_achieveOtherDI[4][lp_player]) {
  2550.             if ((gv_profile.lv_achieveUnitValue[8][lp_player] != 1)) {
  2551.                 gv_profile.lv_achieveUnitValue[8][lp_player] = 1;
  2552.             }
  2553.             else {
  2554.                 gv_profile.lv_achieveUnitValue[8][lp_player] = 0;
  2555.             }
  2556.             gf_AchieveChangeAllUnits(lp_player, ge_AchieveUnitType_Barracks);
  2557.         }
  2558.         else if (auto3E713934_val == gv_profile.lv_achieveOtherDI[5][lp_player]) {
  2559.             if ((gv_profile.lv_achieveDonateValue[lp_player] != 1)) {
  2560.                 gv_profile.lv_achieveDonateValue[lp_player] = 1;
  2561.                 gf_ShowHideAllFlag(lp_player, true);
  2562.                 DialogControlSetVisible(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_flag], PlayerGroupAll(), true);
  2563.                 DialogControlSetPosition(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_username], PlayerGroupAll(), c_anchorTopLeft, 53, DialogControlGetOffsetY(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_username], 1));
  2564.                 gf_RefreshAllFlag(lp_player, 61);
  2565.                 gf_BankSave(lp_player, false);
  2566.             }
  2567.             else {
  2568.                 gv_profile.lv_achieveDonateValue[lp_player] = 0;
  2569.                 gf_ShowHideAllFlag(lp_player, false);
  2570.                 gv_player[lp_player].lv_homeCountry = 0;
  2571.                 DialogControlSetVisible(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_flag], PlayerGroupAll(), false);
  2572.                 DialogControlSetPosition(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_username], PlayerGroupAll(), c_anchorTopLeft, 18, DialogControlGetOffsetY(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_username], 1));
  2573.                 gf_BankSave(lp_player, false);
  2574.             }
  2575.         }
  2576.         else {
  2577.         }
  2578.     }
  2579.  
  2580.     gf_AchieveWait(lp_player);
  2581. }
  2582.  
  2583. trigger auto_gf_AchieveWait_Trigger = null;
  2584. int auto_gf_AchieveWait_lp_player;
  2585.  
  2586. void gf_AchieveWait (int lp_player) {
  2587.     auto_gf_AchieveWait_lp_player = lp_player;
  2588.  
  2589.     if (auto_gf_AchieveWait_Trigger == null) {
  2590.         auto_gf_AchieveWait_Trigger = TriggerCreate("auto_gf_AchieveWait_TriggerFunc");
  2591.     }
  2592.  
  2593.     TriggerExecute(auto_gf_AchieveWait_Trigger, false, false);
  2594. }
  2595.  
  2596. bool auto_gf_AchieveWait_TriggerFunc (bool testConds, bool runActions) {
  2597.     int lp_player = auto_gf_AchieveWait_lp_player;
  2598.  
  2599.     // Implementation
  2600.     gv_profile.lv_achieveWait[lp_player] = 1;
  2601.     Wait(10.0, c_timeReal);
  2602.     gv_profile.lv_achieveWait[lp_player] = 0;
  2603.     return true;
  2604. }
  2605.  
  2606. void gf_SettingsListener (int lp_dialogItem, int lp_player) {
  2607.     int autoEA842DBB_val;
  2608.  
  2609.     // Implementation
  2610.     if ((DialogControlGetDialog(lp_dialogItem) == gv_profile.lv_settingsProfile[lp_player])) {
  2611.         autoEA842DBB_val = lp_dialogItem;
  2612.         if (autoEA842DBB_val == gv_profile.lv_settingsProfileDI[1][lp_player]) {
  2613.             gv_profile.lv_settingsProfileValue[1][lp_player] = DialogControlGetSelectedItem(lp_dialogItem, lp_player);
  2614.             gf_BankSave(lp_player, false);
  2615.         }
  2616.         else if (autoEA842DBB_val == gv_profile.lv_settingsProfileDI[2][lp_player]) {
  2617.             gv_profile.lv_settingsProfileValue[2][lp_player] = DialogControlGetSelectedItem(lp_dialogItem, lp_player);
  2618.             gf_BankSave(lp_player, false);
  2619.         }
  2620.         else if (autoEA842DBB_val == gv_profile.lv_settingsProfileDI[3][lp_player]) {
  2621.             if ((libNtve_gf_DialogItemIsChecked(lp_dialogItem, lp_player) == true)) {
  2622.                 gv_profile.lv_settingsProfileValue[3][lp_player] = 1;
  2623.             }
  2624.             else {
  2625.                 gv_profile.lv_settingsProfileValue[3][lp_player] = 0;
  2626.             }
  2627.             gf_BankSave(lp_player, false);
  2628.         }
  2629.         else if (autoEA842DBB_val == gv_profile.lv_settingsProfileDI[4][lp_player]) {
  2630.             if ((libNtve_gf_DialogItemIsChecked(lp_dialogItem, lp_player) == true)) {
  2631.                 gv_profile.lv_settingsProfileValue[4][lp_player] = 1;
  2632.                 DialogControlSetEnabled(gv_profile.lv_playerSelectionDI[lp_player], PlayerGroupAll(), true);
  2633.             }
  2634.             else {
  2635.                 gv_profile.lv_settingsProfileValue[4][lp_player] = 0;
  2636.                 DialogControlSetEnabled(gv_profile.lv_playerSelectionDI[lp_player], PlayerGroupAll(), false);
  2637.                 DialogControlSetEnabled(gv_profile.lv_playerSelectionDI[lp_player], PlayerGroupSingle(lp_player), true);
  2638.             }
  2639.             gf_BankSave(lp_player, false);
  2640.         }
  2641.         else if (autoEA842DBB_val == gv_profile.lv_settingsProfileDI[5][lp_player]) {
  2642.             if ((libNtve_gf_DialogItemIsChecked(lp_dialogItem, lp_player) == true)) {
  2643.                 gv_profile.lv_settingsProfileValue[5][lp_player] = 1;
  2644.                 UnitGroupLoopBegin(UnitGroup("DestructibleKorhalFlag", c_playerAny, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  2645.                 for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  2646.                     gf_ShowHideActorForPlayerGroup(PlayerGroupSingle(lp_player), libNtve_gf_MainActorofUnit(UnitGroupLoopCurrent()), true);
  2647.                 }
  2648.                 UnitGroupLoopEnd();
  2649.                 PlayerGroupRemove(gv_gameInfo.lv_hideFlag, lp_player);
  2650.             }
  2651.             else {
  2652.                 gv_profile.lv_settingsProfileValue[5][lp_player] = 0;
  2653.                 UnitGroupLoopBegin(UnitGroup("DestructibleKorhalFlag", c_playerAny, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  2654.                 for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  2655.                     gf_ShowHideActorForPlayerGroup(PlayerGroupSingle(lp_player), libNtve_gf_MainActorofUnit(UnitGroupLoopCurrent()), false);
  2656.                 }
  2657.                 UnitGroupLoopEnd();
  2658.                 PlayerGroupAdd(gv_gameInfo.lv_hideFlag, lp_player);
  2659.             }
  2660.             gf_BankSave(lp_player, false);
  2661.         }
  2662.         else {
  2663.         }
  2664.     }
  2665.  
  2666. }
  2667.  
  2668. void gf_LogListener (int lp_dialogItem, int lp_player) {
  2669.     int auto1CE21E33_val;
  2670.  
  2671.     // Variable Declarations
  2672.     int lv_i;
  2673.     int lv_i2;
  2674.  
  2675.     // Variable Initialization
  2676.     lv_i = 1;
  2677.     lv_i2 = 1;
  2678.  
  2679.     // Implementation
  2680.     if (((DialogControlGetDialog(lp_dialogItem) == gv_log.lv_main) || (DialogControlGetDialog(lp_dialogItem) == gv_log.lv_mapMain) || (DialogControlGetDialog(lp_dialogItem) == gv_log.lv_messageMain))) {
  2681.         auto1CE21E33_val = lp_dialogItem;
  2682.         if (auto1CE21E33_val == gv_log.lv_mainDI[1]) {
  2683.             DialogSetVisible(gv_log.lv_mapMain, PlayerGroupSingle(lp_player), true);
  2684.             DialogSetVisible(gv_log.lv_messageMain, PlayerGroupSingle(lp_player), false);
  2685.             if ((gv_log.lv_currentMap[lp_player] < 0)) {
  2686.                 gv_log.lv_currentMap[lp_player] = 0;
  2687.             }
  2688.  
  2689.             DialogSetVisible(gv_log.lv_minimapDialog[gv_log.lv_currentMap[lp_player]], PlayerGroupSingle(lp_player), true);
  2690.         }
  2691.         else if (auto1CE21E33_val == gv_log.lv_mainDI[2]) {
  2692.             DialogSetVisible(gv_log.lv_messageMain, PlayerGroupSingle(lp_player), true);
  2693.             DialogSetVisible(gv_log.lv_mapMain, PlayerGroupSingle(lp_player), false);
  2694.             DialogSetVisible(gv_log.lv_minimapDialog[gv_log.lv_currentMap[lp_player]], PlayerGroupSingle(lp_player), false);
  2695.         }
  2696.         else if (auto1CE21E33_val == gv_log.lv_mapDI[1]) {
  2697.             if (((gv_log.lv_currentMap[lp_player] - 1) >= 0)) {
  2698.                 DialogSetVisible(gv_log.lv_minimapDialog[gv_log.lv_currentMap[lp_player]], PlayerGroupSingle(lp_player), false);
  2699.                 gv_log.lv_currentMap[lp_player] = (gv_log.lv_currentMap[lp_player] - 1);
  2700.                 DialogSetVisible(gv_log.lv_minimapDialog[gv_log.lv_currentMap[lp_player]], PlayerGroupSingle(lp_player), true);
  2701.                 libNtve_gf_SetDialogItemText(gv_log.lv_mapDI[3], (StringToText("History Turn Time: ") + IntToText((gv_log.lv_currentMap[lp_player] * 3))), PlayerGroupSingle(lp_player));
  2702.                 DialogControlSetEnabled(gv_log.lv_mapDI[2], PlayerGroupSingle(lp_player), true);
  2703.                 DialogControlSetEnabled(gv_log.lv_mapDI[1], PlayerGroupSingle(lp_player), true);
  2704.             }
  2705.             else {
  2706.                 DialogControlSetEnabled(gv_log.lv_mapDI[1], PlayerGroupSingle(lp_player), false);
  2707.             }
  2708.             return ;
  2709.         }
  2710.         else if (auto1CE21E33_val == gv_log.lv_mapDI[2]) {
  2711.             if (((gv_log.lv_currentMap[lp_player] + 1) <= gv_log.lv_lock)) {
  2712.                 DialogSetVisible(gv_log.lv_minimapDialog[gv_log.lv_currentMap[lp_player]], PlayerGroupSingle(lp_player), false);
  2713.                 gv_log.lv_currentMap[lp_player] = (gv_log.lv_currentMap[lp_player] + 1);
  2714.                 DialogSetVisible(gv_log.lv_minimapDialog[gv_log.lv_currentMap[lp_player]], PlayerGroupSingle(lp_player), true);
  2715.                 libNtve_gf_SetDialogItemText(gv_log.lv_mapDI[3], (StringToText("History Turn Time: ") + IntToText((gv_log.lv_currentMap[lp_player] * 3))), PlayerGroupSingle(lp_player));
  2716.                 DialogControlSetEnabled(gv_log.lv_mapDI[1], PlayerGroupSingle(lp_player), true);
  2717.                 DialogControlSetEnabled(gv_log.lv_mapDI[2], PlayerGroupSingle(lp_player), true);
  2718.             }
  2719.             else {
  2720.                 DialogControlSetEnabled(gv_log.lv_mapDI[2], PlayerGroupSingle(lp_player), false);
  2721.             }
  2722.             return ;
  2723.         }
  2724.         else if (auto1CE21E33_val == gv_log.lv_muteDI[FixedToInt(libNtve_gf_DialogItemValue(lp_dialogItem, lp_player))]) {
  2725.             if ((PlayerGroupHasPlayer(gv_chat.lv_mutedPlayers[lp_player], FixedToInt(libNtve_gf_DialogItemValue(lp_dialogItem, lp_player))) == false)) {
  2726.                 libNtve_gf_SetDialogItemText(lp_dialogItem, StringToText("Unmute"), PlayerGroupSingle(lp_player));
  2727.                 PlayerGroupAdd(gv_chat.lv_mutedPlayers[lp_player], FixedToInt(libNtve_gf_DialogItemValue(lp_dialogItem, lp_player)));
  2728.             }
  2729.             else {
  2730.                 libNtve_gf_SetDialogItemText(lp_dialogItem, StringToText("Mute"), PlayerGroupSingle(lp_player));
  2731.                 PlayerGroupRemove(gv_chat.lv_mutedPlayers[lp_player], FixedToInt(libNtve_gf_DialogItemValue(lp_dialogItem, lp_player)));
  2732.             }
  2733.         }
  2734.         else {
  2735.         }
  2736.     }
  2737.  
  2738. }
  2739.  
  2740. void gf_Scoreboard_Listener (int lp_player, int lp_dialogItem) {
  2741.     int auto27E9EEEC_val;
  2742.  
  2743.     // Implementation
  2744.     if (((DialogControlGetDialog(lp_dialogItem) == gv_scoreboard.lv_dialog) || (DialogControlGetDialog(lp_dialogItem) == DialogControlGetDialog(gv_scoreboard.lv_minimize)))) {
  2745.         auto27E9EEEC_val = lp_dialogItem;
  2746.         if (auto27E9EEEC_val == gv_scoreboard.lv_minimize) {
  2747.             if ((DialogIsVisible(gv_scoreboard.lv_dialog, lp_player) == false)) {
  2748.                 DialogSetVisible(gv_scoreboard.lv_dialog, PlayerGroupSingle(lp_player), true);
  2749.                 libNtve_gf_SetDialogItemTooltip(gv_scoreboard.lv_minimize, StringToText("Minimize this scoreboard"), PlayerGroupSingle(lp_player));
  2750.             }
  2751.             else {
  2752.                 DialogSetVisible(gv_scoreboard.lv_dialog, PlayerGroupSingle(lp_player), false);
  2753.                 libNtve_gf_SetDialogItemTooltip(gv_scoreboard.lv_minimize, StringToText("Maximize this scoreboard"), PlayerGroupSingle(lp_player));
  2754.             }
  2755.         }
  2756.         else if (auto27E9EEEC_val == gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[FixedToInt(libNtve_gf_DialogItemValue(lp_dialogItem, lp_player))]][gv_scoreboard.lv_alliance]) {
  2757.             if ((libNtve_gf_DialogItemIsChecked(lp_dialogItem, lp_player) == true)) {
  2758.                 libNtve_gf_SetAllianceOneWay(lp_player, FixedToInt(libNtve_gf_DialogItemValue(lp_dialogItem, lp_player)), libNtve_ge_AllianceSetting_Ally);
  2759.             }
  2760.             else {
  2761.                 libNtve_gf_SetAllianceOneWay(lp_player, FixedToInt(libNtve_gf_DialogItemValue(lp_dialogItem, lp_player)), libNtve_ge_AllianceSetting_Enemy);
  2762.             }
  2763.         }
  2764.         else {
  2765.         }
  2766.         return ;
  2767.     }
  2768.  
  2769. }
  2770.  
  2771. void gf_OtherListener (int lp_dialogItem, int lp_player) {
  2772.     int auto1E02504B_val;
  2773.  
  2774.     // Variable Declarations
  2775.     int lv_biggestPlayer;
  2776.     playergroup lv_alivePG;
  2777.     point lv_point;
  2778.     unit lv_base;
  2779.  
  2780.     // Variable Initialization
  2781.     lv_biggestPlayer = 1;
  2782.     lv_alivePG = PlayerGroupEmpty();
  2783.  
  2784.     // Implementation
  2785.     auto1E02504B_val = EventDialogControl();
  2786.     if (auto1E02504B_val == gv_player[0].lv_itemName[1]) {
  2787.         if ((gf_ApprovedName(libNtve_gf_DialogItemEditValue(gv_player[0].lv_itemName[0], EventPlayer())) == true)) {
  2788.             gv_player[EventPlayer()].lv_name = libNtve_gf_DialogItemEditValue(gv_player[0].lv_itemName[0], EventPlayer());
  2789.             gf_BankSave(EventPlayer(), false);
  2790.             DialogSetVisible(gv_player[0].lv_mainName, PlayerGroupSingle(EventPlayer()), false);
  2791.             PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupActive(), true, false, true));
  2792.             for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  2793.                 if ((gv_player[PlayerGroupLoopCurrent()].lv_name == "")) {
  2794.                     gv_gameInfo.lv_newbInGame = true;
  2795.                 }
  2796.                 else {
  2797.                     gv_gameInfo.lv_newbInGame = false;
  2798.                 }
  2799.             }
  2800.             PlayerGroupLoopEnd();
  2801.         }
  2802.  
  2803.     }
  2804.     else if (auto1E02504B_val == gv_chat.lv_chatToggle) {
  2805.         if ((gv_chat.lv_allyChat[lp_player] == 1)) {
  2806.             libNtve_gf_SetDialogItemText(gv_chat.lv_chatToggle, StringExternal("Param/Value/AD7F5870"), PlayerGroupSingle(lp_player));
  2807.             gv_chat.lv_allyChat[lp_player] = 0;
  2808.         }
  2809.         else {
  2810.             libNtve_gf_SetDialogItemText(gv_chat.lv_chatToggle, StringExternal("Param/Value/9D8233A6"), PlayerGroupSingle(lp_player));
  2811.             gv_chat.lv_allyChat[lp_player] = 1;
  2812.         }
  2813.     }
  2814.     else {
  2815.     }
  2816. }
  2817.  
  2818. void gf_PlayerChatMessage (int lp_player, string lp_string) {
  2819.     // Variable Declarations
  2820.     int lv_i3;
  2821.     int lv_emoticon;
  2822.     int lv_i;
  2823.     int lv_i2;
  2824.     playergroup lv_playerGroup;
  2825.  
  2826.     // Variable Initialization
  2827.     lv_i3 = 1;
  2828.     lv_emoticon = 1;
  2829.     lv_i = 1;
  2830.     lv_i2 = 1;
  2831.     lv_playerGroup = PlayerGroupEmpty();
  2832.  
  2833.     // Implementation
  2834.     if ((gv_chat.lv_allyChat[lp_player] == 0)) {
  2835.         libNtve_gf_AddPlayerGroupToPlayerGroup(gf_returnPlayerGroup(PlayerGroupActive(), true, false, true), lv_playerGroup);
  2836.         PlayerGroupLoopBegin(lv_playerGroup);
  2837.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  2838.             gf_ChatManagement(PlayerGroupLoopCurrent(), lp_player, lp_string);
  2839.         }
  2840.         PlayerGroupLoopEnd();
  2841.     }
  2842.     else {
  2843.         libNtve_gf_AddPlayerGroupToPlayerGroup(gf_returnPlayerGroup(PlayerGroupActive(), true, false, true), lv_playerGroup);
  2844.         PlayerGroupLoopBegin(lv_playerGroup);
  2845.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  2846.             if (((PlayerGroupHasPlayer(PlayerGroupAlliance(c_playerGroupAlly, lp_player), PlayerGroupLoopCurrent()) == true) || (PlayerGroupLoopCurrent() == lp_player))) {
  2847.                 gf_ChatManagement(PlayerGroupLoopCurrent(), lp_player, lp_string);
  2848.             }
  2849.  
  2850.         }
  2851.         PlayerGroupLoopEnd();
  2852.     }
  2853. }
  2854.  
  2855. void gf_ChatMessage (int lp_player, text lp_message, int lp_notification) {
  2856.     // Variable Declarations
  2857.     playergroup lv_playerGroup;
  2858.  
  2859.     // Variable Initialization
  2860.     lv_playerGroup = PlayerGroupEmpty();
  2861.  
  2862.     // Implementation
  2863.     if ((lp_notification == 1)) {
  2864.         PlayerGroupAdd(lv_playerGroup, lp_player);
  2865.     }
  2866.     else {
  2867.         libNtve_gf_AddPlayerGroupToPlayerGroup(gf_returnPlayerGroup(PlayerGroupActive(), true, false, true), lv_playerGroup);
  2868.     }
  2869.     PlayerGroupLoopBegin(lv_playerGroup);
  2870.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  2871.         gf_NotificationChatManagement(PlayerGroupLoopCurrent(), lp_message);
  2872.     }
  2873.     PlayerGroupLoopEnd();
  2874. }
  2875.  
  2876. trigger auto_gf_NotificationChatManagement_Trigger = null;
  2877. int auto_gf_NotificationChatManagement_lp_player;
  2878. text auto_gf_NotificationChatManagement_lp_text;
  2879.  
  2880. void gf_NotificationChatManagement (int lp_player, text lp_text) {
  2881.     auto_gf_NotificationChatManagement_lp_player = lp_player;
  2882.     auto_gf_NotificationChatManagement_lp_text = lp_text;
  2883.  
  2884.     if (auto_gf_NotificationChatManagement_Trigger == null) {
  2885.         auto_gf_NotificationChatManagement_Trigger = TriggerCreate("auto_gf_NotificationChatManagement_TriggerFunc");
  2886.     }
  2887.  
  2888.     TriggerExecute(auto_gf_NotificationChatManagement_Trigger, false, false);
  2889. }
  2890.  
  2891. bool auto_gf_NotificationChatManagement_TriggerFunc (bool testConds, bool runActions) {
  2892.     int lp_player = auto_gf_NotificationChatManagement_lp_player;
  2893.     text lp_text = auto_gf_NotificationChatManagement_lp_text;
  2894.  
  2895.     // Variable Declarations
  2896.     int lv_i;
  2897.  
  2898.     // Variable Initialization
  2899.     lv_i = gv_chat.lv_maxLength[lp_player];
  2900.  
  2901.     // Implementation
  2902.     while ((lv_i >= 0)) {
  2903.         if ((gv_chat.lv_dialogItem[lp_player][lv_i] != c_invalidDialogControlId)) {
  2904.             if ((lv_i == gv_chat.lv_maxLength[lp_player])) {
  2905.                 DialogControlSetVisible(gv_chat.lv_dialogItem[lp_player][lv_i], PlayerGroupSingle(lp_player), false);
  2906.             }
  2907.             else {
  2908.                 DialogControlSetPosition(gv_chat.lv_dialogItem[lp_player][lv_i], PlayerGroupSingle(lp_player), c_anchorBottomRight, 250, (450 - (((gv_chat.lv_maxLength[lp_player] - 1) - lv_i) * 31)));
  2909.             }
  2910.         }
  2911.  
  2912.         gv_chat.lv_dialogItem[lp_player][(lv_i + 1)] = gv_chat.lv_dialogItem[lp_player][lv_i];
  2913.         lv_i = (lv_i - 1);
  2914.     }
  2915.     libNtve_gf_CreateDialogItemLabel(gv_chat.lv_dialog[lp_player], 825, 31, c_anchorBottomRight, 250, (450 - (gv_chat.lv_maxLength[lp_player] * 31)), lp_text, ColorWithAlpha(0,0,0,0), false, 0.0);
  2916.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed", PlayerGroupSingle(lp_player));
  2917.     DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
  2918.     DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupSingle(lp_player), true);
  2919.     gv_chat.lv_dialogItem[lp_player][0] = DialogControlLastCreated();
  2920.     gf_ChatMessageFadeout(lp_player, DialogControlLastCreated());
  2921.     return true;
  2922. }
  2923.  
  2924. trigger auto_gf_ChatManagement_Trigger = null;
  2925. int auto_gf_ChatManagement_lp_player;
  2926. int auto_gf_ChatManagement_lp_postingPlayer;
  2927. string auto_gf_ChatManagement_lp_message;
  2928.  
  2929. void gf_ChatManagement (int lp_player, int lp_postingPlayer, string lp_message) {
  2930.     auto_gf_ChatManagement_lp_player = lp_player;
  2931.     auto_gf_ChatManagement_lp_postingPlayer = lp_postingPlayer;
  2932.     auto_gf_ChatManagement_lp_message = lp_message;
  2933.  
  2934.     if (auto_gf_ChatManagement_Trigger == null) {
  2935.         auto_gf_ChatManagement_Trigger = TriggerCreate("auto_gf_ChatManagement_TriggerFunc");
  2936.     }
  2937.  
  2938.     TriggerExecute(auto_gf_ChatManagement_Trigger, false, false);
  2939. }
  2940.  
  2941. bool auto_gf_ChatManagement_TriggerFunc (bool testConds, bool runActions) {
  2942.     int lp_player = auto_gf_ChatManagement_lp_player;
  2943.     int lp_postingPlayer = auto_gf_ChatManagement_lp_postingPlayer;
  2944.     string lp_message = auto_gf_ChatManagement_lp_message;
  2945.  
  2946.     // Variable Declarations
  2947.     text lv_preMessage;
  2948.     string lv_message;
  2949.     string lv_workedMessage;
  2950.     int lv_i;
  2951.     bool lv_runFirstTime;
  2952.     int lv_start;
  2953.     int lv_end;
  2954.     int lv_emoticon;
  2955.     bool lv_exit;
  2956.     bool lv_twoLiner;
  2957.     string lv_flag;
  2958.  
  2959.     // Variable Initialization
  2960.     lv_message = StringSub((" " + lp_message), 1, 90);
  2961.     lv_workedMessage = "";
  2962.     lv_i = gv_chat.lv_maxLength[lp_player];
  2963.     lv_runFirstTime = true;
  2964.     lv_start = 1;
  2965.     lv_end = 40;
  2966.     lv_emoticon = 1;
  2967.     lv_flag = "";
  2968.  
  2969.     // Implementation
  2970.     if ((gv_player[lp_postingPlayer].lv_homeCountry > 0) && (gv_player[lp_postingPlayer].lv_showHideNationality == true)) {
  2971.         lv_flag = ("<img path=\"" + libNtve_gf_DialogItemImage(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_postingPlayer]][gv_scoreboard.lv_flag], lp_postingPlayer) + "\" width=\"30\" height=\"22\"/> ");
  2972.     }
  2973.     else {
  2974.         lv_flag = "";
  2975.     }
  2976.     if ((lp_postingPlayer != 0)) {
  2977.         if ((gv_chat.lv_allyChat[lp_player] == 0)) {
  2978.             lv_preMessage = (StringToText("") + StringToText(lv_flag) + TextWithColor((gv_player[lp_postingPlayer].lv_nickname + StringToText(":")), gv_player[lp_postingPlayer].lv_currentColour) + StringToText(""));
  2979.         }
  2980.         else {
  2981.             lv_preMessage = (StringToText("[A] ") + StringToText(lv_flag) + TextWithColor((gv_player[lp_postingPlayer].lv_nickname + StringToText(":")), gv_player[lp_postingPlayer].lv_currentColour) + StringToText(""));
  2982.         }
  2983.     }
  2984.     else {
  2985.         lv_preMessage = (StringToText("") + StringToText("") + StringToText("<c val=\"FFFF00\">Tutorial:</c> ") + StringToText(""));
  2986.     }
  2987.     while ((lv_exit == false)) {
  2988.         if ((StringLength(lp_message) < lv_start)) {
  2989.             break;
  2990.         }
  2991.  
  2992.         lv_i = gv_chat.lv_maxLength[lp_player];
  2993.         while ((lv_i >= 0)) {
  2994.             if ((gv_chat.lv_dialogItem[lp_player][lv_i] != c_invalidDialogControlId)) {
  2995.                 if ((lv_i == gv_chat.lv_maxLength[lp_player])) {
  2996.                     DialogControlSetVisible(gv_chat.lv_dialogItem[lp_player][lv_i], PlayerGroupSingle(lp_player), false);
  2997.                 }
  2998.                 else {
  2999.                     DialogControlSetPosition(gv_chat.lv_dialogItem[lp_player][lv_i], PlayerGroupSingle(lp_player), c_anchorBottomRight, 250, (450 - (((gv_chat.lv_maxLength[lp_player] - 1) - lv_i) * 31)));
  3000.                 }
  3001.             }
  3002.  
  3003.             gv_chat.lv_dialogItem[lp_player][(lv_i + 1)] = gv_chat.lv_dialogItem[lp_player][lv_i];
  3004.             lv_i = (lv_i - 1);
  3005.         }
  3006.         lv_workedMessage = StringSub(lv_message, lv_start, lv_end);
  3007.         while ((lv_emoticon <= gv_chat.lv_emoticonMax)) {
  3008.             lv_workedMessage = StringReplaceWord(lv_workedMessage, gv_chat.lv_emoticonText[lv_emoticon], gv_chat.lv_emoticonIcon[lv_emoticon], c_stringReplaceAll, c_stringNoCase);
  3009.             lv_emoticon = (lv_emoticon + 1);
  3010.         }
  3011.         lv_emoticon = 1;
  3012.         if ((PlayerGroupHasPlayer(gv_chat.lv_mutedPlayers[lp_player], lp_postingPlayer) == true)) {
  3013.         }
  3014.         else {
  3015.             libNtve_gf_CreateDialogItemLabel(gv_chat.lv_dialog[lp_player], 825, 31, c_anchorBottomRight, 250, (450 - (gv_chat.lv_maxLength[lp_player] * 31)), (lv_preMessage + StringToText(lv_workedMessage)), ColorWithAlpha(0,0,0,0), false, 0.0);
  3016.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed", PlayerGroupSingle(lp_player));
  3017.         }
  3018.         gv_chatMessage = (lv_preMessage + StringToText(lv_workedMessage));
  3019.         DialogControlAddItem(gv_log.lv_messageDI, PlayerGroupSingle(lp_player), gv_chatMessage);
  3020.         if ((PlayerGroupHasPlayer(gv_chat.lv_mutedPlayers[lp_player], lp_postingPlayer) == true)) {
  3021.         }
  3022.         else {
  3023.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed", PlayerGroupSingle(lp_player));
  3024.             DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
  3025.             DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupSingle(lp_player), true);
  3026.             gv_chat.lv_dialogItem[lp_player][0] = DialogControlLastCreated();
  3027.             gf_ChatMessageFadeout(lp_player, DialogControlLastCreated());
  3028.         }
  3029.         if ((lv_runFirstTime == true)) {
  3030.             lv_end = (lv_end + 20);
  3031.             lv_preMessage = StringToText("");
  3032.             lv_runFirstTime = false;
  3033.         }
  3034.         else {
  3035.             break;
  3036.         }
  3037.         lv_start = (lv_start + 40);
  3038.         lv_end = (lv_end + 60);
  3039.     }
  3040.     return true;
  3041. }
  3042.  
  3043. trigger auto_gf_ChatMessageFadeout_Trigger = null;
  3044. int auto_gf_ChatMessageFadeout_lp_player;
  3045. int auto_gf_ChatMessageFadeout_lp_dialogItem;
  3046.  
  3047. void gf_ChatMessageFadeout (int lp_player, int lp_dialogItem) {
  3048.     auto_gf_ChatMessageFadeout_lp_player = lp_player;
  3049.     auto_gf_ChatMessageFadeout_lp_dialogItem = lp_dialogItem;
  3050.  
  3051.     if (auto_gf_ChatMessageFadeout_Trigger == null) {
  3052.         auto_gf_ChatMessageFadeout_Trigger = TriggerCreate("auto_gf_ChatMessageFadeout_TriggerFunc");
  3053.     }
  3054.  
  3055.     TriggerExecute(auto_gf_ChatMessageFadeout_Trigger, false, false);
  3056. }
  3057.  
  3058. bool auto_gf_ChatMessageFadeout_TriggerFunc (bool testConds, bool runActions) {
  3059.     int lp_player = auto_gf_ChatMessageFadeout_lp_player;
  3060.     int lp_dialogItem = auto_gf_ChatMessageFadeout_lp_dialogItem;
  3061.  
  3062.     // Variable Declarations
  3063.     int lv_i;
  3064.     int lv_player;
  3065.     int lv_dialogItem;
  3066.  
  3067.     // Variable Initialization
  3068.     lv_player = lp_player;
  3069.     lv_dialogItem = lp_dialogItem;
  3070.  
  3071.     // Implementation
  3072.     Wait((gv_chat.lv_startDuration - gv_chat.lv_startFade), c_timeReal);
  3073.     if ((DialogControlIsVisible(lp_dialogItem, lp_player) == true)) {
  3074.         DialogControlFadeTransparency(lv_dialogItem, PlayerGroupSingle(lp_player), gv_chat.lv_startFade, 100.0);
  3075.     }
  3076.  
  3077.     Wait(gv_chat.lv_startFade, c_timeReal);
  3078.     while ((lv_i <= gv_chat.lv_maxLength[lp_player])) {
  3079.         if ((gv_chat.lv_dialogItem[lp_player][lv_i] == lp_dialogItem)) {
  3080.             gv_chat.lv_dialogItem[lp_player][lv_i] = c_invalidDialogControlId;
  3081.             break;
  3082.         }
  3083.  
  3084.         lv_i = (lv_i + 1);
  3085.     }
  3086.     DialogControlDestroy(lp_dialogItem);
  3087.     return true;
  3088. }
  3089.  
  3090. void gf_InitDialogFading (int lp_dialogItem) {
  3091.     // Implementation
  3092.     DialogControlFadeTransparency(lp_dialogItem, PlayerGroupAll(), 0.0, 100.0);
  3093.     DialogControlFadeTransparency(lp_dialogItem, PlayerGroupAll(), 1.5, 0.0);
  3094. }
  3095.  
  3096. void gf_InfoCreate () {
  3097.     // Implementation
  3098.     DialogCreate(500, 500, c_anchorBottomLeft, 0, 360, true);
  3099.     DialogSetImageVisible(DialogLastCreated(), false);
  3100.     gv_infoPanel.lv_backgroundDialog = DialogLastCreated();
  3101.     libNtve_gf_CreateDialogItemImage(DialogLastCreated(), DialogGetWidth(DialogLastCreated()), DialogGetHeight(DialogLastCreated()), c_anchorCenter, 0, 0, StringToText(""), "Assets\\Textures\\ui_camapaignmenu_dialogbox_base.dds", c_triggerImageTypeHorizontalBorder, false, Color(100,100,100), c_triggerBlendModeNormal);
  3102.     DialogCreate(707, 500, c_anchorTopLeft, 100, 25, true);
  3103.     DialogSetFullscreen(DialogLastCreated(), true);
  3104.     libNtve_gf_DisplayScreenButton(1, TextWithColor(StringToText("Menu"), Color(58.43, 79.22, 100.00)), 121, 86, c_anchorBottomRight, 24, 26, gt_ScreenButton1);
  3105.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  3106.     libNtve_gf_SetScreenButtonBorderImage(1, "Risk\\ui_battlenet_challenge_button_normalpressed.dds", "Risk\\ui_battlenet_challenge_button_normaloverpressedover.dds", c_triggerImageTypeNormal);
  3107.     gv_infoPanel.lv_mainMenuButtons[1] = DialogControlLastCreated();
  3108.     libNtve_gf_DisplayScreenButton(2, TextWithColor(StringToText("Profile"), Color(58.43, 79.22, 100.00)), 136, 86, c_anchorBottomLeft, 372, 117, gt_ScreenButton1);
  3109.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  3110.     libNtve_gf_SetScreenButtonBorderImage(2, "Risk\\ui_battlenet_challenge_button_normalpressed.dds", "Risk\\ui_battlenet_challenge_button_normaloverpressedover.dds", c_triggerImageTypeNormal);
  3111.     gv_infoPanel.lv_mainMenuButtons[2] = DialogControlLastCreated();
  3112.     DialogControlSetEnabled(gv_infoPanel.lv_mainMenuButtons[2], PlayerGroupAll(), false);
  3113.     libNtve_gf_DisplayScreenButton(3, TextWithColor(StringToText("Log"), Color(58.43, 79.22, 100.00)), 136, 86, c_anchorBottomLeft, 372, 26, gt_ScreenButton1);
  3114.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  3115.     libNtve_gf_SetScreenButtonBorderImage(3, "Risk\\ui_battlenet_challenge_button_normalpressed.dds", "Risk\\ui_battlenet_challenge_button_normaloverpressedover.dds", c_triggerImageTypeNormal);
  3116.     gv_infoPanel.lv_mainMenuButtons[3] = DialogControlLastCreated();
  3117.     DialogControlSetEnabled(gv_infoPanel.lv_mainMenuButtons[3], PlayerGroupAll(), false);
  3118.     libNtve_gf_DisplayScreenButton(4, TextWithColor(StringToText("Cards"), Color(58.43, 79.22, 100.00)), 136, 86, c_anchorBottomLeft, 372, 208, gt_ScreenButton1);
  3119.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  3120.     libNtve_gf_SetScreenButtonBorderImage(4, "Risk\\ui_battlenet_challenge_button_normalpressed.dds", "Risk\\ui_battlenet_challenge_button_normaloverpressedover.dds", c_triggerImageTypeNormal);
  3121.     gv_infoPanel.lv_mainMenuButtons[4] = DialogControlLastCreated();
  3122.     DialogControlSetEnabled(gv_infoPanel.lv_mainMenuButtons[4], PlayerGroupAll(), false);
  3123.     gf_InfoPanelLog();
  3124.     gf_InfoPanelProfile();
  3125. }
  3126.  
  3127. void gf_AchieveChangeAllUnits (int lp_player, int lp_section) {
  3128.     int autoC6C6EDCC_val;
  3129.     int autoA25E41DC_val;
  3130.     int auto7F5DB595_val;
  3131.     int autoF0BC6260_val;
  3132.     int autoE0148A9C_val;
  3133.     int auto72ADCD73_val;
  3134.     int auto4CF80F9C_val;
  3135.     int autoDC183742_val;
  3136.     int auto96C59C10_val;
  3137.  
  3138.     // Variable Declarations
  3139.     string lv_behaviourTemp;
  3140.     int lv_i;
  3141.  
  3142.     // Variable Initialization
  3143.     lv_i = 1;
  3144.  
  3145.     // Implementation
  3146.     autoC6C6EDCC_val = lp_section;
  3147.     if (autoC6C6EDCC_val == ge_AchieveUnitType_Marine) {
  3148.         lv_behaviourTemp = "Marine";
  3149.         autoA25E41DC_val = gv_profile.lv_achieveUnitValue[ge_AchieveUnitType_Marine][lp_player];
  3150.         if (autoA25E41DC_val == 1) {
  3151.             lv_behaviourTemp = "InfestedMarine";
  3152.         }
  3153.         else if (autoA25E41DC_val == 2) {
  3154.             lv_behaviourTemp = "Warpig";
  3155.         }
  3156.         else if (autoA25E41DC_val == 3) {
  3157.             lv_behaviourTemp = "TaurenMarine";
  3158.         }
  3159.         else if (autoA25E41DC_val == 4) {
  3160.             lv_behaviourTemp = "MurlockMarine";
  3161.         }
  3162.         else if (autoA25E41DC_val == 5) {
  3163.             lv_behaviourTemp = "Spectre";
  3164.         }
  3165.         else {
  3166.         }
  3167.         UnitGroupLoopBegin(UnitGroup("Marine", lp_player, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterPsionic) | (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 0));
  3168.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  3169.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "Marine", 1);
  3170.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "InfestedMarine", 1);
  3171.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "Warpig", 1);
  3172.             UnitBehaviorAdd(UnitGroupLoopCurrent(), "TaurenMarine", UnitGroupLoopCurrent(), 1);
  3173.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "TaurenMarine", 1);
  3174.             UnitBehaviorAdd(UnitGroupLoopCurrent(), "MurlockMarine", UnitGroupLoopCurrent(), 1);
  3175.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "MurlockMarine", 1);
  3176.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "Spectre", 1);
  3177.             UnitBehaviorAdd(UnitGroupLoopCurrent(), lv_behaviourTemp, UnitGroupLoopCurrent(), 1);
  3178.             libNtve_gf_PlayAnimation(libNtve_gf_MainActorofUnit(UnitGroupLoopCurrent()), c_animNameDefault, "Stand", 0, c_animTimeDefault);
  3179.         }
  3180.         UnitGroupLoopEnd();
  3181.     }
  3182.     else if (autoC6C6EDCC_val == ge_AchieveUnitType_Marauder) {
  3183.         lv_behaviourTemp = "Marauder";
  3184.         auto7F5DB595_val = gv_profile.lv_achieveUnitValue[ge_AchieveUnitType_Marauder][lp_player];
  3185.         if (auto7F5DB595_val == 1) {
  3186.             lv_behaviourTemp = "MercMarauder";
  3187.         }
  3188.         else if (auto7F5DB595_val == 2) {
  3189.             lv_behaviourTemp = "MarauderCamo";
  3190.         }
  3191.         else {
  3192.         }
  3193.         UnitGroupLoopBegin(UnitGroup("Marauder", lp_player, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterPsionic) | (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 0));
  3194.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  3195.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "Marauder", 1);
  3196.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "MarauderCamo", 1);
  3197.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "MercMarauder", 1);
  3198.             UnitBehaviorAdd(UnitGroupLoopCurrent(), lv_behaviourTemp, UnitGroupLoopCurrent(), 1);
  3199.         }
  3200.         UnitGroupLoopEnd();
  3201.     }
  3202.     else if (autoC6C6EDCC_val == ge_AchieveUnitType_Tank) {
  3203.         lv_behaviourTemp = "SiegeTank";
  3204.         autoF0BC6260_val = gv_profile.lv_achieveUnitValue[ge_AchieveUnitType_Tank][lp_player];
  3205.         if (autoF0BC6260_val == 1) {
  3206.             lv_behaviourTemp = "SiegeBreaker";
  3207.         }
  3208.         else {
  3209.         }
  3210.         UnitGroupLoopBegin(UnitGroup("SiegeTank", lp_player, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterPsionic) | (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 0));
  3211.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  3212.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "SiegeTank", 1);
  3213.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "SiegeBreaker", 1);
  3214.             UnitBehaviorAdd(UnitGroupLoopCurrent(), lv_behaviourTemp, UnitGroupLoopCurrent(), 1);
  3215.         }
  3216.         UnitGroupLoopEnd();
  3217.     }
  3218.     else if (autoC6C6EDCC_val == ge_AchieveUnitType_Viking) {
  3219.         lv_behaviourTemp = "Viking";
  3220.         autoE0148A9C_val = gv_profile.lv_achieveUnitValue[ge_AchieveUnitType_Viking][lp_player];
  3221.         if (autoE0148A9C_val == 1) {
  3222.             lv_behaviourTemp = "MercViking";
  3223.         }
  3224.         else {
  3225.         }
  3226.         UnitGroupLoopBegin(UnitGroup("VikingFighter", lp_player, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterPsionic) | (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 0));
  3227.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  3228.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "Viking", 1);
  3229.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "MercViking", 1);
  3230.             UnitBehaviorAdd(UnitGroupLoopCurrent(), lv_behaviourTemp, UnitGroupLoopCurrent(), 1);
  3231.         }
  3232.         UnitGroupLoopEnd();
  3233.     }
  3234.     else if (autoC6C6EDCC_val == ge_AchieveUnitType_Banshee) {
  3235.         lv_behaviourTemp = "Banshee";
  3236.         auto72ADCD73_val = gv_profile.lv_achieveUnitValue[ge_AchieveUnitType_Banshee][lp_player];
  3237.         if (auto72ADCD73_val == 1) {
  3238.             lv_behaviourTemp = "MercBanshee";
  3239.         }
  3240.         else {
  3241.         }
  3242.         UnitGroupLoopBegin(UnitGroup("Banshee", lp_player, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterPsionic) | (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 0));
  3243.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  3244.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "Banshee", 1);
  3245.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "MercBanshee", 1);
  3246.             UnitBehaviorAdd(UnitGroupLoopCurrent(), lv_behaviourTemp, UnitGroupLoopCurrent(), 1);
  3247.         }
  3248.         UnitGroupLoopEnd();
  3249.     }
  3250.     else if (autoC6C6EDCC_val == ge_AchieveUnitType_Battlecrusier) {
  3251.         lv_behaviourTemp = "Battlecruiser";
  3252.         auto4CF80F9C_val = gv_profile.lv_achieveUnitValue[ge_AchieveUnitType_Battlecrusier][lp_player];
  3253.         if (auto4CF80F9C_val == 1) {
  3254.             lv_behaviourTemp = "MercBattlecruiser";
  3255.         }
  3256.         else {
  3257.         }
  3258.         UnitGroupLoopBegin(UnitGroup("Battlecruiser", lp_player, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterPsionic) | (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 0));
  3259.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  3260.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "Battlecruiser", 1);
  3261.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "MercBattlecruiser", 1);
  3262.             UnitBehaviorAdd(UnitGroupLoopCurrent(), lv_behaviourTemp, UnitGroupLoopCurrent(), 1);
  3263.         }
  3264.         UnitGroupLoopEnd();
  3265.     }
  3266.     else if (autoC6C6EDCC_val == ge_AchieveUnitType_Starport) {
  3267.         lv_behaviourTemp = "Starport";
  3268.         autoDC183742_val = gv_profile.lv_achieveUnitValue[ge_AchieveUnitType_Starport][lp_player];
  3269.         if (autoDC183742_val == 1) {
  3270.             lv_behaviourTemp = "MercStarport";
  3271.         }
  3272.         else {
  3273.         }
  3274.         UnitGroupLoopBegin(UnitGroup("Starport", lp_player, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterPsionic) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  3275.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  3276.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "Starport", 1);
  3277.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "MercStarport", 1);
  3278.             UnitBehaviorAdd(UnitGroupLoopCurrent(), lv_behaviourTemp, UnitGroupLoopCurrent(), 1);
  3279.         }
  3280.         UnitGroupLoopEnd();
  3281.     }
  3282.     else if (autoC6C6EDCC_val == ge_AchieveUnitType_Barracks) {
  3283.         lv_behaviourTemp = "Barracks";
  3284.         auto96C59C10_val = gv_profile.lv_achieveUnitValue[ge_AchieveUnitType_Barracks][lp_player];
  3285.         if (auto96C59C10_val == 1) {
  3286.             lv_behaviourTemp = "MercBarracks";
  3287.         }
  3288.         else {
  3289.         }
  3290.         UnitGroupLoopBegin(UnitGroup("Barracks", lp_player, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterPsionic) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  3291.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  3292.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "Barracks", 1);
  3293.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "MercBarracks", 1);
  3294.             UnitBehaviorAdd(UnitGroupLoopCurrent(), lv_behaviourTemp, UnitGroupLoopCurrent(), 1);
  3295.         }
  3296.         UnitGroupLoopEnd();
  3297.     }
  3298.     else {
  3299.     }
  3300.     gf_BankSave(lp_player, false);
  3301. }
  3302.  
  3303. void gf_AchieveChangeUnit (int lp_player, unit lp_unit) {
  3304.     string autoA326EB1A_val;
  3305.     int auto142EBE83_val;
  3306.     int autoFEAF21E4_val;
  3307.     int autoBDF940A1_val;
  3308.     int auto9F9A3BAB_val;
  3309.     int autoDAA47A2D_val;
  3310.     int auto045C6C7B_val;
  3311.     int auto859635F3_val;
  3312.     int auto40BA4A15_val;
  3313.  
  3314.     // Variable Declarations
  3315.     string lv_behaviourTemp;
  3316.     int lv_i;
  3317.  
  3318.     // Variable Initialization
  3319.     lv_i = 1;
  3320.  
  3321.     // Implementation
  3322.     autoA326EB1A_val = UnitGetType(lp_unit);
  3323.     if (autoA326EB1A_val == "Marine") {
  3324.         lv_behaviourTemp = "Marine";
  3325.         auto142EBE83_val = gv_profile.lv_achieveUnitValue[ge_AchieveUnitType_Marine][lp_player];
  3326.         if (auto142EBE83_val == 1) {
  3327.             lv_behaviourTemp = "InfestedMarine";
  3328.         }
  3329.         else if (auto142EBE83_val == 2) {
  3330.             lv_behaviourTemp = "Warpig";
  3331.         }
  3332.         else if (auto142EBE83_val == 3) {
  3333.             lv_behaviourTemp = "TaurenMarine";
  3334.         }
  3335.         else if (auto142EBE83_val == 4) {
  3336.             lv_behaviourTemp = "MurlockMarine";
  3337.         }
  3338.         else if (auto142EBE83_val == 5) {
  3339.             lv_behaviourTemp = "Spectre";
  3340.         }
  3341.         else {
  3342.         }
  3343.         UnitBehaviorRemove(lp_unit, "Marine", 1);
  3344.         UnitBehaviorRemove(lp_unit, "InfestedMarine", 1);
  3345.         UnitBehaviorRemove(lp_unit, "Warpig", 1);
  3346.         UnitBehaviorAdd(lp_unit, "TaurenMarine", lp_unit, 1);
  3347.         UnitBehaviorRemove(lp_unit, "TaurenMarine", 1);
  3348.         UnitBehaviorAdd(lp_unit, "MurlockMarine", lp_unit, 1);
  3349.         UnitBehaviorRemove(lp_unit, "MurlockMarine", 1);
  3350.         UnitBehaviorRemove(lp_unit, "Spectre", 1);
  3351.         UnitBehaviorAdd(lp_unit, lv_behaviourTemp, lp_unit, 1);
  3352.         libNtve_gf_PlayAnimation(libNtve_gf_MainActorofUnit(lp_unit), c_animNameDefault, "Stand", 0, c_animTimeDefault);
  3353.     }
  3354.     else if (autoA326EB1A_val == "Marauder") {
  3355.         lv_behaviourTemp = "Marauder";
  3356.         autoFEAF21E4_val = gv_profile.lv_achieveUnitValue[ge_AchieveUnitType_Marauder][lp_player];
  3357.         if (autoFEAF21E4_val == 1) {
  3358.             lv_behaviourTemp = "MercMarauder";
  3359.         }
  3360.         else if (autoFEAF21E4_val == 2) {
  3361.             lv_behaviourTemp = "MarauderCamo";
  3362.         }
  3363.         else {
  3364.         }
  3365.         UnitBehaviorRemove(lp_unit, "Marauder", 1);
  3366.         UnitBehaviorRemove(lp_unit, "MarauderCamo", 1);
  3367.         UnitBehaviorRemove(lp_unit, "MercMarauder", 1);
  3368.         UnitBehaviorAdd(lp_unit, lv_behaviourTemp, lp_unit, 1);
  3369.     }
  3370.     else if (autoA326EB1A_val == "SiegeTank") {
  3371.         lv_behaviourTemp = "SiegeTank";
  3372.         autoBDF940A1_val = gv_profile.lv_achieveUnitValue[ge_AchieveUnitType_Tank][lp_player];
  3373.         if (autoBDF940A1_val == 1) {
  3374.             lv_behaviourTemp = "SiegeBreaker";
  3375.         }
  3376.         else {
  3377.         }
  3378.         UnitBehaviorRemove(lp_unit, "SiegeTank", 1);
  3379.         UnitBehaviorRemove(lp_unit, "SiegeBreaker", 1);
  3380.         UnitBehaviorAdd(lp_unit, lv_behaviourTemp, lp_unit, 1);
  3381.     }
  3382.     else if (autoA326EB1A_val == "VikingFighter") {
  3383.         lv_behaviourTemp = "Viking";
  3384.         auto9F9A3BAB_val = gv_profile.lv_achieveUnitValue[ge_AchieveUnitType_Viking][lp_player];
  3385.         if (auto9F9A3BAB_val == 1) {
  3386.             lv_behaviourTemp = "MercViking";
  3387.         }
  3388.         else {
  3389.         }
  3390.         UnitBehaviorRemove(lp_unit, "Viking", 1);
  3391.         UnitBehaviorRemove(lp_unit, "MercViking", 1);
  3392.         UnitBehaviorAdd(lp_unit, lv_behaviourTemp, lp_unit, 1);
  3393.     }
  3394.     else if (autoA326EB1A_val == "Banshee") {
  3395.         lv_behaviourTemp = "Banshee";
  3396.         autoDAA47A2D_val = gv_profile.lv_achieveUnitValue[ge_AchieveUnitType_Banshee][lp_player];
  3397.         if (autoDAA47A2D_val == 1) {
  3398.             lv_behaviourTemp = "MercBanshee";
  3399.         }
  3400.         else {
  3401.         }
  3402.         UnitBehaviorRemove(lp_unit, "Banshee", 1);
  3403.         UnitBehaviorRemove(lp_unit, "MercBanshee", 1);
  3404.         UnitBehaviorAdd(lp_unit, lv_behaviourTemp, lp_unit, 1);
  3405.     }
  3406.     else if (autoA326EB1A_val == "Battlecruiser") {
  3407.         lv_behaviourTemp = "Battlecruiser";
  3408.         auto045C6C7B_val = gv_profile.lv_achieveUnitValue[ge_AchieveUnitType_Battlecrusier][lp_player];
  3409.         if (auto045C6C7B_val == 1) {
  3410.             lv_behaviourTemp = "MercBattlecruiser";
  3411.         }
  3412.         else {
  3413.         }
  3414.         UnitGroupLoopBegin(UnitGroup("Battlecruiser", lp_player, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterPsionic) | (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 0));
  3415.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  3416.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "Battlecruiser", 1);
  3417.             UnitBehaviorRemove(UnitGroupLoopCurrent(), "MercBattlecruiser", 1);
  3418.             UnitBehaviorAdd(UnitGroupLoopCurrent(), lv_behaviourTemp, UnitGroupLoopCurrent(), 1);
  3419.         }
  3420.         UnitGroupLoopEnd();
  3421.     }
  3422.     else if (autoA326EB1A_val == "Starport") {
  3423.         lv_behaviourTemp = "Starport";
  3424.         auto859635F3_val = gv_profile.lv_achieveUnitValue[ge_AchieveUnitType_Starport][lp_player];
  3425.         if (auto859635F3_val == 1) {
  3426.             lv_behaviourTemp = "MercStarport";
  3427.         }
  3428.         else {
  3429.         }
  3430.         UnitGroupLoopBegin(UnitGroup("Starport", lp_player, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterPsionic) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  3431.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  3432.             UnitBehaviorRemove(lp_unit, "Starport", 1);
  3433.             UnitBehaviorRemove(lp_unit, "MercStarport", 1);
  3434.             UnitBehaviorAdd(lp_unit, lv_behaviourTemp, lp_unit, 1);
  3435.         }
  3436.         UnitGroupLoopEnd();
  3437.     }
  3438.     else if (autoA326EB1A_val == "Barracks") {
  3439.         lv_behaviourTemp = "Barracks";
  3440.         auto40BA4A15_val = gv_profile.lv_achieveUnitValue[ge_AchieveUnitType_Barracks][lp_player];
  3441.         if (auto40BA4A15_val == 1) {
  3442.             lv_behaviourTemp = "MercBarracks";
  3443.         }
  3444.         else {
  3445.         }
  3446.         UnitBehaviorRemove(lp_unit, "Barracks", 1);
  3447.         UnitBehaviorRemove(lp_unit, "MercBarracks", 1);
  3448.         UnitBehaviorAdd(lp_unit, lv_behaviourTemp, lp_unit, 1);
  3449.     }
  3450.     else {
  3451.     }
  3452.     gf_BankSave(lp_player, false);
  3453. }
  3454.  
  3455. void gf_UpdateNewPlayers () {
  3456.     // Variable Declarations
  3457.     int lv_i;
  3458.     playergroup lv_pG;
  3459.  
  3460.     // Variable Initialization
  3461.     lv_i = 1;
  3462.     lv_pG = PlayerGroupEmpty();
  3463.  
  3464.     // Implementation
  3465.     while ((lv_i <= 12)) {
  3466.         if ((gf_ApprovedName(gv_player[lv_i].lv_name) != true)) {
  3467.             PlayerGroupAdd(lv_pG, lv_i);
  3468.         }
  3469.  
  3470.         lv_i = (lv_i + 1);
  3471.     }
  3472.     DialogCreate(1425, 275, c_anchorTopLeft, 0, 0, true);
  3473.     DialogSetImageVisible(DialogLastCreated(), false);
  3474.     gv_player[0].lv_mainName = DialogLastCreated();
  3475.     libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 475, 275, c_anchorCenter, 0, 0, StringToText(""), "Assets\\Textures\\ui_battlenet_glues_dialogbox_base.dds", c_triggerImageTypeHorizontalBorder, false, Color(100,100,100), c_triggerBlendModeNormal);
  3476.     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 400, 75, c_anchorTop, 10, 30, StringToText("Please enter your Username, the entered text will become your Ranking Name in Risk Legacy."), ColorWithAlpha(0,0,0,0), false, 2.0);
  3477.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  3478.     DialogControlCreate(DialogLastCreated(), c_triggerControlTypeEditBox);
  3479.     gv_player[0].lv_itemName[0] = DialogControlLastCreated();
  3480.     DialogControlSetSize(DialogControlLastCreated(), PlayerGroupAll(), 350, 50);
  3481.     DialogControlSetPosition(DialogControlLastCreated(), PlayerGroupAll(), c_anchorCenter, 0, 0);
  3482.     libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 200, 75, c_anchorBottom, 0, 25, StringToText(""), StringToText("Accept"), "");
  3483.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  3484.     gv_player[0].lv_itemName[1] = DialogControlLastCreated();
  3485.     libNtve_gf_SetDialogItemImage2(DialogControlLastCreated(), "Assets\\Textures\\ui_battlenet_glue_navbuttons_blue_normaloverpressedover.dds", PlayerGroupAll());
  3486.     libNtve_gf_SetDialogItemImage(DialogControlLastCreated(), "Assets\\Textures\\ui_battlenet_glue_navbuttons_blue_normalpressed.dds", PlayerGroupAll());
  3487.     libNtve_gf_SetDialogItemImageType(DialogControlLastCreated(), c_triggerImageTypeEndCap, PlayerGroupAll());
  3488.     libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 475, 275, c_anchorCenter, -480, 0, StringToText(""), "Assets\\Textures\\ui_battlenet_glues_dialogbox_base.dds", c_triggerImageTypeHorizontalBorder, false, Color(100,100,100), c_triggerBlendModeNormal);
  3489.     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 400, 250, c_anchorTop, -475, 30, StringToText("All whom play Risk Legacy must play within the following guidelines or face reprocussions in the form of either temporary or permanent banishment.<n/><n/>1. No Pre-Teaming<n/>2. No Bug Abuse<n/>3. No Disruptful Behaviour"), ColorWithAlpha(0,0,0,0), false, 2.0);
  3490.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  3491.     DialogSetVisible(DialogLastCreated(), lv_pG, true);
  3492. }
  3493.  
  3494. void gf_InfoPanelProfile () {
  3495.     int init_i;
  3496.  
  3497.     int auto14850D4E_val;
  3498.  
  3499.     // Variable Declarations
  3500.     int lv_i;
  3501.     int lv_x;
  3502.     int lv_y;
  3503.     string[7] lv_requirement;
  3504.     string[7] lv_image;
  3505.  
  3506.     // Variable Initialization
  3507.     lv_i = 1;
  3508.     lv_x = 65;
  3509.     lv_y = 75;
  3510.     for (init_i = 0; init_i <= 6; init_i += 1) {
  3511.         lv_requirement[init_i] = "";
  3512.     }
  3513.  
  3514.     // Implementation
  3515.     DialogCreate(DialogGetWidth(gv_infoPanel.lv_backgroundDialog), DialogGetHeight(gv_infoPanel.lv_backgroundDialog), DialogGetAnchor(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetX(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetY(gv_infoPanel.lv_backgroundDialog), true);
  3516.     gv_profile.lv_main = DialogLastCreated();
  3517.     DialogSetImageVisible(DialogLastCreated(), false);
  3518.     libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 166, 70, c_anchorTop, -166, 0, StringToText(""), StringToText("Stats"), "");
  3519.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  3520.     libNtve_gf_SetDialogItemImage(DialogControlLastCreated(), "Risk\\ui_battlenet_challenge_button_normalpressed.dds", PlayerGroupAll());
  3521.     libNtve_gf_SetDialogItemImage2(DialogControlLastCreated(), "Risk\\ui_battlenet_challenge_button_normaloverpressedover.dds", PlayerGroupAll());
  3522.     libNtve_gf_SetDialogItemImageType(DialogControlLastCreated(), c_triggerImageTypeNormal, PlayerGroupAll());
  3523.     gv_profile.lv_mainDI[1] = DialogControlLastCreated();
  3524.     libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 166, 70, c_anchorTop, 0, 0, StringToText(""), StringToText("Achievements"), "");
  3525.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  3526.     libNtve_gf_SetDialogItemImage(DialogControlLastCreated(), "Risk\\ui_battlenet_challenge_button_normalpressed.dds", PlayerGroupAll());
  3527.     libNtve_gf_SetDialogItemImage2(DialogControlLastCreated(), "Risk\\ui_battlenet_challenge_button_normaloverpressedover.dds", PlayerGroupAll());
  3528.     libNtve_gf_SetDialogItemImageType(DialogControlLastCreated(), c_triggerImageTypeNormal, PlayerGroupAll());
  3529.     gv_profile.lv_mainDI[2] = DialogControlLastCreated();
  3530.     libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 166, 70, c_anchorTop, 166, 0, StringToText(""), StringToText("Settings"), "");
  3531.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  3532.     libNtve_gf_SetDialogItemImage(DialogControlLastCreated(), "Risk\\ui_battlenet_challenge_button_normalpressed.dds", PlayerGroupAll());
  3533.     libNtve_gf_SetDialogItemImage2(DialogControlLastCreated(), "Risk\\ui_battlenet_challenge_button_normaloverpressedover.dds", PlayerGroupAll());
  3534.     libNtve_gf_SetDialogItemImageType(DialogControlLastCreated(), c_triggerImageTypeNormal, PlayerGroupAll());
  3535.     gv_profile.lv_mainDI[3] = DialogControlLastCreated();
  3536.     DialogCreate(DialogGetWidth(gv_infoPanel.lv_backgroundDialog), DialogGetHeight(gv_infoPanel.lv_backgroundDialog), DialogGetAnchor(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetX(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetY(gv_infoPanel.lv_backgroundDialog), true);
  3537.     DialogSetImageVisible(DialogLastCreated(), false);
  3538.     gv_profile.lv_statsMain = DialogLastCreated();
  3539.     PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupActive(), true, false, false));
  3540.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  3541.         libNtve_gf_CreateDialogItemButton(gv_profile.lv_statsMain, 57, 57, c_anchorTopLeft, lv_x, lv_y, StringToText(""), IntToText(PlayerGroupLoopCurrent()), "");
  3542.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  3543.         libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), PlayerName(PlayerGroupLoopCurrent()), PlayerGroupAll());
  3544.         gv_profile.lv_playerSelectionDI[PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  3545.         DialogCreate(DialogGetWidth(gv_infoPanel.lv_backgroundDialog), DialogGetHeight(gv_infoPanel.lv_backgroundDialog), DialogGetAnchor(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetX(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetY(gv_infoPanel.lv_backgroundDialog), true);
  3546.         DialogSetImageVisible(DialogLastCreated(), false);
  3547.         gv_profile.lv_playerProfile[PlayerGroupLoopCurrent()] = DialogLastCreated();
  3548.         libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 50, 315, (StringToText("Wins: ") + IntToText(gv_player[PlayerGroupLoopCurrent()].lv_win)), ColorWithAlpha(0,0,0,0), false, 2.0);
  3549.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3550.         if ((gv_gameInfo.lv_ranked == ge_Ranked_Enabled)) {
  3551.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 50, 345, (StringToText("Losses: ") + IntToText((gv_player[PlayerGroupLoopCurrent()].lv_loses - 1))), ColorWithAlpha(0,0,0,0), false, 2.0);
  3552.         }
  3553.         else {
  3554.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 50, 345, (StringToText("Losses: ") + IntToText((gv_player[PlayerGroupLoopCurrent()].lv_loses + 0))), ColorWithAlpha(0,0,0,0), false, 2.0);
  3555.         }
  3556.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3557.         libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 50, 375, (StringToText("Kills: ") + IntToText(gv_player[PlayerGroupLoopCurrent()].lv_kills)), ColorWithAlpha(0,0,0,0), false, 2.0);
  3558.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3559.         libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 50, 405, (StringToText("Deaths: ") + IntToText(gv_player[PlayerGroupLoopCurrent()].lv_deaths)), ColorWithAlpha(0,0,0,0), false, 2.0);
  3560.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3561.         lv_i = (lv_i + 1);
  3562.         lv_x = (lv_x + 62);
  3563.         if ((lv_i == 7)) {
  3564.             lv_x = 65;
  3565.             lv_y = (lv_y + 62);
  3566.         }
  3567.  
  3568.     }
  3569.     PlayerGroupLoopEnd();
  3570.     PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupActive(), true, false, false));
  3571.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  3572.         DialogCreate(DialogGetWidth(gv_infoPanel.lv_backgroundDialog), DialogGetHeight(gv_infoPanel.lv_backgroundDialog), DialogGetAnchor(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetX(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetY(gv_infoPanel.lv_backgroundDialog), true);
  3573.         DialogSetImageVisible(DialogLastCreated(), false);
  3574.         gv_profile.lv_achieveProfile[PlayerGroupLoopCurrent()] = DialogLastCreated();
  3575.         libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 150, 50, c_anchorTop, -110, 85, StringToText("Victory"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  3576.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3577.         lv_i = 1;
  3578.         lv_x = -166;
  3579.         lv_y = 110;
  3580.         lv_image[1] = "Assets\\Textures\\btn-unit-zerg-infestedmarine.dds";
  3581.         lv_requirement[1] = "10";
  3582.         lv_image[2] = "Assets\\Textures\\btn-unit-terran-bansheemercenary.dds";
  3583.         lv_requirement[2] = "25";
  3584.         lv_image[3] = "Assets\\Textures\\btn-unit-terran-marinemercenary.dds";
  3585.         lv_requirement[3] = "50";
  3586.         lv_image[4] = "Assets\\Textures\\btn-unit-terran-siegetankmercenary-tank.dds";
  3587.         lv_requirement[4] = "100";
  3588.         lv_image[5] = "Assets\\Textures\\btn-unit-terran-maraudermercenary.dds";
  3589.         lv_requirement[5] = "250";
  3590.         lv_image[6] = "Assets\\Textures\\btn-unit-terran-taurenspacemarine.dds";
  3591.         lv_requirement[6] = "500";
  3592.         while ((lv_i <= 6)) {
  3593.             libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 150, 60, c_anchorTop, lv_x, lv_y, StringToText(""), StringToText(""), "");
  3594.             gv_profile.lv_achieveVictoryDI[lv_i][PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  3595.             libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 50, 50, c_anchorTop, (lv_x - 48), (lv_y + 5), StringToText(""), lv_image[lv_i], c_triggerImageTypeNormal, false, Color(100,100,100), c_triggerBlendModeNormal);
  3596.             if ((StringToInt(lv_requirement[lv_i]) > gv_player[PlayerGroupLoopCurrent()].lv_win)) {
  3597.                 DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3598.                 DialogControlSetEnabled(gv_profile.lv_achieveVictoryDI[lv_i][PlayerGroupLoopCurrent()], PlayerGroupAll(), false);
  3599.                 libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3600.                 libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3601.                 DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3602.             }
  3603.             else {
  3604.                 libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3605.                 libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3606.             }
  3607.             lv_i = (lv_i + 1);
  3608.             lv_y = (lv_y + 62);
  3609.         }
  3610.         libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 150, 50, c_anchorTop, 70, 85, StringToText("Kill"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  3611.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3612.         lv_i = 1;
  3613.         lv_x = 0;
  3614.         lv_y = 110;
  3615.         lv_image[1] = "Assets\\Textures\\btn-unit-terran-vikingmercenary-fighter.dds";
  3616.         lv_requirement[1] = "250000";
  3617.         lv_image[2] = "Assets\\Textures\\wireframe-terran-murlocmarine.dds";
  3618.         lv_requirement[2] = "500000";
  3619.         lv_image[3] = "Assets\\Textures\\btn-unit-terran-spectre.dds";
  3620.         lv_requirement[3] = "1000000";
  3621.         while ((lv_i <= 3)) {
  3622.             libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 150, 60, c_anchorTop, lv_x, lv_y, StringToText(""), StringToText(""), "");
  3623.             gv_profile.lv_achieveKillsDI[lv_i][PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  3624.             libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 50, 50, c_anchorTop, (lv_x - 48), (lv_y + 5), StringToText(""), lv_image[lv_i], c_triggerImageTypeNormal, false, Color(100,100,100), c_triggerBlendModeNormal);
  3625.             if ((StringToInt(lv_requirement[lv_i]) > gv_player[PlayerGroupLoopCurrent()].lv_kills)) {
  3626.                 DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3627.                 DialogControlSetEnabled(gv_profile.lv_achieveKillsDI[lv_i][PlayerGroupLoopCurrent()], PlayerGroupAll(), false);
  3628.                 libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3629.                 libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3630.                 DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3631.             }
  3632.             else {
  3633.                 libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3634.                 libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3635.             }
  3636.             lv_i = (lv_i + 1);
  3637.             lv_y = (lv_y + 62);
  3638.         }
  3639.         libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 150, 50, c_anchorTop, 220, 85, StringToText("Other"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  3640.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3641.         lv_i = 1;
  3642.         lv_x = 166;
  3643.         lv_y = 110;
  3644.         lv_image[1] = "Assets\\Textures\\btn-unit-terran-marauderkillsquad.dds";
  3645.         lv_requirement[1] = "Tutorial";
  3646.         lv_image[2] = "Assets\\Textures\\btn-unit-terran-battlecruiserloki.dds";
  3647.         lv_requirement[2] = "Donate $1";
  3648.         lv_image[3] = "Assets\\Textures\\btn-building-terran-biodomecommand.dds";
  3649.         lv_requirement[3] = "Donate $5";
  3650.         lv_image[4] = "Assets\\Textures\\btn-building-terran-merccompound.dds";
  3651.         lv_requirement[4] = "Donate $10";
  3652.         lv_image[5] = "Assets\\Textures\\ui_tip_questionmark.dds";
  3653.         lv_requirement[5] = "Donate $25";
  3654.         while ((lv_i <= 5)) {
  3655.             libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 150, 60, c_anchorTop, lv_x, lv_y, StringToText(""), StringToText(""), "");
  3656.             gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  3657.             libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 50, 50, c_anchorTop, (lv_x - 48), (lv_y + 5), StringToText(""), lv_image[lv_i], c_triggerImageTypeNormal, false, Color(100,100,100), c_triggerBlendModeNormal);
  3658.             auto14850D4E_val = lv_i;
  3659.             if (auto14850D4E_val == 1) {
  3660.                 if ((gv_player[PlayerGroupLoopCurrent()].lv_playedTutorial == false)) {
  3661.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3662.                     DialogControlSetEnabled(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], PlayerGroupAll(), false);
  3663.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3664.                     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3665.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3666.                 }
  3667.                 else {
  3668.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3669.                     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3670.                 }
  3671.             }
  3672.             else if (auto14850D4E_val == 2) {
  3673.                 libNtve_gf_SetDialogItemTooltip(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], StringToText("goo.gl/d7y1Qc"), PlayerGroupAll());
  3674.                 if (((gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl1) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl2) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl3) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl4) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_Admin))) {
  3675.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3676.                     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3677.                 }
  3678.                 else {
  3679.                     if ((gv_profile.lv_achieveUnitValue[6][PlayerGroupLoopCurrent()] == 1)) {
  3680.                         gv_profile.lv_achieveUnitValue[6][PlayerGroupLoopCurrent()] = 0;
  3681.                     }
  3682.  
  3683.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3684.                     DialogControlSetEnabled(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], PlayerGroupAll(), false);
  3685.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3686.                     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3687.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3688.                 }
  3689.             }
  3690.             else if (auto14850D4E_val == 3) {
  3691.                 libNtve_gf_SetDialogItemTooltip(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], StringToText("goo.gl/d7y1Qc"), PlayerGroupAll());
  3692.                 if (((gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl2) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl3) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl4) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_Admin))) {
  3693.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3694.                     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3695.                 }
  3696.                 else {
  3697.                     if ((gv_profile.lv_achieveUnitValue[7][PlayerGroupLoopCurrent()] == 1)) {
  3698.                         gv_profile.lv_achieveUnitValue[7][PlayerGroupLoopCurrent()] = 0;
  3699.                     }
  3700.  
  3701.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3702.                     DialogControlSetEnabled(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], PlayerGroupAll(), false);
  3703.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3704.                     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3705.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3706.                 }
  3707.             }
  3708.             else if (auto14850D4E_val == 4) {
  3709.                 libNtve_gf_SetDialogItemTooltip(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], StringToText("goo.gl/d7y1Qc"), PlayerGroupAll());
  3710.                 if (((gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl3) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl4) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_Admin))) {
  3711.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3712.                     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3713.                 }
  3714.                 else {
  3715.                     if ((gv_profile.lv_achieveUnitValue[8][PlayerGroupLoopCurrent()] == 1)) {
  3716.                         gv_profile.lv_achieveUnitValue[8][PlayerGroupLoopCurrent()] = 0;
  3717.                     }
  3718.  
  3719.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3720.                     DialogControlSetEnabled(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], PlayerGroupAll(), false);
  3721.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3722.                     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3723.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3724.                 }
  3725.             }
  3726.             else if (auto14850D4E_val == 5) {
  3727.                 libNtve_gf_SetDialogItemTooltip(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], StringToText("goo.gl/d7y1Qc"), PlayerGroupAll());
  3728.                 if (((gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl4) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_Admin))) {
  3729.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3730.                     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3731.                 }
  3732.                 else {
  3733.                     if ((gv_profile.lv_achieveDonateValue[PlayerGroupLoopCurrent()] == 1)) {
  3734.                         gv_profile.lv_achieveDonateValue[PlayerGroupLoopCurrent()] = 0;
  3735.                     }
  3736.  
  3737.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3738.                     DialogControlSetEnabled(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], PlayerGroupAll(), false);
  3739.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3740.                     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3741.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3742.                 }
  3743.             }
  3744.             else {
  3745.             }
  3746.             lv_i = (lv_i + 1);
  3747.             lv_y = (lv_y + 62);
  3748.         }
  3749.     }
  3750.     PlayerGroupLoopEnd();
  3751.     PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupActive(), true, false, false));
  3752.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  3753.         if ((PlayerGroupLoopCurrent() >= 1)) {
  3754.             DialogCreate(DialogGetWidth(gv_infoPanel.lv_backgroundDialog), DialogGetHeight(gv_infoPanel.lv_backgroundDialog), DialogGetAnchor(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetX(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetY(gv_infoPanel.lv_backgroundDialog), true);
  3755.             DialogSetImageVisible(DialogLastCreated(), false);
  3756.             gv_profile.lv_settingsProfile[PlayerGroupLoopCurrent()] = DialogLastCreated();
  3757.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 450, 50, c_anchorTopLeft, 18, 60, StringToText("Prioritize new defenders by tier"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  3758.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensedSettings", PlayerGroupAll());
  3759.             libNtve_gf_SetDialogItemImage(DialogControlLastCreated(), "Assets\\Textures\\ui_battlenet_challenge_button_normaloverpressedover.dds", PlayerGroupAll());
  3760.             DialogControlCreate(DialogLastCreated(), c_triggerControlTypePulldown);
  3761.             gv_profile.lv_settingsProfileDI[1][PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  3762.             DialogControlSetSize(DialogControlLastCreated(), PlayerGroupAll(), 450, 55);
  3763.             DialogControlSetPosition(DialogControlLastCreated(), PlayerGroupAll(), c_anchorTopLeft, 13, (75 + 0));
  3764.             DialogControlAddItem(DialogControlLastCreated(), PlayerGroupAll(), StringToText("Prioritize Lower Tier Units [Default]"));
  3765.             DialogControlAddItem(DialogControlLastCreated(), PlayerGroupAll(), StringToText("Prioritize Higher Tier Units"));
  3766.             if ((gv_profile.lv_settingsProfileValue[1][PlayerGroupLoopCurrent()] == 0)) {
  3767.                 DialogControlSelectItem(DialogControlLastCreated(), PlayerGroupAll(), 1);
  3768.                 gv_profile.lv_settingsProfileValue[1][PlayerGroupLoopCurrent()] = 1;
  3769.             }
  3770.             else {
  3771.                 DialogControlSelectItem(DialogControlLastCreated(), PlayerGroupAll(), gv_profile.lv_settingsProfileValue[1][PlayerGroupLoopCurrent()]);
  3772.             }
  3773.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 450, 50, c_anchorTopLeft, 18, 140, StringToText("Prioritize new defenders by health"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  3774.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensedSettings", PlayerGroupAll());
  3775.             DialogControlCreate(DialogLastCreated(), c_triggerControlTypePulldown);
  3776.             gv_profile.lv_settingsProfileDI[2][PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  3777.             DialogControlSetSize(DialogControlLastCreated(), PlayerGroupAll(), 450, 55);
  3778.             DialogControlSetPosition(DialogControlLastCreated(), PlayerGroupAll(), c_anchorTopLeft, 13, (155 + 0));
  3779.             DialogControlAddItem(DialogControlLastCreated(), PlayerGroupAll(), StringToText("Prioritize Lower Health Units [Default]"));
  3780.             DialogControlAddItem(DialogControlLastCreated(), PlayerGroupAll(), StringToText("Prioritize Higher Health Units"));
  3781.             if ((gv_profile.lv_settingsProfileValue[2][PlayerGroupLoopCurrent()] == 0)) {
  3782.                 DialogControlSelectItem(DialogControlLastCreated(), PlayerGroupAll(), 1);
  3783.                 gv_profile.lv_settingsProfileValue[2][PlayerGroupLoopCurrent()] = 1;
  3784.             }
  3785.             else {
  3786.                 DialogControlSelectItem(DialogControlLastCreated(), PlayerGroupAll(), gv_profile.lv_settingsProfileValue[2][PlayerGroupLoopCurrent()]);
  3787.             }
  3788.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 450, 50, c_anchorTopLeft, 18, 220, StringToText("Show starting game base pings"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  3789.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensedSettings", PlayerGroupAll());
  3790.             if ((gv_profile.lv_settingsProfileValue[3][PlayerGroupLoopCurrent()] == 1)) {
  3791.                 libNtve_gf_CreateDialogItemCheckBox(DialogLastCreated(), 50, 50, c_anchorTopLeft, 10, 233, StringToText(""), true);
  3792.             }
  3793.             else {
  3794.                 libNtve_gf_CreateDialogItemCheckBox(DialogLastCreated(), 50, 50, c_anchorTopLeft, 10, 233, StringToText(""), false);
  3795.             }
  3796.             gv_profile.lv_settingsProfileDI[3][PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  3797.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 450, 50, c_anchorTopLeft, 18, 280, StringToText("Allow others to view your profile"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  3798.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensedSettings", PlayerGroupAll());
  3799.             if ((gv_profile.lv_settingsProfileValue[4][PlayerGroupLoopCurrent()] == 1)) {
  3800.                 libNtve_gf_CreateDialogItemCheckBox(DialogLastCreated(), 50, 50, c_anchorTopLeft, 10, 293, StringToText(""), true);
  3801.             }
  3802.             else {
  3803.                 libNtve_gf_CreateDialogItemCheckBox(DialogLastCreated(), 50, 50, c_anchorTopLeft, 10, 293, StringToText(""), false);
  3804.                 DialogControlSetEnabled(gv_profile.lv_playerSelectionDI[PlayerGroupLoopCurrent()], PlayerGroupAll(), false);
  3805.                 DialogControlSetEnabled(gv_profile.lv_playerSelectionDI[PlayerGroupLoopCurrent()], PlayerGroupSingle(PlayerGroupLoopCurrent()), true);
  3806.             }
  3807.             gv_profile.lv_settingsProfileDI[4][PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  3808.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 450, 50, c_anchorTopLeft, 18, 340, StringToText("Show nationality flags from each player"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  3809.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensedSettings", PlayerGroupAll());
  3810.             if ((gv_profile.lv_settingsProfileValue[5][PlayerGroupLoopCurrent()] == 1)) {
  3811.                 libNtve_gf_CreateDialogItemCheckBox(DialogLastCreated(), 50, 50, c_anchorTopLeft, 10, 353, StringToText(""), true);
  3812.                 UnitGroupLoopBegin(UnitGroup("DestructibleKorhalFlag", c_playerAny, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  3813.                 for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  3814.                     gf_ShowHideActorForPlayerGroup(PlayerGroupSingle(PlayerGroupLoopCurrent()), libNtve_gf_MainActorofUnit(UnitGroupLoopCurrent()), true);
  3815.                 }
  3816.                 UnitGroupLoopEnd();
  3817.                 PlayerGroupRemove(gv_gameInfo.lv_hideFlag, PlayerGroupLoopCurrent());
  3818.             }
  3819.             else {
  3820.                 libNtve_gf_CreateDialogItemCheckBox(DialogLastCreated(), 50, 50, c_anchorTopLeft, 10, 353, StringToText(""), false);
  3821.                 UnitGroupLoopBegin(UnitGroup("DestructibleKorhalFlag", c_playerAny, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  3822.                 for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  3823.                     gf_ShowHideActorForPlayerGroup(PlayerGroupSingle(PlayerGroupLoopCurrent()), libNtve_gf_MainActorofUnit(UnitGroupLoopCurrent()), false);
  3824.                 }
  3825.                 UnitGroupLoopEnd();
  3826.                 PlayerGroupAdd(gv_gameInfo.lv_hideFlag, PlayerGroupLoopCurrent());
  3827.             }
  3828.             gv_profile.lv_settingsProfileDI[5][PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  3829.         }
  3830.  
  3831.     }
  3832.     PlayerGroupLoopEnd();
  3833. }
  3834.  
  3835. void gf_InfoPanelUpdateStatsAchievements () {
  3836.     int init_i;
  3837.  
  3838.     int auto750CE139_val;
  3839.  
  3840.     // Variable Declarations
  3841.     int lv_i;
  3842.     int lv_x;
  3843.     int lv_y;
  3844.     string[7] lv_requirement;
  3845.     string[7] lv_image;
  3846.  
  3847.     // Variable Initialization
  3848.     lv_i = 1;
  3849.     lv_x = 65;
  3850.     lv_y = 75;
  3851.     for (init_i = 0; init_i <= 6; init_i += 1) {
  3852.         lv_requirement[init_i] = "";
  3853.     }
  3854.  
  3855.     // Implementation
  3856.     PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupActive(), true, false, false));
  3857.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  3858.         DialogDestroy(gv_profile.lv_playerProfile[PlayerGroupLoopCurrent()]);
  3859.         DialogCreate(DialogGetWidth(gv_infoPanel.lv_backgroundDialog), DialogGetHeight(gv_infoPanel.lv_backgroundDialog), DialogGetAnchor(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetX(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetY(gv_infoPanel.lv_backgroundDialog), true);
  3860.         DialogSetImageVisible(DialogLastCreated(), false);
  3861.         gv_profile.lv_playerProfile[PlayerGroupLoopCurrent()] = DialogLastCreated();
  3862.         libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 50, 315, (StringToText("Wins: ") + IntToText(gv_player[PlayerGroupLoopCurrent()].lv_win)), ColorWithAlpha(0,0,0,0), false, 2.0);
  3863.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3864.         if (((gv_gameInfo.lv_ranked == ge_Ranked_Enabled) && (gv_gameInfo.lv_gameOver == false))) {
  3865.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 50, 345, (StringToText("Losses: ") + IntToText((gv_player[PlayerGroupLoopCurrent()].lv_loses - 1))), ColorWithAlpha(0,0,0,0), false, 2.0);
  3866.         }
  3867.         else {
  3868.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 50, 345, (StringToText("Losses: ") + IntToText((gv_player[PlayerGroupLoopCurrent()].lv_loses + 0))), ColorWithAlpha(0,0,0,0), false, 2.0);
  3869.         }
  3870.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3871.         libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 50, 375, (StringToText("Kills: ") + IntToText(gv_player[PlayerGroupLoopCurrent()].lv_kills)), ColorWithAlpha(0,0,0,0), false, 2.0);
  3872.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3873.         libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 50, 405, (StringToText("Deaths: ") + IntToText(gv_player[PlayerGroupLoopCurrent()].lv_deaths)), ColorWithAlpha(0,0,0,0), false, 2.0);
  3874.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3875.         lv_i = (lv_i + 1);
  3876.         lv_x = (lv_x + 62);
  3877.         if ((lv_i == 7)) {
  3878.             lv_x = 65;
  3879.             lv_y = (lv_y + 62);
  3880.         }
  3881.  
  3882.     }
  3883.     PlayerGroupLoopEnd();
  3884.     PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupActive(), true, false, false));
  3885.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  3886.         DialogDestroy(gv_profile.lv_achieveProfile[PlayerGroupLoopCurrent()]);
  3887.         DialogCreate(DialogGetWidth(gv_infoPanel.lv_backgroundDialog), DialogGetHeight(gv_infoPanel.lv_backgroundDialog), DialogGetAnchor(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetX(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetY(gv_infoPanel.lv_backgroundDialog), true);
  3888.         DialogSetImageVisible(DialogLastCreated(), false);
  3889.         gv_profile.lv_achieveProfile[PlayerGroupLoopCurrent()] = DialogLastCreated();
  3890.         libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 150, 50, c_anchorTop, -110, 85, StringToText("Victory"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  3891.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3892.         lv_i = 1;
  3893.         lv_x = -166;
  3894.         lv_y = 110;
  3895.         lv_image[1] = "Assets\\Textures\\btn-unit-zerg-infestedmarine.dds";
  3896.         lv_requirement[1] = "10";
  3897.         lv_image[2] = "Assets\\Textures\\btn-unit-terran-bansheemercenary.dds";
  3898.         lv_requirement[2] = "25";
  3899.         lv_image[3] = "Assets\\Textures\\btn-unit-terran-marinemercenary.dds";
  3900.         lv_requirement[3] = "50";
  3901.         lv_image[4] = "Assets\\Textures\\btn-unit-terran-siegetankmercenary-tank.dds";
  3902.         lv_requirement[4] = "100";
  3903.         lv_image[5] = "Assets\\Textures\\btn-unit-terran-maraudermercenary.dds";
  3904.         lv_requirement[5] = "250";
  3905.         lv_image[6] = "Assets\\Textures\\btn-unit-terran-taurenspacemarine.dds";
  3906.         lv_requirement[6] = "500";
  3907.         while ((lv_i <= 6)) {
  3908.             libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 150, 60, c_anchorTop, lv_x, lv_y, StringToText(""), StringToText(""), "");
  3909.             gv_profile.lv_achieveVictoryDI[lv_i][PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  3910.             libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 50, 50, c_anchorTop, (lv_x - 48), (lv_y + 5), StringToText(""), lv_image[lv_i], c_triggerImageTypeNormal, false, Color(100,100,100), c_triggerBlendModeNormal);
  3911.             if ((StringToInt(lv_requirement[lv_i]) > gv_player[PlayerGroupLoopCurrent()].lv_win)) {
  3912.                 DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3913.                 DialogControlSetEnabled(gv_profile.lv_achieveVictoryDI[lv_i][PlayerGroupLoopCurrent()], PlayerGroupAll(), false);
  3914.                 libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3915.                 DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3916.             }
  3917.             else {
  3918.                 libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3919.             }
  3920.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3921.             lv_i = (lv_i + 1);
  3922.             lv_y = (lv_y + 62);
  3923.         }
  3924.         libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 150, 50, c_anchorTop, 70, 85, StringToText("Kill"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  3925.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3926.         lv_i = 1;
  3927.         lv_x = 0;
  3928.         lv_y = 110;
  3929.         lv_image[1] = "Assets\\Textures\\btn-unit-terran-vikingmercenary-fighter.dds";
  3930.         lv_requirement[1] = "250000";
  3931.         lv_image[2] = "Assets\\Textures\\wireframe-terran-murlocmarine.dds";
  3932.         lv_requirement[2] = "500000";
  3933.         lv_image[3] = "Assets\\Textures\\btn-unit-terran-spectre.dds";
  3934.         lv_requirement[3] = "1000000";
  3935.         while ((lv_i <= 3)) {
  3936.             libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 150, 60, c_anchorTop, lv_x, lv_y, StringToText(""), StringToText(""), "");
  3937.             gv_profile.lv_achieveKillsDI[lv_i][PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  3938.             libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 50, 50, c_anchorTop, (lv_x - 48), (lv_y + 5), StringToText(""), lv_image[lv_i], c_triggerImageTypeNormal, false, Color(100,100,100), c_triggerBlendModeNormal);
  3939.             if ((StringToInt(lv_requirement[lv_i]) > gv_player[PlayerGroupLoopCurrent()].lv_kills)) {
  3940.                 DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3941.                 DialogControlSetEnabled(gv_profile.lv_achieveKillsDI[lv_i][PlayerGroupLoopCurrent()], PlayerGroupAll(), false);
  3942.                 libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3943.                 DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3944.             }
  3945.             else {
  3946.                 libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 68), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3947.             }
  3948.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3949.             lv_i = (lv_i + 1);
  3950.             lv_y = (lv_y + 62);
  3951.         }
  3952.         libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 150, 50, c_anchorTop, 220, 85, StringToText("Other"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  3953.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3954.         lv_i = 1;
  3955.         lv_x = 166;
  3956.         lv_y = 110;
  3957.         lv_image[1] = "Assets\\Textures\\btn-unit-terran-marauderkillsquad.dds";
  3958.         lv_requirement[1] = "Tutorial";
  3959.         lv_image[2] = "Assets\\Textures\\btn-unit-terran-battlecruiserloki.dds";
  3960.         lv_requirement[2] = "Donate $1";
  3961.         lv_image[3] = "Assets\\Textures\\btn-building-terran-biodomecommand.dds";
  3962.         lv_requirement[3] = "Donate $5";
  3963.         lv_image[4] = "Assets\\Textures\\btn-building-terran-merccompound.dds";
  3964.         lv_requirement[4] = "Donate $10";
  3965.         lv_image[5] = "Assets\\Textures\\ui_tip_questionmark.dds";
  3966.         lv_requirement[5] = "Donate $25";
  3967.         while ((lv_i <= 5)) {
  3968.             libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 150, 60, c_anchorTop, lv_x, lv_y, StringToText(""), StringToText(""), "");
  3969.             gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  3970.             libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 50, 50, c_anchorTop, (lv_x - 48), (lv_y + 5), StringToText(""), lv_image[lv_i], c_triggerImageTypeNormal, false, Color(100,100,100), c_triggerBlendModeNormal);
  3971.             auto750CE139_val = lv_i;
  3972.             if (auto750CE139_val == 1) {
  3973.                 if ((gv_player[PlayerGroupLoopCurrent()].lv_playedTutorial == false)) {
  3974.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3975.                     DialogControlSetEnabled(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], PlayerGroupAll(), false);
  3976.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3977.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3978.                 }
  3979.                 else {
  3980.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3981.                 }
  3982.                 libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  3983.             }
  3984.             else if (auto750CE139_val == 2) {
  3985.                 libNtve_gf_SetDialogItemTooltip(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], StringToText("tiny.cc/RiskDonate"), PlayerGroupAll());
  3986.                 if (((gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl1) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl2) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl3) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl4) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_Admin))) {
  3987.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3988.                 }
  3989.                 else {
  3990.                     if ((gv_profile.lv_achieveUnitValue[6][PlayerGroupLoopCurrent()] == 1)) {
  3991.                         gv_profile.lv_achieveUnitValue[6][PlayerGroupLoopCurrent()] = 0;
  3992.                     }
  3993.  
  3994.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3995.                     DialogControlSetEnabled(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], PlayerGroupAll(), false);
  3996.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  3997.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  3998.                 }
  3999.                 libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  4000.             }
  4001.             else if (auto750CE139_val == 3) {
  4002.                 libNtve_gf_SetDialogItemTooltip(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], StringToText("tiny.cc/RiskDonate"), PlayerGroupAll());
  4003.                 if (((gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl2) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl3) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl4) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_Admin))) {
  4004.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  4005.                 }
  4006.                 else {
  4007.                     if ((gv_profile.lv_achieveUnitValue[7][PlayerGroupLoopCurrent()] == 1)) {
  4008.                         gv_profile.lv_achieveUnitValue[7][PlayerGroupLoopCurrent()] = 0;
  4009.                     }
  4010.  
  4011.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  4012.                     DialogControlSetEnabled(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], PlayerGroupAll(), false);
  4013.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  4014.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  4015.                 }
  4016.                 libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  4017.             }
  4018.             else if (auto750CE139_val == 4) {
  4019.                 libNtve_gf_SetDialogItemTooltip(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], StringToText("tiny.cc/RiskDonate"), PlayerGroupAll());
  4020.                 if (((gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl3) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl4) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_Admin))) {
  4021.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  4022.                 }
  4023.                 else {
  4024.                     if ((gv_profile.lv_achieveUnitValue[8][PlayerGroupLoopCurrent()] == 1)) {
  4025.                         gv_profile.lv_achieveUnitValue[8][PlayerGroupLoopCurrent()] = 0;
  4026.                     }
  4027.  
  4028.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  4029.                     DialogControlSetEnabled(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], PlayerGroupAll(), false);
  4030.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  4031.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  4032.                 }
  4033.                 libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  4034.             }
  4035.             else if (auto750CE139_val == 5) {
  4036.                 libNtve_gf_SetDialogItemTooltip(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], StringToText("tiny.cc/RiskDonate"), PlayerGroupAll());
  4037.                 if (((gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl4) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_Admin))) {
  4038.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  4039.                 }
  4040.                 else {
  4041.                     if ((gv_profile.lv_achieveDonateValue[PlayerGroupLoopCurrent()] == 1)) {
  4042.                         gv_profile.lv_achieveDonateValue[PlayerGroupLoopCurrent()] = 0;
  4043.                     }
  4044.  
  4045.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  4046.                     DialogControlSetEnabled(gv_profile.lv_achieveOtherDI[lv_i][PlayerGroupLoopCurrent()], PlayerGroupAll(), false);
  4047.                     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTop, (lv_x + 80), (lv_y + 10), StringToText(("Requires:<n/>" + lv_requirement[lv_i])), ColorWithAlpha(0,0,0,0), false, 2.0);
  4048.                     DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);
  4049.                 }
  4050.                 libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight12", PlayerGroupAll());
  4051.             }
  4052.             else {
  4053.             }
  4054.             lv_i = (lv_i + 1);
  4055.             lv_y = (lv_y + 62);
  4056.         }
  4057.     }
  4058.     PlayerGroupLoopEnd();
  4059.     PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupActive(), true, false, false));
  4060.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  4061.         if ((PlayerGroupLoopCurrent() >= 1)) {
  4062.             DialogDestroy(gv_profile.lv_settingsProfile[PlayerGroupLoopCurrent()]);
  4063.             DialogCreate(DialogGetWidth(gv_infoPanel.lv_backgroundDialog), DialogGetHeight(gv_infoPanel.lv_backgroundDialog), DialogGetAnchor(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetX(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetY(gv_infoPanel.lv_backgroundDialog), true);
  4064.             DialogSetImageVisible(DialogLastCreated(), false);
  4065.             gv_profile.lv_settingsProfile[PlayerGroupLoopCurrent()] = DialogLastCreated();
  4066.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 450, 50, c_anchorTopLeft, 18, 60, StringToText("Prioritize new defenders by tier"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  4067.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensedSettings", PlayerGroupAll());
  4068.             libNtve_gf_SetDialogItemImage(DialogControlLastCreated(), "Assets\\Textures\\ui_battlenet_challenge_button_normaloverpressedover.dds", PlayerGroupAll());
  4069.             DialogControlCreate(DialogLastCreated(), c_triggerControlTypePulldown);
  4070.             gv_profile.lv_settingsProfileDI[1][PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  4071.             DialogControlSetSize(DialogControlLastCreated(), PlayerGroupAll(), 450, 55);
  4072.             DialogControlSetPosition(DialogControlLastCreated(), PlayerGroupAll(), c_anchorTopLeft, 13, (75 + 0));
  4073.             DialogControlAddItem(DialogControlLastCreated(), PlayerGroupAll(), StringToText("Prioritize Lower Tier Units [Default]"));
  4074.             DialogControlAddItem(DialogControlLastCreated(), PlayerGroupAll(), StringToText("Prioritize Higher Tier Units"));
  4075.             if ((gv_profile.lv_settingsProfileValue[1][PlayerGroupLoopCurrent()] == 0)) {
  4076.                 DialogControlSelectItem(DialogControlLastCreated(), PlayerGroupAll(), 1);
  4077.                 gv_profile.lv_settingsProfileValue[1][PlayerGroupLoopCurrent()] = 1;
  4078.             }
  4079.             else {
  4080.                 DialogControlSelectItem(DialogControlLastCreated(), PlayerGroupAll(), gv_profile.lv_settingsProfileValue[1][PlayerGroupLoopCurrent()]);
  4081.             }
  4082.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 450, 50, c_anchorTopLeft, 18, 140, StringToText("Prioritize new defenders by health"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  4083.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensedSettings", PlayerGroupAll());
  4084.             DialogControlCreate(DialogLastCreated(), c_triggerControlTypePulldown);
  4085.             gv_profile.lv_settingsProfileDI[2][PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  4086.             DialogControlSetSize(DialogControlLastCreated(), PlayerGroupAll(), 450, 55);
  4087.             DialogControlSetPosition(DialogControlLastCreated(), PlayerGroupAll(), c_anchorTopLeft, 13, (155 + 0));
  4088.             DialogControlAddItem(DialogControlLastCreated(), PlayerGroupAll(), StringToText("Prioritize Lower Health Units [Default]"));
  4089.             DialogControlAddItem(DialogControlLastCreated(), PlayerGroupAll(), StringToText("Prioritize Higher Health Units"));
  4090.             if ((gv_profile.lv_settingsProfileValue[2][PlayerGroupLoopCurrent()] == 0)) {
  4091.                 DialogControlSelectItem(DialogControlLastCreated(), PlayerGroupAll(), 1);
  4092.                 gv_profile.lv_settingsProfileValue[2][PlayerGroupLoopCurrent()] = 1;
  4093.             }
  4094.             else {
  4095.                 DialogControlSelectItem(DialogControlLastCreated(), PlayerGroupAll(), gv_profile.lv_settingsProfileValue[2][PlayerGroupLoopCurrent()]);
  4096.             }
  4097.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 450, 50, c_anchorTopLeft, 18, 220, StringToText("Show starting game base pings"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  4098.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensedSettings", PlayerGroupAll());
  4099.             if ((gv_profile.lv_settingsProfileValue[3][PlayerGroupLoopCurrent()] == 1)) {
  4100.                 libNtve_gf_CreateDialogItemCheckBox(DialogLastCreated(), 50, 50, c_anchorTopLeft, 10, 233, StringToText(""), true);
  4101.             }
  4102.             else {
  4103.                 libNtve_gf_CreateDialogItemCheckBox(DialogLastCreated(), 50, 50, c_anchorTopLeft, 10, 233, StringToText(""), false);
  4104.             }
  4105.             gv_profile.lv_settingsProfileDI[3][PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  4106.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 450, 50, c_anchorTopLeft, 18, 280, StringToText("Allow others to view your profile"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  4107.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensedSettings", PlayerGroupAll());
  4108.             if ((gv_profile.lv_settingsProfileValue[4][PlayerGroupLoopCurrent()] == 1)) {
  4109.                 libNtve_gf_CreateDialogItemCheckBox(DialogLastCreated(), 50, 50, c_anchorTopLeft, 10, 293, StringToText(""), true);
  4110.             }
  4111.             else {
  4112.                 libNtve_gf_CreateDialogItemCheckBox(DialogLastCreated(), 50, 50, c_anchorTopLeft, 10, 293, StringToText(""), false);
  4113.                 DialogControlSetEnabled(gv_profile.lv_playerSelectionDI[PlayerGroupLoopCurrent()], PlayerGroupAll(), false);
  4114.                 DialogControlSetEnabled(gv_profile.lv_playerSelectionDI[PlayerGroupLoopCurrent()], PlayerGroupSingle(PlayerGroupLoopCurrent()), true);
  4115.             }
  4116.             gv_profile.lv_settingsProfileDI[4][PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  4117.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 450, 50, c_anchorTopLeft, 18, 340, StringToText("Show nationality flags from each player"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  4118.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensedSettings", PlayerGroupAll());
  4119.             if ((gv_profile.lv_settingsProfileValue[5][PlayerGroupLoopCurrent()] == 1)) {
  4120.                 libNtve_gf_CreateDialogItemCheckBox(DialogLastCreated(), 50, 50, c_anchorTopLeft, 10, 353, StringToText(""), true);
  4121.                 UnitGroupLoopBegin(UnitGroup("DestructibleKorhalFlag", c_playerAny, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  4122.                 for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  4123.                     gf_ShowHideActorForPlayerGroup(PlayerGroupSingle(PlayerGroupLoopCurrent()), libNtve_gf_MainActorofUnit(UnitGroupLoopCurrent()), true);
  4124.                 }
  4125.                 UnitGroupLoopEnd();
  4126.                 PlayerGroupRemove(gv_gameInfo.lv_hideFlag, PlayerGroupLoopCurrent());
  4127.             }
  4128.             else {
  4129.                 libNtve_gf_CreateDialogItemCheckBox(DialogLastCreated(), 50, 50, c_anchorTopLeft, 10, 353, StringToText(""), false);
  4130.                 UnitGroupLoopBegin(UnitGroup("DestructibleKorhalFlag", c_playerAny, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  4131.                 for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  4132.                     gf_ShowHideActorForPlayerGroup(PlayerGroupSingle(PlayerGroupLoopCurrent()), libNtve_gf_MainActorofUnit(UnitGroupLoopCurrent()), false);
  4133.                 }
  4134.                 UnitGroupLoopEnd();
  4135.                 PlayerGroupAdd(gv_gameInfo.lv_hideFlag, PlayerGroupLoopCurrent());
  4136.             }
  4137.             gv_profile.lv_settingsProfileDI[5][PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  4138.         }
  4139.  
  4140.     }
  4141.     PlayerGroupLoopEnd();
  4142. }
  4143.  
  4144. void gf_InfoPanelLog () {
  4145.     // Variable Declarations
  4146.     int lv_i;
  4147.     int lv_x;
  4148.     int lv_y;
  4149.  
  4150.     // Variable Initialization
  4151.     lv_i = 1;
  4152.     lv_x = 25;
  4153.     lv_y = 55;
  4154.  
  4155.     // Implementation
  4156.     DialogCreate(DialogGetWidth(gv_infoPanel.lv_backgroundDialog), DialogGetHeight(gv_infoPanel.lv_backgroundDialog), DialogGetAnchor(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetX(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetY(gv_infoPanel.lv_backgroundDialog), true);
  4157.     gv_log.lv_main = DialogLastCreated();
  4158.     DialogSetImageVisible(DialogLastCreated(), false);
  4159.     libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 250, 70, c_anchorTop, -125, 0, StringToText(""), StringToText("Map"), "");
  4160.     libNtve_gf_SetDialogItemImage(DialogControlLastCreated(), "Risk\\ui_battlenet_challenge_button_normalpressed.dds", PlayerGroupAll());
  4161.     libNtve_gf_SetDialogItemImage2(DialogControlLastCreated(), "Risk\\ui_battlenet_challenge_button_normaloverpressedover.dds", PlayerGroupAll());
  4162.     libNtve_gf_SetDialogItemImageType(DialogControlLastCreated(), c_triggerImageTypeNormal, PlayerGroupAll());
  4163.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  4164.     gv_log.lv_mainDI[1] = DialogControlLastCreated();
  4165.     libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 250, 70, c_anchorTop, 125, 0, StringToText(""), StringToText("Messages"), "");
  4166.     libNtve_gf_SetDialogItemImage(DialogControlLastCreated(), "Risk\\ui_battlenet_challenge_button_normalpressed.dds", PlayerGroupAll());
  4167.     libNtve_gf_SetDialogItemImage2(DialogControlLastCreated(), "Risk\\ui_battlenet_challenge_button_normaloverpressedover.dds", PlayerGroupAll());
  4168.     libNtve_gf_SetDialogItemImageType(DialogControlLastCreated(), c_triggerImageTypeNormal, PlayerGroupAll());
  4169.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  4170.     gv_log.lv_mainDI[2] = DialogControlLastCreated();
  4171.     DialogCreate(DialogGetWidth(gv_infoPanel.lv_backgroundDialog), DialogGetHeight(gv_infoPanel.lv_backgroundDialog), DialogGetAnchor(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetX(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetY(gv_infoPanel.lv_backgroundDialog), true);
  4172.     gv_log.lv_mapMain = DialogLastCreated();
  4173.     DialogSetImageVisible(DialogLastCreated(), false);
  4174.     libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 150, 50, c_anchorBottom, -75, 25, StringToText(""), StringToText("Previous"), "");
  4175.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  4176.     gv_log.lv_mapDI[1] = DialogControlLastCreated();
  4177.     libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 150, 50, c_anchorBottom, 75, 25, StringToText(""), StringToText("Next"), "");
  4178.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  4179.     gv_log.lv_mapDI[2] = DialogControlLastCreated();
  4180.     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 250, 50, c_anchorTop, 5, 79, StringToText("History Turn Time: 0"), ColorWithAlpha(0,0,0,0), false, 2.0);
  4181.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  4182.     gv_log.lv_mapDI[3] = DialogControlLastCreated();
  4183.     DialogControlSetEnabled(gv_log.lv_mapDI[1], PlayerGroupAll(), false);
  4184.     DialogControlSetEnabled(gv_log.lv_mapDI[2], PlayerGroupAll(), false);
  4185.     DialogCreate(DialogGetWidth(gv_infoPanel.lv_backgroundDialog), DialogGetHeight(gv_infoPanel.lv_backgroundDialog), DialogGetAnchor(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetX(gv_infoPanel.lv_backgroundDialog), DialogGetOffsetY(gv_infoPanel.lv_backgroundDialog), true);
  4186.     gv_log.lv_messageMain = DialogLastCreated();
  4187.     DialogSetImageVisible(DialogLastCreated(), false);
  4188.     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 250, 50, c_anchorTop, 5, 63, StringToText("Message Log"), ColorWithAlpha(0,0,0,0), false, 2.0);
  4189.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  4190.     DialogControlCreate(DialogLastCreated(), c_triggerControlTypeListBox);
  4191.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight10", PlayerGroupAll());
  4192.     DialogControlSetSize(DialogControlLastCreated(), PlayerGroupAll(), 490, 300);
  4193.     DialogControlSetPosition(DialogControlLastCreated(), PlayerGroupAll(), c_anchorTop, 0, 100);
  4194.     gv_log.lv_messageDI = DialogControlLastCreated();
  4195.     PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupActive(), true, false, false));
  4196.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  4197.         libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 70, 35, c_anchorBottomLeft, lv_x, lv_y, (StringToText("Mute ") + (TextWithColor(PlayerName(PlayerGroupLoopCurrent()), gv_player[PlayerGroupLoopCurrent()].lv_currentColour) + StringExternal("Param/Value/7D7BCC0C"))), StringToText("Mute"), "");
  4198.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoCondensed15", PlayerGroupAll());
  4199.         libNtve_gf_SetDialogItemCurrentValue(DialogControlLastCreated(), IntToFixed(PlayerGroupLoopCurrent()), PlayerGroupAll());
  4200.         DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupSingle(PlayerGroupLoopCurrent()), false);
  4201.         gv_log.lv_muteDI[PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  4202.         lv_i = (lv_i + 1);
  4203.         lv_x = (lv_x + 75);
  4204.         if ((lv_i == 7)) {
  4205.             lv_x = 25;
  4206.             lv_y = (lv_y - 35);
  4207.         }
  4208.  
  4209.     }
  4210.     PlayerGroupLoopEnd();
  4211. }
  4212.  
  4213. void gf_InfoPanelCheckMinimapHistory () {
  4214.     // Implementation
  4215.     if ((gv_log.lv_minimapTurn <= 60)) {
  4216.         if (((IntToFixed(gv_gameInfo.lv_turns) / 3.0) == IntToFixed(gv_log.lv_minimapTurn))) {
  4217.             gv_log.lv_lock = (gv_log.lv_lock + 1);
  4218.             gf_InfoPanelCreateMinimapHistory(gv_log.lv_minimapTurn);
  4219.             gv_log.lv_minimapTurn = (gv_log.lv_minimapTurn + 1);
  4220.         }
  4221.  
  4222.     }
  4223.  
  4224. }
  4225.  
  4226. void gf_InfoPanelCreateMinimapHistory (int lp_integer) {
  4227.     // Variable Declarations
  4228.     fixed lv_minimapX;
  4229.     int lv_i;
  4230.  
  4231.     // Variable Initialization
  4232.  
  4233.     // Implementation
  4234.     lv_minimapX = ((PointGetX(RegionGetBoundsMax(RegionEntireMap())) / PointGetY(RegionGetBoundsMax(RegionEntireMap()))) * IntToFixed(gv_log.lv_y));
  4235.     DialogCreate(FixedToInt(lv_minimapX), gv_log.lv_y, c_anchorBottomLeft, 100, 460, true);
  4236.     gv_log.lv_minimapDialog[lp_integer] = DialogLastCreated();
  4237.     DialogSetVisible(DialogLastCreated(), PlayerGroupAll(), false);
  4238.     DialogSetImageVisible(DialogLastCreated(), false);
  4239.     libNtve_gf_CreateDialogItemImage(DialogLastCreated(), FixedToInt(lv_minimapX), gv_log.lv_y, c_anchorCenter, 0, 0, StringToText(""), "Risk\\RiskRevulsionHistory.tga", c_triggerImageTypeNormal, false, Color(100,100,100), c_triggerBlendModeNormal);
  4240.     UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionPlayableMap(), UnitFilter((1 << c_targetFilterStructure), (1 << (c_targetFilterInvulnerable - 32)), (1 << c_targetFilterPsionic) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), gv_gameInfo.lv_maxBases));
  4241.     for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  4242.         libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 5, 5, c_anchorBottomLeft, 0, 0, StringToText(""), "Assets\\Textures\\white32.dds", c_triggerImageTypeNormal, true, Color(100,100,100), c_triggerBlendModeNormal);
  4243.         DialogControlSetPosition(DialogControlLastCreated(), PlayerGroupAll(), c_anchorBottomLeft, (FixedToInt(gf_getMinimapUnitX(UnitGroupLoopCurrent())) - 0), (FixedToInt(gf_getMinimapUnitY(UnitGroupLoopCurrent())) - 0));
  4244.         libNtve_gf_SetDialogItemColor(DialogControlLastCreated(), gv_player[UnitGetOwner(UnitGroupLoopCurrent())].lv_currentColour, PlayerGroupAll());
  4245.     }
  4246.     UnitGroupLoopEnd();
  4247.     DialogControlSetEnabled(gv_log.lv_mapDI[2], PlayerGroupAll(), true);
  4248. }
  4249.  
  4250. trigger auto_gf_MissionStatement_Trigger = null;
  4251. int auto_gf_MissionStatement_lp_player;
  4252.  
  4253. void gf_MissionStatement (int lp_player) {
  4254.     auto_gf_MissionStatement_lp_player = lp_player;
  4255.  
  4256.     if (auto_gf_MissionStatement_Trigger == null) {
  4257.         auto_gf_MissionStatement_Trigger = TriggerCreate("auto_gf_MissionStatement_TriggerFunc");
  4258.     }
  4259.  
  4260.     TriggerExecute(auto_gf_MissionStatement_Trigger, false, false);
  4261. }
  4262.  
  4263. bool auto_gf_MissionStatement_TriggerFunc (bool testConds, bool runActions) {
  4264.     int lp_player = auto_gf_MissionStatement_lp_player;
  4265.  
  4266.     int init_i;
  4267.  
  4268.     int auto37058D78_ae;
  4269.     int auto37058D78_ai;
  4270.  
  4271.     // Variable Declarations
  4272.     int lv_locPlayer;
  4273.     int lv_locCountry;
  4274.     unitgroup lv_highlightgroups;
  4275.     int[6] lv_mission;
  4276.  
  4277.     // Variable Initialization
  4278.     lv_locPlayer = lp_player;
  4279.     lv_highlightgroups = UnitGroupEmpty();
  4280.     for (init_i = 0; init_i <= 5; init_i += 1) {
  4281.         lv_mission[init_i] = c_invalidObjectiveId;
  4282.     }
  4283.  
  4284.     // Implementation
  4285.     if (((gv_player[lv_locPlayer].lv_win + gv_player[lv_locPlayer].lv_loses) <= 1)) {
  4286.         auto37058D78_ae = gv_gameInfo.lv_maxCountries;
  4287.         auto37058D78_ai = 1;
  4288.         lv_locCountry = 0;
  4289.         for ( ; ( (auto37058D78_ai >= 0 && lv_locCountry <= auto37058D78_ae) || (auto37058D78_ai <= 0 && lv_locCountry >= auto37058D78_ae) ) ; lv_locCountry += auto37058D78_ai ) {
  4290.             if ((UnitGroupCount(gv_country[lv_locCountry].lv_bases, c_unitCountAlive) <= 2) && (UnitGroupCount(UnitGroupFilterPlayer(gv_country[lv_locCountry].lv_bases, lv_locPlayer, 0), c_unitCountAlive) > 0)) {
  4291.                 UnitGroupAddUnitGroup(lv_highlightgroups, UnitGroupFilterPlayer(gv_country[lv_locCountry].lv_bases, lv_locPlayer, 0));
  4292.                 lv_locCountry = (lv_locCountry + 1);
  4293.             }
  4294.  
  4295.         }
  4296.         UnitGroupLoopBegin(lv_highlightgroups);
  4297.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  4298.             CameraPan(lv_locPlayer, UnitGetPosition(UnitGroupLoopCurrent()), 0.0, -1, 10.0, false);
  4299.             libNtve_gf_CreatePingFacingAngle(PlayerGroupSingle(lv_locPlayer), "PingSimple", UnitGetPosition(UnitGroupLoopCurrent()), libNtve_gf_ConvertPlayerColorToColor(PlayerGetColorIndex(lv_locPlayer, false)), 25.0, 270.0);
  4300.         }
  4301.         UnitGroupLoopEnd();
  4302.         ObjectiveCreateForPlayers(StringToText("Produce 4 Marines from a pinged base on the minimap"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(lv_locPlayer));
  4303.         lv_mission[0] = ObjectiveLastCreated();
  4304.         ObjectiveCreateForPlayers(StringToText("Kill the defender of a base in the country to gain income"), StringToText(""), c_objectiveStateHidden, true, PlayerGroupSingle(lv_locPlayer));
  4305.         lv_mission[1] = ObjectiveLastCreated();
  4306.         ObjectiveCreateForPlayers(StringToText("Expand by capturing 2 more countries"), StringToText(""), c_objectiveStateHidden, true, PlayerGroupSingle(lv_locPlayer));
  4307.         lv_mission[2] = ObjectiveLastCreated();
  4308.         ObjectiveCreateForPlayers(StringToText("Press the highlighted Card Button to gain more minerals [ Each enemy base you conquer you gain a card ]"), StringToText(""), c_objectiveStateHidden, true, PlayerGroupSingle(lv_locPlayer));
  4309.         lv_mission[3] = ObjectiveLastCreated();
  4310.         ObjectiveCreateForPlayers(StringToText("Keep playing until someone wins!"), StringToText(""), c_objectiveStateHidden, true, PlayerGroupSingle(lv_locPlayer));
  4311.         lv_mission[4] = ObjectiveLastCreated();
  4312.         while (!(((gv_player[lv_locPlayer].lv_numberOfTrainedUnits >= 4) || (PlayerStatus(lv_locPlayer) == c_playerStatusLeft)))) {
  4313.             Wait(1.0, c_timeGame);
  4314.         }
  4315.         ObjectiveSetState(lv_mission[0], c_objectiveStateCompleted);
  4316.         ObjectiveShow(lv_mission[1], PlayerGroupSingle(lv_locPlayer), true);
  4317.         while (!(((gv_player[lv_locPlayer].lv_countries >= 1) || (PlayerStatus(lv_locPlayer) == c_playerStatusLeft)))) {
  4318.             Wait(1.0, c_timeGame);
  4319.         }
  4320.         ObjectiveSetState(lv_mission[1], c_objectiveStateCompleted);
  4321.         ObjectiveShow(lv_mission[2], PlayerGroupSingle(lv_locPlayer), true);
  4322.         while (!(((gv_player[lv_locPlayer].lv_countries >= 3) || (PlayerStatus(lv_locPlayer) == c_playerStatusLeft)))) {
  4323.             Wait(1.0, c_timeGame);
  4324.         }
  4325.         ObjectiveSetState(lv_mission[2], c_objectiveStateCompleted);
  4326.         ObjectiveShow(lv_mission[3], PlayerGroupSingle(lv_locPlayer), true);
  4327.         while (!(((PlayerGetPropertyInt(lv_locPlayer, c_playerPropCustom) < 3) || (PlayerStatus(lv_locPlayer) == c_playerStatusLeft)))) {
  4328.             Wait(1.0, c_timeGame);
  4329.         }
  4330.         ObjectiveSetState(lv_mission[3], c_objectiveStateCompleted);
  4331.         ObjectiveShow(lv_mission[4], PlayerGroupSingle(lv_locPlayer), true);
  4332.         gf_ChatMessage(1, (TextWithColor(StringExternal("Param/Value/529AEB28"), libNtve_gf_ConvertPlayerColorToColor(1)) + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  4333.         while (!(((TriggerIsEnabled(gt_Refresh) == false) || (PlayerStatus(lv_locPlayer) == c_playerStatusLeft)))) {
  4334.             Wait(1.0, c_timeGame);
  4335.         }
  4336.         ObjectiveSetState(lv_mission[4], c_objectiveStateCompleted);
  4337.         if ((PlayerStatus(lv_locPlayer) == c_playerStatusLeft)) {
  4338.         }
  4339.         else {
  4340.             gf_ChatMessage(1, (TextWithColor(StringExternal("Param/Value/728B4C29"), libNtve_gf_ConvertPlayerColorToColor(1)) + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  4341.         }
  4342.     }
  4343.     else {
  4344.         UnitGroupLoopBegin(UnitGroup("Marine", lv_locPlayer, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  4345.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  4346.             libNtve_gf_CreatePingFacingAngle(PlayerGroupSingle(lv_locPlayer), "PingSimple", UnitGetPosition(UnitGroupLoopCurrent()), libNtve_gf_ConvertPlayerColorToColor(PlayerGetColorIndex(lv_locPlayer, false)), 25.0, 270.0);
  4347.         }
  4348.         UnitGroupLoopEnd();
  4349.     }
  4350.     return true;
  4351. }
  4352.  
  4353. void gf_BankPreload () {
  4354.     // Implementation
  4355. }
  4356.  
  4357. void gf_BankOpen () {
  4358.     // Implementation
  4359.     BankLoad("RiskRevulsionv3", 1);
  4360.     BankOptionSet(BankLastCreated(), c_bankOptionSignature, true);
  4361.     gv_bank.lv_file[1] = BankLastCreated();
  4362.     BankLoad("RiskRevulsionv3", 2);
  4363.     BankOptionSet(BankLastCreated(), c_bankOptionSignature, true);
  4364.     gv_bank.lv_file[2] = BankLastCreated();
  4365.     BankLoad("RiskRevulsionv3", 3);
  4366.     BankOptionSet(BankLastCreated(), c_bankOptionSignature, true);
  4367.     gv_bank.lv_file[3] = BankLastCreated();
  4368.     BankLoad("RiskRevulsionv3", 4);
  4369.     BankOptionSet(BankLastCreated(), c_bankOptionSignature, true);
  4370.     gv_bank.lv_file[4] = BankLastCreated();
  4371.     BankLoad("RiskRevulsionv3", 5);
  4372.     BankOptionSet(BankLastCreated(), c_bankOptionSignature, true);
  4373.     gv_bank.lv_file[5] = BankLastCreated();
  4374.     BankLoad("RiskRevulsionv3", 6);
  4375.     BankOptionSet(BankLastCreated(), c_bankOptionSignature, true);
  4376.     gv_bank.lv_file[6] = BankLastCreated();
  4377.     BankLoad("RiskRevulsionv3", 7);
  4378.     BankOptionSet(BankLastCreated(), c_bankOptionSignature, true);
  4379.     gv_bank.lv_file[7] = BankLastCreated();
  4380.     BankLoad("RiskRevulsionv3", 8);
  4381.     BankOptionSet(BankLastCreated(), c_bankOptionSignature, true);
  4382.     gv_bank.lv_file[8] = BankLastCreated();
  4383.     BankLoad("RiskRevulsionv3", 9);
  4384.     BankOptionSet(BankLastCreated(), c_bankOptionSignature, true);
  4385.     gv_bank.lv_file[9] = BankLastCreated();
  4386.     BankLoad("RiskRevulsionv3", 10);
  4387.     BankOptionSet(BankLastCreated(), c_bankOptionSignature, true);
  4388.     gv_bank.lv_file[10] = BankLastCreated();
  4389.     BankLoad("RiskRevulsionv3", 11);
  4390.     BankOptionSet(BankLastCreated(), c_bankOptionSignature, true);
  4391.     gv_bank.lv_file[11] = BankLastCreated();
  4392.     BankLoad("RiskRevulsionv3", 12);
  4393.     BankOptionSet(BankLastCreated(), c_bankOptionSignature, true);
  4394.     gv_bank.lv_file[12] = BankLastCreated();
  4395. }
  4396.  
  4397. void gf_BankLoad (int lp_player) {
  4398.     // Variable Declarations
  4399.     int lv_i;
  4400.     int lv_i2;
  4401.     int lv_i3;
  4402.     int lv_i4;
  4403.     string lv_playerOverall;
  4404.     string lv_rankingOverall;
  4405.     fixed lv_iTemp;
  4406.     int lv_banned;
  4407.  
  4408.     // Variable Initialization
  4409.     lv_i = 1;
  4410.     lv_i2 = 1;
  4411.     lv_i3 = 1;
  4412.     lv_playerOverall = "";
  4413.     lv_rankingOverall = "";
  4414.  
  4415.     // Implementation
  4416.     if ((BankSectionExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer) == true) && (BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win2) == true) && (BankVerify(gv_bank.lv_file[lp_player]) == true)) {
  4417.         gv_player[lp_player].lv_win = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win2);
  4418.         gv_player[lp_player].lv_loses = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win23);
  4419.         gv_player[lp_player].lv_kills = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win24);
  4420.         gv_player[lp_player].lv_deaths = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win25);
  4421.         gv_player[lp_player].lv_name = BankValueGetAsString(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win252);
  4422.         gv_player[lp_player].lv_currentELO = BankValueGetAsInt(BankLastCreated(), gv_bank.lv_playerELO, gv_bank.lv_playerELO);
  4423.         if ((gv_player[lp_player].lv_currentELO == 0)) {
  4424.             gv_player[lp_player].lv_currentELO = 1000;
  4425.         }
  4426.  
  4427.         if ((BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2522) == true)) {
  4428.             gv_profile.lv_settingsProfileValue[1][lp_player] = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2522);
  4429.         }
  4430.         else {
  4431.             gv_profile.lv_settingsProfileValue[1][lp_player] = 1;
  4432.         }
  4433.         if ((BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2523) == true)) {
  4434.             gv_profile.lv_settingsProfileValue[2][lp_player] = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2523);
  4435.         }
  4436.         else {
  4437.             gv_profile.lv_settingsProfileValue[2][lp_player] = 1;
  4438.         }
  4439.         if ((BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2524) == true)) {
  4440.             gv_profile.lv_settingsProfileValue[3][lp_player] = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2524);
  4441.         }
  4442.         else {
  4443.             gv_profile.lv_settingsProfileValue[3][lp_player] = 1;
  4444.         }
  4445.         if ((BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2529) == true)) {
  4446.             gv_profile.lv_settingsProfileValue[4][lp_player] = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2529);
  4447.         }
  4448.         else {
  4449.             gv_profile.lv_settingsProfileValue[4][lp_player] = 1;
  4450.         }
  4451.         if ((BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2536) == true)) {
  4452.             gv_profile.lv_settingsProfileValue[5][lp_player] = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2536);
  4453.         }
  4454.         else {
  4455.             gv_profile.lv_settingsProfileValue[5][lp_player] = 1;
  4456.         }
  4457.         if ((BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2525) == true)) {
  4458.             gv_profile.lv_achieveUnitValue[1][lp_player] = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2525);
  4459.         }
  4460.         else {
  4461.             gv_profile.lv_achieveUnitValue[1][lp_player] = 0;
  4462.         }
  4463.         if ((BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2526) == true)) {
  4464.             gv_profile.lv_achieveUnitValue[2][lp_player] = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2526);
  4465.         }
  4466.         else {
  4467.             gv_profile.lv_achieveUnitValue[2][lp_player] = 0;
  4468.         }
  4469.         if ((BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2527) == true)) {
  4470.             gv_profile.lv_achieveUnitValue[3][lp_player] = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2527);
  4471.         }
  4472.         else {
  4473.             gv_profile.lv_achieveUnitValue[3][lp_player] = 0;
  4474.         }
  4475.         if ((BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2528) == true)) {
  4476.             gv_profile.lv_achieveUnitValue[4][lp_player] = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2528);
  4477.         }
  4478.         else {
  4479.             gv_profile.lv_achieveUnitValue[4][lp_player] = 0;
  4480.         }
  4481.         if ((BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2530) == true)) {
  4482.             gv_profile.lv_achieveUnitValue[5][lp_player] = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2530);
  4483.         }
  4484.         else {
  4485.             gv_profile.lv_achieveUnitValue[5][lp_player] = 0;
  4486.         }
  4487.         if ((BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2532) == true)) {
  4488.             gv_profile.lv_achieveUnitValue[6][lp_player] = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2532);
  4489.         }
  4490.         else {
  4491.             gv_profile.lv_achieveUnitValue[6][lp_player] = 0;
  4492.         }
  4493.         if ((BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2533) == true)) {
  4494.             gv_profile.lv_achieveUnitValue[7][lp_player] = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2533);
  4495.         }
  4496.         else {
  4497.             gv_profile.lv_achieveUnitValue[7][lp_player] = 0;
  4498.         }
  4499.         if ((BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2534) == true)) {
  4500.             gv_profile.lv_achieveUnitValue[8][lp_player] = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2534);
  4501.         }
  4502.         else {
  4503.             gv_profile.lv_achieveUnitValue[8][lp_player] = 0;
  4504.         }
  4505.         if ((BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2531) == true)) {
  4506.             gv_player[lp_player].lv_playedTutorial = BankValueGetAsFlag(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2531);
  4507.         }
  4508.         else {
  4509.             gv_player[lp_player].lv_playedTutorial = false;
  4510.         }
  4511.         if ((BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2535) == true)) {
  4512.             gv_profile.lv_achieveDonateValue[lp_player] = BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2535);
  4513.         }
  4514.         else {
  4515.             gv_profile.lv_achieveDonateValue[lp_player] = 0;
  4516.         }
  4517.         BankSectionRemove(gv_bank.lv_file[lp_player], "978125");
  4518.         BankSectionRemove(gv_bank.lv_file[lp_player], "978126");
  4519.     }
  4520.     else {
  4521.         if ((BankSectionExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer) == false) && (BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win2) == false)) {
  4522.             gv_gameInfo.lv_newbInGame = true;
  4523.         }
  4524.         else {
  4525.             if ((BankSectionExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer) == true) && (BankKeyExists(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win2) == true) && (BankVerify(gv_bank.lv_file[lp_player]) == false)) {
  4526.                 DialogCreate(500, 120, c_anchorTopLeft, 0, 0, true);
  4527.                 DialogSetImageVisible(DialogLastCreated(), false);
  4528.                 libNtve_gf_CreateDialogItemImage(DialogLastCreated(), DialogGetWidth(DialogLastCreated()), DialogGetHeight(DialogLastCreated()), c_anchorTop, 0, 0, StringToText(""), "Assets\\Textures\\ui_camapaignmenu_dialogbox_base.dds", c_triggerImageTypeHorizontalBorder, false, Color(100,100,100), c_triggerBlendModeNormal);
  4529.                 libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 500, 50, c_anchorTop, 20, 20, StringToText("Error! Your Bank file is corrupted. Please go to risk.udmod.com with this replay!"), ColorWithAlpha(0,0,0,0), false, 2.0);
  4530.                 libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 500, 50, c_anchorTopLeft, 20, 65, StringToText((IntToString(BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win2)) + " :: " + IntToString(BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win23)) + " ")), ColorWithAlpha(0,0,0,0), false, 2.0);
  4531.                 libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 500, 50, c_anchorTopLeft, 20, 90, StringToText((IntToString(BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win24)) + " :: " + IntToString(BankValueGetAsInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win25)) + " ")), ColorWithAlpha(0,0,0,0), false, 2.0);
  4532.                 DialogSetVisible(DialogLastCreated(), PlayerGroupSingle(lp_player), true);
  4533.                 BankRemove(gv_bank.lv_file[lp_player]);
  4534.                 GameOver(lp_player, c_gameOverTie, false, true);
  4535.             }
  4536.  
  4537.         }
  4538.     }
  4539. }
  4540.  
  4541. void gf_BankSave (int lp_player, bool lp_leaving) {
  4542.     // Variable Declarations
  4543.     int lv_i;
  4544.     string lv_tempOverall;
  4545.     string lv_tempOverall2;
  4546.     string lv_tempOverall3;
  4547.     string lv_mainOverall;
  4548.  
  4549.     // Variable Initialization
  4550.     lv_i = 1;
  4551.     lv_tempOverall = "";
  4552.     lv_tempOverall2 = "";
  4553.     lv_tempOverall3 = "";
  4554.     lv_mainOverall = "";
  4555.  
  4556.     // Implementation
  4557.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win2, gv_player[lp_player].lv_win);
  4558.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win23, gv_player[lp_player].lv_loses);
  4559.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win24, gv_player[lp_player].lv_kills);
  4560.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win25, gv_player[lp_player].lv_deaths);
  4561.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2522, gv_profile.lv_settingsProfileValue[1][lp_player]);
  4562.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2523, gv_profile.lv_settingsProfileValue[2][lp_player]);
  4563.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2524, gv_profile.lv_settingsProfileValue[3][lp_player]);
  4564.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2529, gv_profile.lv_settingsProfileValue[4][lp_player]);
  4565.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2536, gv_profile.lv_settingsProfileValue[5][lp_player]);
  4566.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2525, gv_profile.lv_achieveUnitValue[1][lp_player]);
  4567.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2526, gv_profile.lv_achieveUnitValue[2][lp_player]);
  4568.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2527, gv_profile.lv_achieveUnitValue[3][lp_player]);
  4569.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2528, gv_profile.lv_achieveUnitValue[4][lp_player]);
  4570.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2530, gv_profile.lv_achieveUnitValue[5][lp_player]);
  4571.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2532, gv_profile.lv_achieveUnitValue[6][lp_player]);
  4572.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2533, gv_profile.lv_achieveUnitValue[7][lp_player]);
  4573.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2534, gv_profile.lv_achieveUnitValue[8][lp_player]);
  4574.     BankValueSetFromFlag(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2531, gv_player[lp_player].lv_playedTutorial);
  4575.     BankValueSetFromInt(gv_bank.lv_file[lp_player], gv_bank.lv_sectionSettingAchieve, gv_bank.lv_Win2535, gv_profile.lv_achieveDonateValue[lp_player]);
  4576.     BankValueSetFromString(gv_bank.lv_file[lp_player], gv_bank.lv_sectionPlayer, gv_bank.lv_Win252, gv_player[lp_player].lv_name);
  4577.     BankOptionSet(gv_bank.lv_file[lp_player], c_bankOptionSignature, true);
  4578.     BankSave(gv_bank.lv_file[lp_player]);
  4579. }
  4580.  
  4581. void gf_BankHackerDetected (int lp_player) {
  4582.     // Implementation
  4583.     gf_ChatMessage(lp_player, (StringToText("<c val=\"FF0000\">Bank Error!</c> - ") + IntToText(gv_player[lp_player].lv_win) + IntToText(0) + IntToText(gv_player[lp_player].lv_loses) + IntToText(0) + IntToText(gv_player[lp_player].lv_kills) + IntToText(0) + IntToText(gv_player[lp_player].lv_deaths)), 1);
  4584.     gv_player[lp_player].lv_win = 0;
  4585.     gv_player[lp_player].lv_loses = 0;
  4586.     gv_player[lp_player].lv_kills = 0;
  4587.     gv_player[lp_player].lv_deaths = 0;
  4588.     if ((gv_gameInfo.lv_ranked == ge_Ranked_Enabled)) {
  4589.         gv_player[lp_player].lv_loses = 1;
  4590.     }
  4591.  
  4592.     gf_BankSave(lp_player, false);
  4593. }
  4594.  
  4595. void gf_BankIDList (int lp_player) {
  4596.     // Variable Declarations
  4597.     int lv_i;
  4598.  
  4599.     // Variable Initialization
  4600.     lv_i = 1;
  4601.  
  4602.     // Implementation
  4603.     gv_player[lp_player].lv_iDStatus = ge_PlayerStatus_Normal;
  4604.     while ((lv_i <= gv_bank.lv_iDListMax)) {
  4605.         if ((gv_bank.lv_iDList[lv_i] == PlayerHandle(lp_player))) {
  4606.             if ((PlayerHandle(PlayerGroupLoopCurrent()) == gv_bank.lv_iDList[lv_i])) {
  4607.                 if ((gv_bank.lv_iDStatus[lv_i] == ge_PlayerStatus_Admin)) {
  4608.                     gv_player[lp_player].lv_iDStatus = ge_PlayerStatus_Admin;
  4609.                     gv_player[lp_player].lv_flagImage = gv_bank.lv_iDFlagImage[lv_i];
  4610.                     gv_player[lp_player].lv_flagTexture = gv_bank.lv_iDFlagTexture[lv_i];
  4611.                 }
  4612.  
  4613.                 if ((gv_bank.lv_iDStatus[lv_i] == ge_PlayerStatus_DonatorLvl1)) {
  4614.                     gv_player[lp_player].lv_iDStatus = ge_PlayerStatus_DonatorLvl1;
  4615.                 }
  4616.  
  4617.                 if ((gv_bank.lv_iDStatus[lv_i] == ge_PlayerStatus_DonatorLvl2)) {
  4618.                     gv_player[lp_player].lv_iDStatus = ge_PlayerStatus_DonatorLvl2;
  4619.                 }
  4620.  
  4621.                 if ((gv_bank.lv_iDStatus[lv_i] == ge_PlayerStatus_DonatorLvl3)) {
  4622.                     gv_player[lp_player].lv_iDStatus = ge_PlayerStatus_DonatorLvl3;
  4623.                 }
  4624.  
  4625.                 if ((gv_bank.lv_iDStatus[lv_i] == ge_PlayerStatus_DonatorLvl4)) {
  4626.                     gv_player[lp_player].lv_iDStatus = ge_PlayerStatus_DonatorLvl4;
  4627.                     gv_player[lp_player].lv_flagImage = gv_bank.lv_iDFlagImage[lv_i];
  4628.                     gv_player[lp_player].lv_flagTexture = gv_bank.lv_iDFlagTexture[lv_i];
  4629.                 }
  4630.  
  4631.                 if ((gv_bank.lv_iDStatus[lv_i] == ge_PlayerStatus_Banned)) {
  4632.                     gv_player[lp_player].lv_iDStatus = ge_PlayerStatus_Banned;
  4633.                 }
  4634.  
  4635.             }
  4636.  
  4637.         }
  4638.  
  4639.         lv_i = (lv_i + 1);
  4640.     }
  4641. }
  4642.  
  4643. void gf_AddUnitEntersUnitRegionEvent (trigger lp_trigger, region lp_region) {
  4644.     // Implementation
  4645.     TriggerAddEventUnitRegion (lp_trigger, null, lp_region, true);
  4646. }
  4647.  
  4648. void gf_setCustomValueOfUnit (unit lp_unit, int lp_integer) {
  4649.     // Implementation
  4650.     UnitSetCustomValue(lp_unit, 11, IntToFixed(lp_integer));
  4651.     UnitSetCustomValue(lp_unit, 10, UnitGetCustomValue(gv_base[lp_integer].lv_base, 10));
  4652. }
  4653.  
  4654. bool gf_ApprovedName (string lp_string) {
  4655.     // Variable Declarations
  4656.     bool lv_bool;
  4657.  
  4658.     // Variable Initialization
  4659.  
  4660.     // Implementation
  4661.     if (((StringLength(lp_string) >= 3) && (StringLength(lp_string) <= 12)) && (StringContains(lp_string, " ", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "`", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "~", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "1", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "!", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "2", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "@", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "3", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "#", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "4", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "$", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "5", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "%", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "6", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "^", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "7", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "&", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "8", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "*", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "9", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "(", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "0", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, ")", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "-", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "_", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "=", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "+", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "[", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "{", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "]", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "}", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "\\", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "|", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, ";", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, ":", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "'", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "\"", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, ",", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "<", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, ".", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, ">", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "/", c_stringAnywhere, c_stringCase) == false) && (StringContains(lp_string, "?", c_stringAnywhere, c_stringCase) == false)) {
  4662.         lv_bool = true;
  4663.     }
  4664.     else {
  4665.         lv_bool = false;
  4666.     }
  4667.     return lv_bool;
  4668. }
  4669.  
  4670. fixed gf_getMinimapUnitX (unit lp_unit) {
  4671.     // Variable Declarations
  4672.     fixed lv_mapWidth;
  4673.     fixed lv_miniWidth;
  4674.     fixed lv_mapPosX;
  4675.  
  4676.     // Variable Initialization
  4677.     lv_mapWidth = libNtve_gf_WidthOfRegion(RegionEntireMap());
  4678.     lv_miniWidth = DialogGetWidth(gv_log.lv_minimapDialog[0]);
  4679.     lv_mapPosX = PointGetX(UnitGetPosition(lp_unit));
  4680.  
  4681.     // Implementation
  4682.     return ((lv_mapPosX * lv_miniWidth) / lv_mapWidth);
  4683. }
  4684.  
  4685. fixed gf_getMinimapUnitY (unit lp_unit) {
  4686.     // Variable Declarations
  4687.     fixed lv_mapHeight;
  4688.     fixed lv_miniHeight;
  4689.     fixed lv_mapPosY;
  4690.  
  4691.     // Variable Initialization
  4692.     lv_mapHeight = libNtve_gf_HeightOfRegion(RegionEntireMap());
  4693.     lv_miniHeight = DialogGetHeight(gv_log.lv_minimapDialog[0]);
  4694.     lv_mapPosY = PointGetY(UnitGetPosition(lp_unit));
  4695.  
  4696.     // Implementation
  4697.     return ((lv_mapPosY * lv_miniHeight) / lv_mapHeight);
  4698. }
  4699.  
  4700. int gf_getPoints (int lp_player) {
  4701.     // Variable Declarations
  4702.     fixed lv_points;
  4703.  
  4704.     // Variable Initialization
  4705.  
  4706.     // Implementation
  4707.     lv_points = (((IntToFixed(gv_player[lp_player].lv_win) / IntToFixed(gv_player[lp_player].lv_loses)) + (IntToFixed(gv_player[lp_player].lv_kills) / IntToFixed(gv_player[lp_player].lv_deaths))) * 1000.0);
  4708.     return FixedToInt(lv_points);
  4709. }
  4710.  
  4711. int gf_getCustomUnitValue (unit lp_unit, int lp_integer) {
  4712.     // Implementation
  4713.     return FixedToInt(UnitGetCustomValue(lp_unit, lp_integer));
  4714. }
  4715.  
  4716. int gf_getNextActivePlayer (int lp_player, bool lp_bool) {
  4717.     // Variable Declarations
  4718.     int lv_nextPlayer;
  4719.     bool lv_bool;
  4720.  
  4721.     // Variable Initialization
  4722.     lv_nextPlayer = lp_player;
  4723.  
  4724.     // Implementation
  4725.     while ((lv_bool == false)) {
  4726.         if ((lv_nextPlayer > gv_gameInfo.lv_maxPlayers)) {
  4727.             lv_nextPlayer = 1;
  4728.         }
  4729.         else {
  4730.             lv_nextPlayer = (lv_nextPlayer + 1);
  4731.         }
  4732.         if ((PlayerGroupHasPlayer(gf_returnPlayerGroup(PlayerGroupAll(), true, lp_bool, false), lv_nextPlayer) == true)) {
  4733.             return lv_nextPlayer;
  4734.         }
  4735.  
  4736.     }
  4737.     return lv_nextPlayer;
  4738. }
  4739.  
  4740. playergroup gf_returnPlayerGroup (playergroup lp_playergrp, bool lp_bool_users, bool lp_bool_npc, bool lp_bool_spectators) {
  4741.     // Variable Declarations
  4742.     playergroup lv_plrgrp;
  4743.  
  4744.     // Variable Initialization
  4745.     lv_plrgrp = PlayerGroupEmpty();
  4746.  
  4747.     // Implementation
  4748.     PlayerGroupLoopBegin(lp_playergrp);
  4749.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  4750.         if ((lp_bool_npc == true) && (PlayerType(PlayerGroupLoopCurrent()) == c_playerTypeComputer) && (PlayerGroupLoopCurrent() != 0)) {
  4751.             PlayerGroupAdd(lv_plrgrp, PlayerGroupLoopCurrent());
  4752.         }
  4753.  
  4754.         if ((lp_bool_users == true) && (PlayerType(PlayerGroupLoopCurrent()) == c_playerTypeUser) && (PlayerStatus(PlayerGroupLoopCurrent()) != c_playerStatusUnused) && (PlayerStatus(PlayerGroupLoopCurrent()) != c_playerStatusLeft)) {
  4755.             PlayerGroupAdd(lv_plrgrp, PlayerGroupLoopCurrent());
  4756.         }
  4757.  
  4758.         if ((lp_bool_spectators == true) && (PlayerType(PlayerGroupLoopCurrent()) == c_playerTypeSpectator)) {
  4759.             PlayerGroupAdd(lv_plrgrp, PlayerGroupLoopCurrent());
  4760.         }
  4761.  
  4762.     }
  4763.     PlayerGroupLoopEnd();
  4764.     return lv_plrgrp;
  4765. }
  4766.  
  4767. bool gf_PlayerMeetsCondition (int lp_player, bool lp_bool_users, bool lp_bool_npc, bool lp_bool_spectators) {
  4768.     // Variable Declarations
  4769.     playergroup lv_plrgrp;
  4770.  
  4771.     // Variable Initialization
  4772.     lv_plrgrp = PlayerGroupEmpty();
  4773.  
  4774.     // Implementation
  4775.     if ((lp_bool_npc == true) && (PlayerType(lp_player) == c_playerTypeComputer) && (lp_player != 0)) {
  4776.         return true;
  4777.     }
  4778.  
  4779.     if ((lp_bool_users == true) && (PlayerType(lp_player) == c_playerTypeUser) && (PlayerStatus(lp_player) == c_playerStatusActive)) {
  4780.         return true;
  4781.     }
  4782.  
  4783.     if ((lp_bool_spectators == true) && (PlayerType(PlayerGroupLoopCurrent()) == c_playerTypeSpectator)) {
  4784.         return true;
  4785.     }
  4786.  
  4787.     return false;
  4788. }
  4789.  
  4790. unit gf_PrioritizeDefender (unit lp_attacker_Unit, fixed lp_radius) {
  4791.     // Variable Declarations
  4792.     int lv_i;
  4793.     unitgroup lv_unitGroup;
  4794.     int lv_iD_UnitPriorizationType;
  4795.     int lv_temp;
  4796.     unit lv_unit;
  4797.  
  4798.     // Variable Initialization
  4799.     lv_unitGroup = UnitGroupEmpty();
  4800.     lv_iD_UnitPriorizationType = 1000;
  4801.  
  4802.     // Implementation
  4803.     libNtve_gf_AddUnitGroupToUnitGroup(UnitGroup(null, UnitGetOwner(lp_attacker_Unit), RegionCircle(UnitGetPosition(lp_attacker_Unit), lp_radius), UnitFilter(0, 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile) | (1 << c_targetFilterDestructible), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 0), lv_unitGroup);
  4804.     UnitGroupLoopBegin(lv_unitGroup);
  4805.     for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  4806.         if ((UnitHasBehavior(UnitGroupLoopCurrent(), "Defender") == true)) {
  4807.             UnitGroupRemove(lv_unitGroup, UnitGroupLoopCurrent());
  4808.         }
  4809.  
  4810.     }
  4811.     UnitGroupLoopEnd();
  4812.     lv_unitGroup = gf_getUnitsSortedByPrioritization(UnitGetOwner(lp_attacker_Unit), lv_unitGroup);
  4813.     UnitGroupLoopBegin(lv_unitGroup);
  4814.     for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  4815.     }
  4816.     UnitGroupLoopEnd();
  4817.     lv_unit = gf_getUnitSortedByHealth(UnitGetOwner(lp_attacker_Unit), lv_unitGroup);
  4818.     return lv_unit;
  4819. }
  4820.  
  4821. unitgroup gf_getUnitsSortedByPrioritization (int lp_player, unitgroup lp_unitGroupParam) {
  4822.     // Variable Declarations
  4823.     unitgroup lv_unitGroup;
  4824.     int lv_iD_UnitPriorizationType;
  4825.     int lv_temp;
  4826.  
  4827.     // Variable Initialization
  4828.     lv_unitGroup = lp_unitGroupParam;
  4829.     lv_iD_UnitPriorizationType = -1;
  4830.  
  4831.     // Implementation
  4832.     if ((gv_profile.lv_settingsProfileValue[1][lp_player] == 1)) {
  4833.         lv_iD_UnitPriorizationType = 1000;
  4834.         UnitGroupLoopBegin(lv_unitGroup);
  4835.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  4836.             lv_temp = gf_getPriorizationValueOfUnitType(UnitGroupLoopCurrent());
  4837.             if ((lv_temp < lv_iD_UnitPriorizationType)) {
  4838.                 lv_iD_UnitPriorizationType = lv_temp;
  4839.             }
  4840.  
  4841.         }
  4842.         UnitGroupLoopEnd();
  4843.     }
  4844.     else if ((gv_profile.lv_settingsProfileValue[1][lp_player] == 2)) {
  4845.         lv_iD_UnitPriorizationType = 0;
  4846.         UnitGroupLoopBegin(lv_unitGroup);
  4847.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  4848.             lv_temp = gf_getPriorizationValueOfUnitType(UnitGroupLoopCurrent());
  4849.             if ((lv_temp > lv_iD_UnitPriorizationType)) {
  4850.                 lv_iD_UnitPriorizationType = lv_temp;
  4851.             }
  4852.  
  4853.         }
  4854.         UnitGroupLoopEnd();
  4855.     }
  4856.     UnitGroupLoopBegin(lv_unitGroup);
  4857.     for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  4858.         if ((lv_iD_UnitPriorizationType == -1)) {
  4859.         }
  4860.         else if ((UnitGetType(UnitGroupLoopCurrent()) != gv_gameInfo.lv_unitType_Priorization[0][lv_iD_UnitPriorizationType])) {
  4861.             UnitGroupRemove(lv_unitGroup, UnitGroupLoopCurrent());
  4862.         }
  4863.     }
  4864.     UnitGroupLoopEnd();
  4865.     UnitGroupLoopBegin(lv_unitGroup);
  4866.     for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  4867.     }
  4868.     UnitGroupLoopEnd();
  4869.     return lv_unitGroup;
  4870. }
  4871.  
  4872. unit gf_getUnitSortedByHealth (int lp_player, unitgroup lp_unitGroup) {
  4873.     // Variable Declarations
  4874.     fixed lv_life;
  4875.     unit lv_unit;
  4876.  
  4877.     // Variable Initialization
  4878.     lv_life = 10000.0;
  4879.  
  4880.     // Implementation
  4881.     if ((gv_profile.lv_settingsProfileValue[2][lp_player] == 1)) {
  4882.         lv_life = 100000.0;
  4883.         UnitGroupLoopBegin(lp_unitGroup);
  4884.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  4885.             if ((UnitGetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropLife, c_unitPropCurrent) < lv_life)) {
  4886.                 lv_unit = UnitGroupLoopCurrent();
  4887.                 lv_life = UnitGetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropLife, c_unitPropCurrent);
  4888.             }
  4889.  
  4890.         }
  4891.         UnitGroupLoopEnd();
  4892.         return lv_unit;
  4893.     }
  4894.     else if ((gv_profile.lv_settingsProfileValue[2][lp_player] == 2)) {
  4895.         lv_life = 0.0;
  4896.         UnitGroupLoopBegin(lp_unitGroup);
  4897.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  4898.             if ((UnitGetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropLife, c_unitPropCurrent) > lv_life)) {
  4899.                 lv_unit = UnitGroupLoopCurrent();
  4900.                 lv_life = UnitGetPropertyFixed(UnitGroupLoopCurrent(), c_unitPropLife, c_unitPropCurrent);
  4901.             }
  4902.  
  4903.         }
  4904.         UnitGroupLoopEnd();
  4905.         return lv_unit;
  4906.     }
  4907.     return UnitGroupRandomUnit(lp_unitGroup, c_unitCountAlive);
  4908. }
  4909.  
  4910. int gf_getPriorizationValueOfUnitType (unit lp_unit) {
  4911.     // Variable Declarations
  4912.     int lv_i;
  4913.  
  4914.     // Variable Initialization
  4915.  
  4916.     // Implementation
  4917.     while ((gv_gameInfo.lv_unitType[lv_i] != null)) {
  4918.         if ((UnitGetType(lp_unit) == gv_gameInfo.lv_unitType[lv_i])) {
  4919.             break;
  4920.         }
  4921.  
  4922.         lv_i = (lv_i + 1);
  4923.     }
  4924.     return lv_i;
  4925. }
  4926.  
  4927. bool gf_AnyoneElseHasNationality (int lp_player, int lp_country) {
  4928.     // Variable Declarations
  4929.     playergroup lv_playerGroup;
  4930.  
  4931.     // Variable Initialization
  4932.     lv_playerGroup = gf_returnPlayerGroup(PlayerGroupAll(), true, true, false);
  4933.  
  4934.     // Implementation
  4935.     PlayerGroupRemove(lv_playerGroup, lp_player);
  4936.     PlayerGroupLoopBegin(lv_playerGroup);
  4937.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  4938.         if ((gv_player[PlayerGroupLoopCurrent()].lv_homeCountry == lp_country)) {
  4939.             return true;
  4940.         }
  4941.  
  4942.     }
  4943.     PlayerGroupLoopEnd();
  4944.     return false;
  4945. }
  4946.  
  4947. void gf_RefreshWinCondition () {
  4948.     // Implementation
  4949.     if ((gv_gameInfo.lv_victoryConditionType != ge_WinConditions_Disabled)) {
  4950.         if ((gv_gameInfo.lv_victoryConditionType == ge_WinConditions_Percent)) {
  4951.             gf_RefreshVictoryPercentage();
  4952.         }
  4953.     }
  4954.  
  4955. }
  4956.  
  4957. void gf_RefreshScoreboard (int lp_player, int lp_column, text lp_message) {
  4958.     int autoE71C46EF_val;
  4959.  
  4960.     // Implementation
  4961.     autoE71C46EF_val = lp_column;
  4962.     if (autoE71C46EF_val == ge_ScoreboardColumn_Name) {
  4963.         if ((lp_player != 0) && (gv_player[lp_player].lv_statusValue != ge_Status_Left)) {
  4964.             gv_player[lp_player].lv_nickname = lp_message;
  4965.             libNtve_gf_SetDialogItemText(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_username], TextWithColor(gv_player[lp_player].lv_nickname, gv_player[lp_player].lv_currentColour), PlayerGroupAll());
  4966.         }
  4967.         else {
  4968.             if ((gv_player[lp_player].lv_statusValue == ge_Status_Left)) {
  4969.                 gv_player[lp_player].lv_nickname = lp_message;
  4970.                 libNtve_gf_SetDialogItemText(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_username], TextWithColor(gv_player[lp_player].lv_nickname, Color(50.20, 50.20, 50.20)), PlayerGroupAll());
  4971.             }
  4972.  
  4973.         }
  4974.     }
  4975.     else if (autoE71C46EF_val == ge_ScoreboardColumn_Income) {
  4976.         if ((lp_player != 0) && (gv_player[lp_player].lv_statusValue != ge_Status_Left)) {
  4977.             libNtve_gf_SetDialogItemText(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_income], TextWithColor(IntToText(gv_player[lp_player].lv_income_Current), gv_player[lp_player].lv_currentColour), PlayerGroupAll());
  4978.         }
  4979.         else {
  4980.             if ((gv_player[lp_player].lv_statusValue == ge_Status_Left)) {
  4981.                 libNtve_gf_SetDialogItemText(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_income], TextWithColor(IntToText(gv_player[lp_player].lv_income_Current), Color(50.20, 50.20, 50.20)), PlayerGroupAll());
  4982.             }
  4983.  
  4984.         }
  4985.     }
  4986.     else if (autoE71C46EF_val == ge_ScoreboardColumn_Kills) {
  4987.         libNtve_gf_SetDialogItemText(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_kills], TextWithColor(IntToText(PlayerScoreValueGetAsInt(lp_player, "UnitsKilledCount")), gv_player[lp_player].lv_currentColour), PlayerGroupAll());
  4988.         if ((gv_player[lp_player].lv_statusValue == ge_Status_Left)) {
  4989.             libNtve_gf_SetDialogItemText(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_kills], TextWithColor(IntToText(PlayerScoreValueGetAsInt(lp_player, "UnitsKilledCount")), Color(50.20, 50.20, 50.20)), PlayerGroupAll());
  4990.         }
  4991.  
  4992.     }
  4993.     else if (autoE71C46EF_val == ge_ScoreboardColumn_Death) {
  4994.         libNtve_gf_SetDialogItemText(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_losses], TextWithColor(IntToText(PlayerScoreValueGetAsInt(lp_player, "UnitsLostCount")), gv_player[lp_player].lv_currentColour), PlayerGroupAll());
  4995.         if ((gv_player[lp_player].lv_statusValue == ge_Status_Left)) {
  4996.             libNtve_gf_SetDialogItemText(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_losses], TextWithColor(IntToText(PlayerScoreValueGetAsInt(lp_player, "UnitsLostCount")), Color(50.20, 50.20, 50.20)), PlayerGroupAll());
  4997.         }
  4998.  
  4999.     }
  5000.     else if (autoE71C46EF_val == ge_ScoreboardColumn_Status) {
  5001.         libNtve_gf_SetDialogItemImage(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_status], gv_player[lp_player].lv_statusImage, PlayerGroupAll());
  5002.         libNtve_gf_SetDialogItemTooltip(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_status], StringToText(gv_player[lp_player].lv_statusString), PlayerGroupAll());
  5003.     }
  5004.     else if (autoE71C46EF_val == ge_ScoreboardColumn_Notification) {
  5005.         libNtve_gf_SetDialogItemText(gv_scoreboard.lv_items[gv_scoreboard.lv_getNotificationRow][0], (StringToText("News: ") + lp_message), PlayerGroupAll());
  5006.     }
  5007.     else if (autoE71C46EF_val == ge_ScoreboardColumn_Colour) {
  5008.         gf_SetCurrentColour(lp_player, false);
  5009.         libNtve_gf_SetDialogItemTintColor(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_username], gv_player[lp_player].lv_currentColour, PlayerGroupAll());
  5010.         libNtve_gf_SetDialogItemTintColor(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_income], gv_player[lp_player].lv_currentColour, PlayerGroupAll());
  5011.         libNtve_gf_SetDialogItemTintColor(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_kills], gv_player[lp_player].lv_currentColour, PlayerGroupAll());
  5012.         libNtve_gf_SetDialogItemTintColor(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_losses], gv_player[lp_player].lv_currentColour, PlayerGroupAll());
  5013.     }
  5014.     else if (autoE71C46EF_val == ge_ScoreboardColumn_Gray) {
  5015.         gf_SetCurrentColour(lp_player, true);
  5016.         libNtve_gf_SetDialogItemTintColor(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_username], Color(50.20, 50.20, 50.20), PlayerGroupAll());
  5017.         libNtve_gf_SetDialogItemText(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_income], StringToText("0"), PlayerGroupAll());
  5018.         libNtve_gf_SetDialogItemTintColor(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_income], Color(50.20, 50.20, 50.20), PlayerGroupAll());
  5019.         libNtve_gf_SetDialogItemTintColor(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_kills], Color(50.20, 50.20, 50.20), PlayerGroupAll());
  5020.         libNtve_gf_SetDialogItemTintColor(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_losses], Color(50.20, 50.20, 50.20), PlayerGroupAll());
  5021.     }
  5022.     else {
  5023.     }
  5024. }
  5025.  
  5026. void gf_RefreshAllFlag (int lp_player, int lp_country) {
  5027.     // Implementation
  5028.     if ((gv_profile.lv_achieveDonateValue[lp_player] == 1)) {
  5029.         libNtve_gf_SetDialogItemImage(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_flag], gv_player[lp_player].lv_flagImage, PlayerGroupAll());
  5030.         libNtve_gf_SetDialogItemTooltip(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_flag], PlayerName(lp_player), PlayerGroupAll());
  5031.         gf_ChangeFlagsTexture(lp_player, lp_country);
  5032.         if ((lp_country == 0)) {
  5033.             if ((gv_gameInfo.lv_anonymous == ge_Anonymous_Enabled)) {
  5034.                 gf_ChangeNickName(lp_player, StringToText("Anonymous"));
  5035.             }
  5036.             else {
  5037.                 gf_ChangeNickName(lp_player, PlayerName(lp_player));
  5038.             }
  5039.             DialogControlSetVisible(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_flag], PlayerGroupAll(), false);
  5040.         }
  5041.         else {
  5042.             if ((gv_player[lp_player].lv_showHideNationality == true)) {
  5043.                 if ((gv_gameInfo.lv_anonymous == ge_Anonymous_Enabled)) {
  5044.                     gf_ChangeNickName(lp_player, StringToText("Anonymous"));
  5045.                 }
  5046.                 else {
  5047.                     gf_ChangeNickName(lp_player, PlayerName(lp_player));
  5048.                 }
  5049.             }
  5050.             else {
  5051.                 if ((gv_gameInfo.lv_anonymous == ge_Anonymous_Enabled)) {
  5052.                     gf_ChangeNickName(lp_player, StringToText("Anonymous"));
  5053.                 }
  5054.                 else {
  5055.                     gf_ChangeNickName(lp_player, PlayerName(lp_player));
  5056.                 }
  5057.             }
  5058.         }
  5059.     }
  5060.     else {
  5061.         gv_player[lp_player].lv_homeCountry = lp_country;
  5062.         libNtve_gf_SetDialogItemImage(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_flag], gv_country[lp_country].lv_flagImage, PlayerGroupAll());
  5063.         libNtve_gf_SetDialogItemTooltip(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_flag], StringToText(gv_country[lp_country].lv_name), PlayerGroupAll());
  5064.         gf_ChangeFlagsTexture(lp_player, lp_country);
  5065.         if ((lp_country == 0)) {
  5066.             if ((gv_gameInfo.lv_anonymous == ge_Anonymous_Enabled)) {
  5067.                 gf_ChangeNickName(lp_player, StringToText("Anonymous"));
  5068.             }
  5069.             else {
  5070.                 gf_ChangeNickName(lp_player, PlayerName(lp_player));
  5071.             }
  5072.             DialogControlSetVisible(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_flag], PlayerGroupAll(), false);
  5073.         }
  5074.         else {
  5075.             if ((gv_player[lp_player].lv_showHideNationality == true)) {
  5076.                 if ((gv_gameInfo.lv_anonymous == ge_Anonymous_Enabled)) {
  5077.                     gf_ChangeNickName(lp_player, StringToText(gv_country[lp_country].lv_name));
  5078.                 }
  5079.                 else {
  5080.                     gf_ChangeNickName(lp_player, PlayerName(lp_player));
  5081.                 }
  5082.             }
  5083.             else {
  5084.                 if ((gv_gameInfo.lv_anonymous == ge_Anonymous_Enabled)) {
  5085.                     gf_ChangeNickName(lp_player, StringToText("Anonymous"));
  5086.                 }
  5087.                 else {
  5088.                     gf_ChangeNickName(lp_player, PlayerName(lp_player));
  5089.                 }
  5090.             }
  5091.         }
  5092.     }
  5093. }
  5094.  
  5095. void gf_RefreshPlayerStatus (int lp_player, int lp_status) {
  5096.     // Variable Declarations
  5097.     int lv_i;
  5098.  
  5099.     // Variable Initialization
  5100.  
  5101.     // Implementation
  5102.     gv_player[lp_player].lv_statusValue = lp_status;
  5103.     if ((lp_status == ge_Status_Left)) {
  5104.         gf_RefreshScoreboard(lp_player, ge_ScoreboardColumn_Gray, StringToText(""));
  5105.         gv_player[lp_player].lv_statusString = "Left";
  5106.         gv_player[lp_player].lv_statusImage = "Risk\\Inactive.dds";
  5107.     }
  5108.     else if ((lp_status == ge_Status_Dead)) {
  5109.         gv_player[lp_player].lv_statusString = "Dead";
  5110.         gv_player[lp_player].lv_statusImage = "Risk\\Busy.dds";
  5111.         gf_BankSave(lp_player, true);
  5112.     }
  5113.     else if ((lp_status == ge_Status_AFKAwayfromkeyboard)) {
  5114.         gv_player[lp_player].lv_statusString = "AFK";
  5115.     }
  5116.     else if ((lp_status == ge_Status_Active)) {
  5117.         gv_player[lp_player].lv_statusString = "Active";
  5118.         gv_player[lp_player].lv_statusImage = "Risk\\Active.dds";
  5119.         gv_player[lp_player].lv_statusImage = "Risk\\Active.dds";
  5120.     }
  5121.     else if ((lp_status == ge_Status_Winner)) {
  5122.         if ((gv_gameInfo.lv_ranked == ge_Ranked_Enabled)) {
  5123.             gv_player[lp_player].lv_statusImage = "Risk\\Active.dds";
  5124.             gv_player[lp_player].lv_loses = (gv_player[lp_player].lv_loses - 1);
  5125.             gv_player[lp_player].lv_win = (gv_player[lp_player].lv_win + 1);
  5126.             gf_BankSave(lp_player, true);
  5127.             gf_InfoPanelUpdateStatsAchievements();
  5128.         }
  5129.  
  5130.     }
  5131. }
  5132.  
  5133. void gf_RefreshTimeInfo (int lp_genericGameInformation) {
  5134.     // Variable Declarations
  5135.     int lv__23;
  5136.  
  5137.     // Variable Initialization
  5138.  
  5139.     // Implementation
  5140.     if ((lp_genericGameInformation == ge_GenericGameInformation_Time)) {
  5141.         gv_gameInfo.lv_currentTime = (gv_gameInfo.lv_currentTime + 1);
  5142.     }
  5143.     else if ((lp_genericGameInformation == ge_GenericGameInformation_Turn)) {
  5144.         gv_gameInfo.lv_turns = (gv_gameInfo.lv_turns + 1);
  5145.     }
  5146. }
  5147.  
  5148. void gf_RefreshIncome () {
  5149.     // Variable Declarations
  5150.     int lv__23;
  5151.     int lv_calc;
  5152.     playergroup lv_playergroup;
  5153.     int[15] lv_firstturn;
  5154.  
  5155.     // Variable Initialization
  5156.     lv__23 = 1;
  5157.     lv_playergroup = gf_returnPlayerGroup(PlayerGroupAll(), true, true, false);
  5158.  
  5159.     // Implementation
  5160.     PlayerGroupLoopBegin(lv_playergroup);
  5161.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  5162.         gv_player[PlayerGroupLoopCurrent()].lv_income_Previous = gv_player[PlayerGroupLoopCurrent()].lv_income_Current;
  5163.         gv_player[PlayerGroupLoopCurrent()].lv_income_Current = 4;
  5164.     }
  5165.     PlayerGroupLoopEnd();
  5166.     while ((lv__23 <= gv_gameInfo.lv_maxCountries)) {
  5167.         if ((gv_country[lv__23].lv_owner != 0)) {
  5168.             gv_player[gv_country[lv__23].lv_owner].lv_income_Current = (gv_player[gv_country[lv__23].lv_owner].lv_income_Current + gv_country[lv__23].lv_income);
  5169.             TextTagCreate((StringToText("<img path=\"Assets\\Textures\\icon-energy-nobg.dds\" width=\"27\" height=\"27\"/> ") + IntToText(gv_country[lv__23].lv_income)), 20, UnitGetPosition(gv_country[lv__23].lv_spawnStructure), 1.75, true, false, PlayerGroupSingle(gv_country[lv__23].lv_owner));
  5170.             TextTagSetColor(TextTagLastCreated(), c_textTagColorText, Color(45.88, 87.45, 83.53));
  5171.             TextTagSetFontSize(TextTagLastCreated(), 32);
  5172.             TextTagSetVelocity(TextTagLastCreated(), 0.25, 90.0);
  5173.             TextTagSetTime(TextTagLastCreated(), c_textTagTimeDuration, 10.0);
  5174.         }
  5175.  
  5176.         lv__23 = (lv__23 + 1);
  5177.     }
  5178.     PlayerGroupLoopBegin(lv_playergroup);
  5179.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  5180.         lv_calc = (gv_player[PlayerGroupLoopCurrent()].lv_income_Current - gv_player[PlayerGroupLoopCurrent()].lv_income_Previous);
  5181.         gf_RefreshScoreboard(PlayerGroupLoopCurrent(), ge_ScoreboardColumn_Income, StringToText(""));
  5182.     }
  5183.     PlayerGroupLoopEnd();
  5184. }
  5185.  
  5186. void gf_RefreshAddIncome () {
  5187.     // Variable Declarations
  5188.     int lv__23;
  5189.  
  5190.     // Variable Initialization
  5191.  
  5192.     // Implementation
  5193.     PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false));
  5194.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  5195.         PlayerModifyPropertyInt(PlayerGroupLoopCurrent(), c_playerPropTerrazine, c_playerPropOperAdd, gv_player[PlayerGroupLoopCurrent()].lv_income_Current);
  5196.     }
  5197.     PlayerGroupLoopEnd();
  5198. }
  5199.  
  5200. void gf_RefreshConscriptManager () {
  5201.     // Variable Declarations
  5202.     int lv_i;
  5203.  
  5204.     // Variable Initialization
  5205.     lv_i = 1;
  5206.  
  5207.     // Implementation
  5208.     if ((gv_gameInfo.lv_conscripts == ge_Spawn_Enabled)) {
  5209.         while ((lv_i <= gv_gameInfo.lv_maxCountries)) {
  5210.             gf_RefreshConscriptUnit(lv_i);
  5211.             lv_i = (lv_i + 1);
  5212.         }
  5213.     }
  5214.  
  5215. }
  5216.  
  5217. trigger auto_gf_RefreshConscriptUnit_Trigger = null;
  5218. int auto_gf_RefreshConscriptUnit_lp_country;
  5219.  
  5220. void gf_RefreshConscriptUnit (int lp_country) {
  5221.     auto_gf_RefreshConscriptUnit_lp_country = lp_country;
  5222.  
  5223.     if (auto_gf_RefreshConscriptUnit_Trigger == null) {
  5224.         auto_gf_RefreshConscriptUnit_Trigger = TriggerCreate("auto_gf_RefreshConscriptUnit_TriggerFunc");
  5225.     }
  5226.  
  5227.     TriggerExecute(auto_gf_RefreshConscriptUnit_Trigger, false, false);
  5228. }
  5229.  
  5230. bool auto_gf_RefreshConscriptUnit_TriggerFunc (bool testConds, bool runActions) {
  5231.     int lp_country = auto_gf_RefreshConscriptUnit_lp_country;
  5232.  
  5233.     // Variable Declarations
  5234.     int lv_i;
  5235.     unit lv_unit;
  5236.  
  5237.     // Variable Initialization
  5238.     lv_i = 1;
  5239.     lv_unit = gv_country[lp_country].lv_spawnStructure;
  5240.  
  5241.     // Implementation
  5242.     if ((gv_country[lp_country].lv_owner != 0)) {
  5243.         while ((gv_country[lp_country].lv_owner != 0) && (UnitGroupCount(gv_country[lp_country].lv_spawnGroup, c_unitCountAlive) < gv_country[lp_country].lv_spawnLimit) && (lv_i <= gv_country[lp_country].lv_spawnEachRound)) {
  5244.             PlayerModifyPropertyInt(UnitGetOwner(lv_unit), c_playerPropTerrazine, c_playerPropOperAdd, 1);
  5245.             UnitIssueOrder(lv_unit, Order(AbilityCommand("BarracksTrain2", 0)), c_orderQueueReplace);
  5246.             lv_i = (lv_i + 1);
  5247.             Wait(0.5, c_timeGame);
  5248.         }
  5249.     }
  5250.  
  5251.     return true;
  5252. }
  5253.  
  5254. void gf_RefreshNotification (int lp_player) {
  5255.     // Variable Declarations
  5256.     int lv_i;
  5257.     int lv_totalBase;
  5258.  
  5259.     // Variable Initialization
  5260.     lv_i = 1;
  5261.  
  5262.     // Implementation
  5263.     if ((gv_gameInfo.lv_mode == ge_Mode_Team)) {
  5264.         lv_totalBase = 0;
  5265.         PlayerGroupLoopBegin(PlayerGroupAlliance(c_playerGroupAlly, lp_player));
  5266.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  5267.             lv_totalBase = (lv_totalBase + gv_player[PlayerGroupLoopCurrent()].lv_bases);
  5268.         }
  5269.         PlayerGroupLoopEnd();
  5270.         if ((gv_teamMajority == false) && (lv_totalBase >= gv_gameInfo.lv_gameTeamNotificationAmount)) {
  5271.             gv_teamMajority = true;
  5272.             gf_ChatMessage(lp_player, (StringToText("<c val=\"FF0000\">Warning!</c> - ") + TextWithColor(gv_player[lp_player].lv_nickname, gv_player[lp_player].lv_currentColour) + StringToText("'s team controls ") + IntToText(((lv_totalBase * 100) / gv_gameInfo.lv_maxBases)) + StringToText("% of the map!")), 2);
  5273.         }
  5274.  
  5275.     }
  5276.     else {
  5277.         gv_player[lp_player].lv_over30 = false;
  5278.         if ((gv_player[lp_player].lv_bases >= gv_gameInfo.lv_gameNotificationAmount)) {
  5279.             gf_ChatMessage(lp_player, (StringToText("<c val=\"FF0000\">Warning!</c> - ") + TextWithColor(gv_player[lp_player].lv_nickname, gv_player[lp_player].lv_currentColour) + StringToText(" controls ") + IntToText(((gv_player[lp_player].lv_bases * 100) / gv_gameInfo.lv_maxBases)) + StringToText("% of the map!")), 2);
  5280.             gv_player[lp_player].lv_over30 = true;
  5281.         }
  5282.  
  5283.     }
  5284.     if ((PlayerStatus(lp_player) == c_playerStatusActive) && (UnitGroupCount(UnitGroup(null, lp_player, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) > 0)) {
  5285.         gf_RefreshPlayerStatus(lp_player, ge_Status_Active);
  5286.     }
  5287.     else if ((PlayerStatus(lp_player) == c_playerStatusActive) && (UnitGroupCount(UnitGroup(null, lp_player, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) == 0)) {
  5288.         gf_RefreshPlayerStatus(lp_player, ge_Status_Dead);
  5289.     }
  5290.     else if ((PlayerStatus(lp_player) == c_playerStatusLeft)) {
  5291.         gf_RefreshPlayerStatus(lp_player, ge_Status_Left);
  5292.     }
  5293. }
  5294.  
  5295. trigger auto_gf_RefreshShowBases_Trigger = null;
  5296.  
  5297. void gf_RefreshShowBases () {
  5298.     if (auto_gf_RefreshShowBases_Trigger == null) {
  5299.         auto_gf_RefreshShowBases_Trigger = TriggerCreate("auto_gf_RefreshShowBases_TriggerFunc");
  5300.     }
  5301.  
  5302.     TriggerExecute(auto_gf_RefreshShowBases_Trigger, false, false);
  5303. }
  5304.  
  5305. bool auto_gf_RefreshShowBases_TriggerFunc (bool testConds, bool runActions) {
  5306.     // Variable Declarations
  5307.     int lv_i;
  5308.  
  5309.     // Variable Initialization
  5310.  
  5311.     // Implementation
  5312.     while ((lv_i <= gv_gameInfo.lv_maxBases)) {
  5313.         PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false));
  5314.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  5315.             libNtve_gf_ShareVisionofUnit(gv_base[lv_i].lv_base, true, PlayerGroupLoopCurrent());
  5316.         }
  5317.         PlayerGroupLoopEnd();
  5318.         lv_i = (lv_i + 1);
  5319.     }
  5320.     lv_i = 0;
  5321.     Wait(0.001, c_timeGame);
  5322.     while ((lv_i <= gv_gameInfo.lv_maxBases)) {
  5323.         PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false));
  5324.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  5325.             libNtve_gf_ShareVisionofUnit(gv_base[lv_i].lv_base, false, PlayerGroupLoopCurrent());
  5326.         }
  5327.         PlayerGroupLoopEnd();
  5328.         lv_i = (lv_i + 1);
  5329.     }
  5330.     return true;
  5331. }
  5332.  
  5333. void gf_ChangeNickName (int lp_player, text lp_text) {
  5334.     // Implementation
  5335.     gv_player[lp_player].lv_nickname = lp_text;
  5336. }
  5337.  
  5338. void gf_RandomizePlayerColour () {
  5339.     // Variable Declarations
  5340.     int lv_colourRandomize;
  5341.     bool[14] lv_usedColours;
  5342.     int lv_countPlayers;
  5343.     int[13] lv_playerIndex;
  5344.     int lv_i;
  5345.     int lv_ii;
  5346.  
  5347.     // Variable Initialization
  5348.     lv_i = 1;
  5349.     lv_ii = 1;
  5350.  
  5351.     // Implementation
  5352.     gv_colours[1] = 1;
  5353.     gv_colours[2] = 2;
  5354.     gv_colours[3] = 3;
  5355.     gv_colours[4] = 4;
  5356.     gv_colours[5] = 5;
  5357.     gv_colours[6] = 6;
  5358.     gv_colours[7] = 12;
  5359.     gv_colours[8] = 8;
  5360.     gv_colours[9] = 9;
  5361.     gv_colours[10] = 10;
  5362.     gv_colours[11] = 11;
  5363.     gv_colours[12] = 13;
  5364.     gv_colours[13] = 15;
  5365.     while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  5366.         if ((PlayerStatus(lv_i) == c_playerStatusActive)) {
  5367.             while (true) {
  5368.                 lv_colourRandomize = RandomInt(1, 13);
  5369.                 if ((lv_usedColours[lv_colourRandomize] == false)) {
  5370.                     lv_usedColours[lv_colourRandomize] = true;
  5371.                     gv_player[lv_i].lv_defaultColour = libNtve_gf_ConvertPlayerColorToColor(gv_colours[lv_colourRandomize]);
  5372.                     gv_player[lv_i].lv_currentColour = libNtve_gf_ConvertPlayerColorToColor(gv_colours[lv_colourRandomize]);
  5373.                     gv_player[lv_i].lv_currentColour2 = gv_colours[lv_colourRandomize];
  5374.                     PlayerSetColorIndex(lv_i, 0, true);
  5375.                     break;
  5376.                 }
  5377.  
  5378.             }
  5379.         }
  5380.  
  5381.         lv_i = (lv_i + 1);
  5382.     }
  5383. }
  5384.  
  5385. void gf_SetCurrentColour (int lp_player, bool lp_boolean) {
  5386.     // Implementation
  5387.     if ((lp_boolean == true)) {
  5388.         gv_player[lp_player].lv_currentColour = Color(50.20, 50.20, 50.20);
  5389.     }
  5390.     else {
  5391.         gv_player[lp_player].lv_currentColour = gv_player[lp_player].lv_defaultColour;
  5392.         if ((gv_log.lv_muteDI[lp_player] != c_invalidDialogControlId)) {
  5393.             libNtve_gf_SetDialogItemTooltip(gv_log.lv_muteDI[lp_player], ((StringToText("Mute ") + TextWithColor(PlayerName(lp_player), gv_player[lp_player].lv_currentColour)) + StringToText(" from your chat.")), PlayerGroupAll());
  5394.         }
  5395.  
  5396.     }
  5397. }
  5398.  
  5399. trigger auto_gf_RespawnTree_Trigger = null;
  5400. point auto_gf_RespawnTree_lp_deadTreePosition;
  5401.  
  5402. void gf_RespawnTree (point lp_deadTreePosition) {
  5403.     auto_gf_RespawnTree_lp_deadTreePosition = lp_deadTreePosition;
  5404.  
  5405.     if (auto_gf_RespawnTree_Trigger == null) {
  5406.         auto_gf_RespawnTree_Trigger = TriggerCreate("auto_gf_RespawnTree_TriggerFunc");
  5407.     }
  5408.  
  5409.     TriggerExecute(auto_gf_RespawnTree_Trigger, false, false);
  5410. }
  5411.  
  5412. bool auto_gf_RespawnTree_TriggerFunc (bool testConds, bool runActions) {
  5413.     point lp_deadTreePosition = auto_gf_RespawnTree_lp_deadTreePosition;
  5414.  
  5415.     // Variable Declarations
  5416.     point lv_deadTreePoint;
  5417.  
  5418.     // Variable Initialization
  5419.     lv_deadTreePoint = lp_deadTreePosition;
  5420.  
  5421.     // Implementation
  5422.     Wait(270.0, c_timeReal);
  5423.     UnitCreate(1, "UnbuildableRocksDestructible", c_unitCreateIgnorePlacement, 0, lv_deadTreePoint, libNtve_gf_RandomAngle());
  5424.     return true;
  5425. }
  5426.  
  5427. void gf_BountyAddition (unit lp_untitledParameter001, point lp_dyingPosition, int lp_dying, int lp_killing) {
  5428.     // Variable Declarations
  5429.     unit lv_triggeringUnit;
  5430.  
  5431.     // Variable Initialization
  5432.     lv_triggeringUnit = EventUnit();
  5433.  
  5434.     // Implementation
  5435.     if ((gv_gameInfo.lv_bounty != ge_Bounty_Disabled) && (lp_dying != lp_killing)) {
  5436.         if ((UnitGetType(EventUnit()) == "Marine")) {
  5437.             gv_player[lp_killing].lv_bounty = (gv_player[lp_killing].lv_bounty + 1.0);
  5438.         }
  5439.  
  5440.         if (((UnitGetType(EventUnit()) == "Hercules") || (UnitGetType(EventUnit()) == "Medic"))) {
  5441.             gv_player[lp_killing].lv_bounty = (gv_player[lp_killing].lv_bounty + 2.0);
  5442.         }
  5443.  
  5444.         if ((UnitGetType(EventUnit()) == "Marauder")) {
  5445.             gv_player[lp_killing].lv_bounty = (gv_player[lp_killing].lv_bounty + 3.0);
  5446.         }
  5447.  
  5448.         if (((UnitGetType(EventUnit()) == "VikingFighter") || (UnitGetType(EventUnit()) == "Hellion") || (UnitGetType(EventUnit()) == "Vulture") || (UnitGetType(EventUnit()) == "ScienceVessel"))) {
  5449.             PlayerModifyPropertyInt(lp_killing, c_playerPropTerrazine, c_playerPropOperAdd, 1);
  5450.             TextTagCreate((StringToText("<img path=\"Assets\\Textures\\icon-energy-nobg.dds\" width=\"21\" height=\"21\"/>") + StringToText("1")), 15, lp_dyingPosition, 1.5, true, false, PlayerGroupSingle(lp_killing));
  5451.             TextTagSetColor(TextTagLastCreated(), c_textTagColorText, Color(45.88, 87.45, 83.53));
  5452.             TextTagSetFontSize(TextTagLastCreated(), 24);
  5453.             TextTagSetVelocity(TextTagLastCreated(), 0.25, 90.0);
  5454.             TextTagSetTime(TextTagLastCreated(), c_textTagTimeDuration, 7.0);
  5455.         }
  5456.  
  5457.         if (((UnitGetType(EventUnit()) == "Battlecruiser") || (UnitGetType(EventUnit()) == "Banshee") || (UnitGetType(EventUnit()) == "SiegeTank") || (UnitGetType(EventUnit()) == "SiegeTankSieged"))) {
  5458.             PlayerModifyPropertyInt(lp_killing, c_playerPropTerrazine, c_playerPropOperAdd, 2);
  5459.             TextTagCreate((StringToText("<img path=\"Assets\\Textures\\icon-energy-nobg.dds\" width=\"21\" height=\"21\"/>") + StringToText("2")), 15, lp_dyingPosition, 1.5, true, false, PlayerGroupSingle(lp_killing));
  5460.             TextTagSetColor(TextTagLastCreated(), c_textTagColorText, Color(45.88, 87.45, 83.53));
  5461.             TextTagSetFontSize(TextTagLastCreated(), 24);
  5462.             TextTagSetVelocity(TextTagLastCreated(), 0.25, 90.0);
  5463.             TextTagSetTime(TextTagLastCreated(), c_textTagTimeDuration, 7.0);
  5464.         }
  5465.  
  5466.         if ((gv_player[lp_killing].lv_bounty >= gv_gameInfo.lv_bountyValue)) {
  5467.             PlayerModifyPropertyInt(lp_killing, c_playerPropTerrazine, c_playerPropOperAdd, 1);
  5468.             gv_player[lp_killing].lv_bounty = (gv_player[lp_killing].lv_bounty - gv_gameInfo.lv_bountyValue);
  5469.             TextTagCreate((StringToText("<img path=\"Assets\\Textures\\icon-energy-nobg.dds\" width=\"21\" height=\"21\"/>") + StringToText("1")), 15, lp_dyingPosition, 1.5, true, false, PlayerGroupSingle(lp_killing));
  5470.             TextTagSetColor(TextTagLastCreated(), c_textTagColorText, Color(45.88, 87.45, 83.53));
  5471.             TextTagSetFontSize(TextTagLastCreated(), 24);
  5472.             TextTagSetVelocity(TextTagLastCreated(), 0.25, 90.0);
  5473.             TextTagSetTime(TextTagLastCreated(), c_textTagTimeDuration, 7.0);
  5474.         }
  5475.  
  5476.     }
  5477.  
  5478. }
  5479.  
  5480. void gf_AnonymizeUnit (unit lp_unit) {
  5481.     // Implementation
  5482.     if ((gv_gameInfo.lv_anonymous == ge_Anonymous_Enabled)) {
  5483.         UnitSetInfoText(lp_unit, StringToText(""), StringToText(""), StringToText(""));
  5484.         UnitSetTeamColorIndex(lp_unit, gv_player[UnitGetOwner(lp_unit)].lv_currentColour2);
  5485.     }
  5486.  
  5487. }
  5488.  
  5489. void gf_AnonymizeAllUnit () {
  5490.     // Implementation
  5491.     if ((gv_gameInfo.lv_anonymous == ge_Anonymous_Enabled)) {
  5492.         UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, 0, 0), 0));
  5493.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  5494.             UnitSetInfoText(UnitGroupLoopCurrent(), StringToText(""), StringToText(""), StringToText(""));
  5495.             UnitSetTeamColorIndex(UnitGroupLoopCurrent(), gv_player[UnitGetOwner(UnitGroupLoopCurrent())].lv_currentColour2);
  5496.         }
  5497.         UnitGroupLoopEnd();
  5498.     }
  5499.  
  5500. }
  5501.  
  5502. void gf_ChangeDefender (unit lp_new, unit lp_old) {
  5503.     // Variable Declarations
  5504.     point lv_loc;
  5505.  
  5506.     // Variable Initialization
  5507.     lv_loc = UnitGetPosition(lp_new);
  5508.  
  5509.     // Implementation
  5510.     UnitSetPropertyFixed(lp_new, c_unitPropEnergy, 1.0);
  5511.     UnitSetPosition(lp_old, lv_loc, false);
  5512.     UnitSetPosition(lp_new, gv_base[FixedToInt(UnitGetCustomValue(lp_old, 11))].lv_position, false);
  5513.     UnitBehaviorRemove(lp_old, "Defender", 1);
  5514.     UnitBehaviorAdd(lp_old, "Loadable", lp_old, 1);
  5515.     UnitBehaviorRemove(lp_new, "Loadable", 1);
  5516.     UnitBehaviorAdd(lp_new, "Defender", lp_new, 1);
  5517.     UnitSetCustomValue(lp_new, 11, UnitGetCustomValue(lp_old, 11));
  5518.     UnitSetCustomValue(lp_new, 10, UnitGetCustomValue(lp_old, 10));
  5519.     gv_base[FixedToInt(UnitGetCustomValue(lp_old, 11))].lv_defender = lp_new;
  5520.     UnitSetPropertyFixed(lp_new, c_unitPropLife, (UnitGetPropertyFixed(lp_new, c_unitPropLife, c_unitPropCurrent) - 20.0));
  5521. }
  5522.  
  5523. void gf_ShowHideActorForPlayerGroup (playergroup lp_players, actor lp_actor, bool lp_show) {
  5524.     // Variable Declarations
  5525.     actor lv_agent;
  5526.     playergroup lv_otherPlayers;
  5527.  
  5528.     // Variable Initialization
  5529.     lv_otherPlayers = PlayerGroupActive();
  5530.  
  5531.     // Implementation
  5532.     libNtve_gf_RemovePlayerGroupFromPlayerGroup(lp_players, lv_otherPlayers);
  5533.     UIFlyerHelperOverride(lp_players, libNtve_ge_FlyerHelperDisplay_c_flyerDisplayAll);
  5534.     UIFlyerHelperOverride(lv_otherPlayers, libNtve_ge_FlyerHelperDisplay_c_flyerDisplayNone);
  5535.     ActorSend(lp_actor, "Create TriggerPerPlayerActorAgent");
  5536.     lv_agent = ActorFromActor(lp_actor, "::LastCreatedActual");
  5537.     ActorSend(lp_actor, "AliasAdd _TriggerTarget");
  5538.     if ((lp_show == true)) {
  5539.         ActorSend(lv_agent, "Signal Show");
  5540.     }
  5541.     else {
  5542.         ActorSend(lv_agent, "Signal Hide");
  5543.     }
  5544.     ActorSend(lp_actor, "AliasRemove _TriggerTarget");
  5545.     ActorSend(lv_agent, "Destroy");
  5546.     UIFlyerHelperClearOverride(PlayerGroupAll());
  5547. }
  5548.  
  5549. void gf_SetNationality (int lp_player, int lp_country) {
  5550.     // Implementation
  5551.     gv_player[lp_player].lv_homeCountry = lp_country;
  5552.     if ((lp_country == 0)) {
  5553.         gv_player[lp_player].lv_showHideNationality = false;
  5554.     }
  5555.     else {
  5556.         gv_player[lp_player].lv_showHideNationality = true;
  5557.     }
  5558.     if ((gv_gameInfo.lv_anonymous == ge_Anonymous_Enabled)) {
  5559.         if ((gv_player[lp_player].lv_showHideNationality == true)) {
  5560.             gf_ChangeNickName(lp_player, StringToText(gv_country[lp_country].lv_name));
  5561.         }
  5562.         else {
  5563.             gf_ChangeNickName(lp_player, StringToText("Anonymous"));
  5564.         }
  5565.     }
  5566.     else {
  5567.         gf_ChangeNickName(lp_player, PlayerName(lp_player));
  5568.     }
  5569.     if ((lp_country == 0)) {
  5570.         gf_ShowHideAllFlag(lp_player, false);
  5571.         if (((gv_player[lp_player].lv_iDStatus == ge_PlayerStatus_DonatorLvl1) || (gv_player[lp_player].lv_iDStatus == ge_PlayerStatus_DonatorLvl2) || (gv_player[lp_player].lv_iDStatus == ge_PlayerStatus_DonatorLvl3) || (gv_player[lp_player].lv_iDStatus == ge_PlayerStatus_DonatorLvl4))) {
  5572.             DialogControlSetPosition(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_username], PlayerGroupAll(), c_anchorTopLeft, 38, DialogControlGetOffsetY(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_username], 1));
  5573.         }
  5574.         else {
  5575.             DialogControlSetPosition(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_username], PlayerGroupAll(), c_anchorTopLeft, 18, DialogControlGetOffsetY(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_username], 1));
  5576.         }
  5577.         DialogControlSetVisible(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_flag], PlayerGroupAll(), false);
  5578.     }
  5579.     else {
  5580.         gf_ChangeFlagsTexture(lp_player, lp_country);
  5581.         gf_ShowHideAllFlag(lp_player, true);
  5582.         if (((gv_player[lp_player].lv_iDStatus == ge_PlayerStatus_DonatorLvl1) || (gv_player[lp_player].lv_iDStatus == ge_PlayerStatus_DonatorLvl2) || (gv_player[lp_player].lv_iDStatus == ge_PlayerStatus_DonatorLvl3) || (gv_player[lp_player].lv_iDStatus == ge_PlayerStatus_DonatorLvl4))) {
  5583.             DialogControlSetPosition(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_username], PlayerGroupAll(), c_anchorTopLeft, 70, DialogControlGetOffsetY(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_username], 1));
  5584.         }
  5585.         else {
  5586.             DialogControlSetPosition(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_username], PlayerGroupAll(), c_anchorTopLeft, 50, DialogControlGetOffsetY(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_username], 1));
  5587.         }
  5588.         libNtve_gf_SetDialogItemImage(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_flag], gv_country[lp_country].lv_flagImage, PlayerGroupAll());
  5589.         libNtve_gf_SetDialogItemTooltip(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_flag], StringToText(gv_country[lp_country].lv_name), PlayerGroupAll());
  5590.         DialogControlSetVisible(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lp_player]][gv_scoreboard.lv_flag], PlayerGroupAll(), true);
  5591.     }
  5592. }
  5593.  
  5594. void gf_ShowHideAllFlag (int lp_player, bool lp_showHide) {
  5595.     // Implementation
  5596.     gv_player[lp_player].lv_showHideNationality = lp_showHide;
  5597.     UnitGroupLoopBegin(UnitGroupFilterPlayer(gv_gameInfo.lv_flagGroup, lp_player, 0));
  5598.     for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  5599.         libNtve_gf_ShowHideUnit(UnitGroupLoopCurrent(), lp_showHide);
  5600.         gf_ShowHideActorForPlayerGroup(gv_gameInfo.lv_hideFlag, libNtve_gf_MainActorofUnit(UnitGroupLoopCurrent()), false);
  5601.     }
  5602.     UnitGroupLoopEnd();
  5603. }
  5604.  
  5605. void gf_ShowHideIndvFlag (bool lp_showHide, int lp_base) {
  5606.     // Implementation
  5607.     libNtve_gf_ShowHideUnit(gv_base[lp_base].lv_flag, lp_showHide);
  5608.     gf_ShowHideActorForPlayerGroup(gv_gameInfo.lv_hideFlag, libNtve_gf_MainActorofUnit(UnitGroupLoopCurrent()), false);
  5609. }
  5610.  
  5611. void gf_RefreshIndividualFlag (int lp_player, int lp_base) {
  5612.     // Implementation
  5613.     if ((gv_profile.lv_achieveDonateValue[lp_player] == 1)) {
  5614.         ActorSend(libNtve_gf_MainActorofUnit(gv_base[lp_base].lv_flag), libNtve_gf_TextureSelectByID(gv_player[lp_player].lv_flagTexture));
  5615.     }
  5616.     else {
  5617.         ActorSend(libNtve_gf_MainActorofUnit(gv_base[lp_base].lv_flag), libNtve_gf_TextureSelectByID(gv_country[gv_player[lp_player].lv_homeCountry].lv_flagTexture));
  5618.     }
  5619. }
  5620.  
  5621. void gf_ChangeFlagsTexture (int lp_player, int lp_flag_by_country_id) {
  5622.     // Implementation
  5623.     if ((gv_profile.lv_achieveDonateValue[lp_player] == 1)) {
  5624.         UnitGroupLoopBegin(UnitGroupFilterPlayer(gv_gameInfo.lv_flagGroup, lp_player, 0));
  5625.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  5626.             ActorSend(libNtve_gf_MainActorofUnit(UnitGroupLoopCurrent()), libNtve_gf_TextureSelectByID(gv_player[lp_player].lv_flagTexture));
  5627.         }
  5628.         UnitGroupLoopEnd();
  5629.     }
  5630.     else {
  5631.         UnitGroupLoopBegin(UnitGroupFilterPlayer(gv_gameInfo.lv_flagGroup, lp_player, 0));
  5632.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  5633.             ActorSend(libNtve_gf_MainActorofUnit(UnitGroupLoopCurrent()), libNtve_gf_TextureSelectByID(gv_country[gv_player[lp_player].lv_homeCountry].lv_flagTexture));
  5634.         }
  5635.         UnitGroupLoopEnd();
  5636.     }
  5637. }
  5638.  
  5639. void gf_RandomimizeNationality (int lp_player, int lp_country, bool lp_boolean) {
  5640.     // Variable Declarations
  5641.     unit lv_unit;
  5642.  
  5643.     // Variable Initialization
  5644.  
  5645.     // Implementation
  5646.     if ((lp_boolean == true)) {
  5647.         gf_SetNationality(lp_player, lp_country);
  5648.     }
  5649.     else {
  5650.         if ((UnitGroupCount(UnitGroup("SpawnZone", lp_player, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) >= 1)) {
  5651.             UnitGroupLoopBegin(UnitGroup("SpawnZone", lp_player, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  5652.             for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  5653.                 lv_unit = UnitGroupLoopCurrent();
  5654.                 break;
  5655.             }
  5656.             UnitGroupLoopEnd();
  5657.             gf_SetNationality(lp_player, gf_getCustomUnitValue(lv_unit, 10));
  5658.         }
  5659.  
  5660.     }
  5661. }
  5662.  
  5663. void gf_RefreshPauseAndHaloGlow (int lp_player) {
  5664.     // Variable Declarations
  5665.     int lv_i;
  5666.     int lv_temp;
  5667.  
  5668.     // Variable Initialization
  5669.     lv_i = 1;
  5670.  
  5671.     // Implementation
  5672.     PlayerGroupAdd(gv_gameInfo.lv_winParty, lp_player);
  5673.     VisEnable(c_visTypeMask, false);
  5674.     VisEnable(c_visTypeFog, false);
  5675.     UnitPauseAll(true);
  5676.     UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  5677.     for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  5678.         libNtve_gf_MakeUnitUncommandable(UnitGroupLoopCurrent(), true);
  5679.         if ((UnitGetOwner(UnitGroupLoopCurrent()) == lp_player)) {
  5680.             ActorSend(libNtve_gf_MainActorofUnit(UnitGroupLoopCurrent()), "HaloStart");
  5681.             ActorSend(libNtve_gf_MainActorofUnit(UnitGroupLoopCurrent()), "GlowStart");
  5682.             UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("stop", 2)), c_orderQueueReplace);
  5683.         }
  5684.  
  5685.     }
  5686.     UnitGroupLoopEnd();
  5687.     while ((lv_temp <= 12)) {
  5688.         gf_ChangeNickName(0, PlayerName(lv_temp));
  5689.         if ((PlayerStatus(lv_temp) == c_playerStatusActive)) {
  5690.             gf_BankSave(lv_temp, true);
  5691.             if (((gv_player[lv_temp].lv_win + gv_player[lv_temp].lv_loses) >= 10)) {
  5692.                 gv_player[lv_temp].lv_points = gf_getPoints(lv_temp);
  5693.             }
  5694.  
  5695.             if ((gv_player[lv_temp].lv_statusValue == ge_Status_Winner)) {
  5696.             }
  5697.  
  5698.         }
  5699.  
  5700.         lv_temp = (lv_temp + 1);
  5701.     }
  5702.     SoundPlay(SoundLink("TValerian02ASwann00059", -1), PlayerGroupAll(), 100.0, 0.0);
  5703. }
  5704.  
  5705. void gf_RefreshVictoryPercentage () {
  5706.     // Variable Declarations
  5707.     int[13] lv_teamBase;
  5708.     int lv_i;
  5709.  
  5710.     // Variable Initialization
  5711.     lv_i = 1;
  5712.  
  5713.     // Implementation
  5714.     if (((gv_gameInfo.lv_mode == ge_Mode_Quick) || (gv_gameInfo.lv_mode == ge_Mode_Custome))) {
  5715.         while ((lv_i <= 12)) {
  5716.             if (((PlayerType(lv_i) == c_playerTypeUser) && (PlayerStatus(lv_i) == c_playerStatusActive) && ((PlayerGroupCount(gf_returnPlayerGroup(PlayerGroupAll(), true, false, false)) == 1) || (gv_gameInfo.lv_victoryConditionPercentage <= FixedToInt(((((IntToFixed(gv_gameInfo.lv_maxBases) - IntToFixed(gv_player[lv_i].lv_bases)) / IntToFixed(gv_gameInfo.lv_maxBases)) * -100.0) + 100.0)))))) {
  5717.                 gv_gameInfo.lv_gameOver = true;
  5718.                 gf_RefreshPlayerStatus(lv_i, ge_Status_Winner);
  5719.                 TriggerEnable(gt_Refresh, false);
  5720.                 gf_RefreshPauseAndHaloGlow(lv_i);
  5721.                 break;
  5722.             }
  5723.  
  5724.             lv_i = (lv_i + 1);
  5725.         }
  5726.     }
  5727.     else {
  5728.         PlayerGroupLoopBegin(GameAttributePlayersForTeam(1));
  5729.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  5730.             lv_teamBase[1] = (lv_teamBase[1] + gv_player[PlayerGroupLoopCurrent()].lv_bases);
  5731.         }
  5732.         PlayerGroupLoopEnd();
  5733.         PlayerGroupLoopBegin(GameAttributePlayersForTeam(2));
  5734.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  5735.             lv_teamBase[2] = (lv_teamBase[2] + gv_player[PlayerGroupLoopCurrent()].lv_bases);
  5736.         }
  5737.         PlayerGroupLoopEnd();
  5738.         if ((gv_gameInfo.lv_mode == ge_Mode_Team)) {
  5739.             while ((lv_i <= 12)) {
  5740.                 if (((PlayerGroupCount(gf_returnPlayerGroup(PlayerGroupAll(), true, false, false)) == 1) || (gv_gameInfo.lv_teamVictoryConditionPercentage <= FixedToInt(((((IntToFixed(gv_gameInfo.lv_maxBases) - lv_teamBase[lv_i]) / IntToFixed(gv_gameInfo.lv_maxBases)) * -100.0) + 100.0))))) {
  5741.                     gv_gameInfo.lv_gameOver = true;
  5742.                     TriggerEnable(gt_Refresh, false);
  5743.                     VisEnable(c_visTypeMask, false);
  5744.                     VisEnable(c_visTypeFog, false);
  5745.                     UnitPauseAll(true);
  5746.                     UnitGroupLoopBegin(UnitGroupFilterAlliance(UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), PlayerGroupPlayer(GameAttributePlayersForTeam(lv_i), 1), c_unitAllianceAlly, 0));
  5747.                     for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  5748.                         libNtve_gf_MakeUnitUncommandable(UnitGroupLoopCurrent(), true);
  5749.                         ActorSend(libNtve_gf_MainActorofUnit(UnitGroupLoopCurrent()), "HaloStart");
  5750.                         ActorSend(libNtve_gf_MainActorofUnit(UnitGroupLoopCurrent()), "GlowStart");
  5751.                         UnitIssueOrder(UnitGroupLoopCurrent(), Order(AbilityCommand("stop", 2)), c_orderQueueReplace);
  5752.                     }
  5753.                     UnitGroupLoopEnd();
  5754.                     SoundPlay(SoundLink("TValerian02ASwann00059", -1), PlayerGroupAll(), 100.0, 0.0);
  5755.                     break;
  5756.                 }
  5757.  
  5758.                 lv_i = (lv_i + 1);
  5759.             }
  5760.         }
  5761.  
  5762.     }
  5763. }
  5764.  
  5765. void gf_BaseDistribution (int lp_parameter) {
  5766.     // Implementation
  5767.     if ((lp_parameter == ge_TerritorialDistribution_RandomSingleBase)) {
  5768.         gf_RandomSingleBase();
  5769.     }
  5770.     else if ((lp_parameter == ge_TerritorialDistribution_RandomAllBases)) {
  5771.         gf_RandomAllBases();
  5772.     }
  5773.     else if ((lp_parameter == ge_TerritorialDistribution_RandomCountries)) {
  5774.         gf_RandomCountries();
  5775.     }
  5776.     else if ((lp_parameter == ge_TerritorialDistribution_RandomRegion)) {
  5777.         gf_RandomRegion();
  5778.     }
  5779. }
  5780.  
  5781. void gf_SetupBase (int lp_player, int lp_integer) {
  5782.     // Variable Declarations
  5783.     point lv_point;
  5784.  
  5785.     // Variable Initialization
  5786.     lv_point = UnitGetPosition(gv_base[lp_integer].lv_base);
  5787.  
  5788.     // Implementation
  5789.     gv_player[0].lv_bases = (gv_player[0].lv_bases + 1);
  5790.     libNtve_gf_CreateUnitsWithDefaultFacing(1, "Beacon_TerranSmall", 0, lp_player, PointWithOffsetPolar(lv_point, 1.5, 320.0));
  5791.     gv_base[lp_integer].lv_circle = UnitLastCreated();
  5792.     UnitBehaviorAdd(UnitLastCreated(), "NoDefenderAura", UnitLastCreated(), 1);
  5793.     UnitSetCustomValue(UnitLastCreated(), 11, IntToFixed(lp_integer));
  5794.     UnitSetCustomValue(UnitLastCreated(), 10, UnitGetCustomValue(gv_base[lp_integer].lv_base, 10));
  5795.     gv_base[lp_integer].lv_position = UnitGetPosition(gv_base[lp_integer].lv_circle);
  5796.     UnitCreate(1, "DestructibleKorhalFlag", c_unitCreateIgnorePlacement, 0, PointWithOffsetPolar(lv_point, 0.8, 60.0), 90.0);
  5797.     gv_base[lp_integer].lv_flag = UnitLastCreated();
  5798.     UnitGroupAdd(gv_gameInfo.lv_flagGroup, UnitLastCreated());
  5799.     ActorSend(libNtve_gf_MainActorofUnit(UnitLastCreated()), libNtve_gf_TextureSelectByID("Nothing"));
  5800.     libNtve_gf_ShowHideUnit(UnitLastCreated(), false);
  5801.     libNtve_gf_CreateUnitsWithDefaultFacing(1, "Marine", 0, lp_player, PointWithOffsetPolar(lv_point, 1.5, 320.0));
  5802.     gf_AchieveChangeUnit(UnitGetOwner(UnitLastCreated()), UnitLastCreated());
  5803.     gv_base[lp_integer].lv_defender = UnitLastCreated();
  5804.     UnitBehaviorAdd(UnitLastCreated(), "Defender", UnitLastCreated(), 1);
  5805.     UnitSetCustomValue(UnitLastCreated(), 12, 1.0);
  5806.     gf_setCustomValueOfUnit(UnitLastCreated(), lp_integer);
  5807.     gf_AddUnitEntersUnitRegionEvent(gt_CheckNoDefender, RegionCircle(PointWithOffsetPolar(lv_point, 1.5, 320.0), 0.25));
  5808. }
  5809.  
  5810. void gf_RandomAllBases () {
  5811.     // Variable Declarations
  5812.     int lv__23;
  5813.     int lv_player;
  5814.     bool lv_listDone;
  5815.     int lv_i;
  5816.     int lv_i2;
  5817.     int lv_index;
  5818.     int lv_random;
  5819.     int lv_endingIndexPlayer;
  5820.     int[13] lv_randomList;
  5821.     bool lv_indexSafe;
  5822.  
  5823.     // Variable Initialization
  5824.     lv_index = 13;
  5825.  
  5826.     // Implementation
  5827.     if ((PlayerGroupCount(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false)) != 1)) {
  5828.         while ((lv__23 <= gv_gameInfo.lv_maxBases)) {
  5829.             if ((lv_index == 13)) {
  5830.                 lv_i = 1;
  5831.                 while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  5832.                     lv_random = 0;
  5833.                     while ((lv_random == 0)) {
  5834.                         lv_i2 = 1;
  5835.                         lv_random = RandomInt(1, gv_gameInfo.lv_maxPlayers);
  5836.                         if ((PlayerGroupHasPlayer(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false), lv_random) == true)) {
  5837.                             while ((lv_i == 1)) {
  5838.                                 if ((lv_random != lv_endingIndexPlayer) && (PlayerGroupHasPlayer(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false), lv_random) == true)) {
  5839.                                     break;
  5840.                                 }
  5841.                                 else {
  5842.                                     lv_random = RandomInt(1, gv_gameInfo.lv_maxPlayers);
  5843.                                 }
  5844.                             }
  5845.                             while ((lv_i2 <= gv_gameInfo.lv_maxPlayers)) {
  5846.                                 if ((lv_randomList[lv_i2] == lv_random)) {
  5847.                                     lv_random = 0;
  5848.                                 }
  5849.  
  5850.                                 lv_i2 = (lv_i2 + 1);
  5851.                             }
  5852.                         }
  5853.                         else {
  5854.                             lv_random = 0;
  5855.                         }
  5856.                     }
  5857.                     lv_randomList[lv_i] = lv_random;
  5858.                     if ((lv_i == PlayerGroupCount(gf_returnPlayerGroup(PlayerGroupActive(), true, true, false)))) {
  5859.                         break;
  5860.                     }
  5861.  
  5862.                     lv_i = (lv_i + 1);
  5863.                 }
  5864.                 lv_index = 1;
  5865.             }
  5866.  
  5867.             lv_indexSafe = false;
  5868.             while ((lv_indexSafe == false)) {
  5869.                 if ((PlayerGroupHasPlayer(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false), lv_randomList[lv_index]) == true) && (lv_randomList[lv_index] != 0)) {
  5870.                     lv_indexSafe = true;
  5871.                 }
  5872.                 else {
  5873.                     lv_randomList[lv_index] = 0;
  5874.                     lv_index = (lv_index + 1);
  5875.                 }
  5876.                 if ((lv_index == 13)) {
  5877.                     break;
  5878.                 }
  5879.  
  5880.             }
  5881.             if ((lv_indexSafe == true)) {
  5882.                 gf_SetupBaseOwnership(lv_randomList[lv_index], lv__23);
  5883.                 lv__23 = (lv__23 + 1);
  5884.                 lv_endingIndexPlayer = lv_randomList[lv_index];
  5885.                 lv_randomList[lv_index] = 0;
  5886.                 lv_index = (lv_index + 1);
  5887.             }
  5888.  
  5889.         }
  5890.     }
  5891.     else {
  5892.         while ((lv__23 <= gv_gameInfo.lv_maxCountries)) {
  5893.             lv_player = PlayerGroupPlayer(PlayerGroupActive(), 1);
  5894.             gf_SetupCountryOwnership(lv_player, lv__23);
  5895.             lv__23 = (lv__23 + 1);
  5896.         }
  5897.     }
  5898. }
  5899.  
  5900. void gf_RandomSingleBase () {
  5901.     // Variable Declarations
  5902.     int lv_baseid;
  5903.     int lv_baseid2;
  5904.     playergroup lv_playerGroup;
  5905.  
  5906.     // Variable Initialization
  5907.     lv_playerGroup = gf_returnPlayerGroup(PlayerGroupAll(), true, true, false);
  5908.  
  5909.     // Implementation
  5910.     PlayerGroupLoopBegin(lv_playerGroup);
  5911.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  5912.         while (true) {
  5913.             lv_baseid = RandomInt(1, gv_gameInfo.lv_maxBases);
  5914.             if ((UnitGroupCount(gv_country[gf_getCustomUnitValue(gv_base[lv_baseid].lv_base, 10)].lv_bases, c_unitCountAlive) == 2) && (UnitGroupCount(UnitGroupFilterPlayer(gv_country[gf_getCustomUnitValue(gv_base[lv_baseid].lv_base, 10)].lv_bases, 0, 0), c_unitCountAlive) == 2) && (gv_country[gf_getCustomUnitValue(gv_base[lv_baseid].lv_base, 10)].lv_illegibleStartingCountry == false)) {
  5915.                 break;
  5916.             }
  5917.  
  5918.         }
  5919.         gf_SetupBaseOwnership(PlayerGroupLoopCurrent(), lv_baseid);
  5920.     }
  5921.     PlayerGroupLoopEnd();
  5922. }
  5923.  
  5924. void gf_RandomCountries () {
  5925.     // Variable Declarations
  5926.     int lv__23;
  5927.     int lv_player;
  5928.  
  5929.     // Variable Initialization
  5930.     lv_player = gf_getNextActivePlayer(RandomInt(1, 12), true);
  5931.  
  5932.     // Implementation
  5933.     while ((lv__23 <= gv_gameInfo.lv_maxCountries)) {
  5934.         if ((lv__23 != 27)) {
  5935.             lv_player = gf_getNextActivePlayer(lv_player, true);
  5936.             gf_SetupCountryOwnership(lv_player, lv__23);
  5937.         }
  5938.  
  5939.         lv__23 = (lv__23 + 1);
  5940.     }
  5941. }
  5942.  
  5943. void gf_RandomRegion () {
  5944.     // Variable Declarations
  5945.     int lv__23;
  5946.     int lv_i;
  5947.     unit lv_unit;
  5948.     unitgroup lv_uG;
  5949.     int lv_region;
  5950.  
  5951.     // Variable Initialization
  5952.     lv__23 = 1;
  5953.     lv_i = 1;
  5954.     lv_uG = UnitGroupEmpty();
  5955.  
  5956.     // Implementation
  5957.     while ((lv_i <= 12)) {
  5958.         UnitGroupAdd(lv_uG, gv_country[lv_i].lv_spawnStructure);
  5959.         lv_i = (1 + lv_i);
  5960.     }
  5961.     lv_i = 1;
  5962.     PlayerGroupLoopBegin(gf_returnPlayerGroup(gv_gameInfo.lv_playingPlayers, true, true, false));
  5963.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  5964.         lv_unit = UnitGroupRandomUnit(lv_uG, c_unitCountAlive);
  5965.         UnitGroupRemove(lv_uG, lv_unit);
  5966.         while ((lv_i <= 12)) {
  5967.             if ((lv_unit == gv_country[lv_i].lv_spawnStructure)) {
  5968.                 lv_region = lv_i;
  5969.             }
  5970.  
  5971.             lv_i = (1 + lv_i);
  5972.         }
  5973.         while ((lv__23 <= gv_gameInfo.lv_maxCountries)) {
  5974.             if ((gv_country[lv__23].lv_region == lv_region)) {
  5975.                 gf_SetupCountryOwnership(PlayerGroupLoopCurrent(), lv__23);
  5976.             }
  5977.  
  5978.             lv__23 = (1 + lv__23);
  5979.         }
  5980.         lv__23 = 1;
  5981.         lv_i = 1;
  5982.     }
  5983.     PlayerGroupLoopEnd();
  5984. }
  5985.  
  5986. void gf_PingLocationofBases () {
  5987.     // Implementation
  5988.     PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupAll(), true, false, false));
  5989.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  5990.         if ((gv_profile.lv_settingsProfileValue[3][PlayerGroupLoopCurrent()] == 1)) {
  5991.             UnitGroupLoopBegin(UnitGroup("Marine", PlayerGroupLoopCurrent(), RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  5992.             for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  5993.                 libNtve_gf_CreatePingFacingAngle(PlayerGroupSingle(PlayerGroupLoopCurrent()), "PingSimple", UnitGetPosition(UnitGroupLoopCurrent()), libNtve_gf_ConvertPlayerColorToColor(PlayerGetColorIndex(PlayerGroupLoopCurrent(), false)), 25.0, 270.0);
  5994.             }
  5995.             UnitGroupLoopEnd();
  5996.         }
  5997.  
  5998.     }
  5999.     PlayerGroupLoopEnd();
  6000. }
  6001.  
  6002. void gf_SetupBaseOwnership (int lp_player, int lp_integer) {
  6003.     // Implementation
  6004.     UnitSetOwner(gv_base[lp_integer].lv_base, lp_player, true);
  6005.     UnitIssueOrder(gv_base[lp_integer].lv_base, OrderTargetingUnit(AbilityCommand("Rally", 0), gv_base[lp_integer].lv_base), c_orderQueueReplace);
  6006.     UnitSetOwner(gv_base[lp_integer].lv_circle, lp_player, true);
  6007.     UnitSetOwner(gv_base[lp_integer].lv_defender, lp_player, true);
  6008.     UnitSetOwner(gv_base[lp_integer].lv_flag, lp_player, true);
  6009.     ActorSend(libNtve_gf_MainActorofUnit(gv_base[lp_integer].lv_flag), libNtve_gf_TextureSelectByID(gv_country[gv_player[lp_player].lv_homeCountry].lv_flagTexture));
  6010.     libNtve_gf_AttachActorToUnit(gv_base[lp_integer].lv_defender, "TimeWarpLaunch", "Ref_Origin");
  6011. }
  6012.  
  6013. void gf_SetupCountryOwnership (int lp_player, int lp_integer) {
  6014.     // Implementation
  6015.     UnitSetOwner(gv_country[lp_integer].lv_spawnStructure, lp_player, true);
  6016.     UnitGroupLoopBegin(gv_country[lp_integer].lv_bases);
  6017.     for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  6018.         gf_SetupBaseOwnership(lp_player, FixedToInt(UnitGetCustomValue(UnitGroupLoopCurrent(), 11)));
  6019.     }
  6020.     UnitGroupLoopEnd();
  6021.     gv_country[lp_integer].lv_owner = lp_player;
  6022.     gv_player[lp_player].lv_bases = (gv_player[lp_player].lv_bases + gv_country[lp_integer].lv_income);
  6023.     gv_player[0].lv_bases = (gv_player[0].lv_bases - gv_country[lp_integer].lv_income);
  6024. }
  6025.  
  6026. void gf_BaseConquestSequence (unit lp_killing, unit lp_dying) {
  6027.     // Variable Declarations
  6028.     int lv_player_Killing;
  6029.     int lv_player_Dying;
  6030.     unit lv_unit_Defender;
  6031.     int lv_integer_BaseID;
  6032.     int lv_integer_CountryID;
  6033.  
  6034.     // Variable Initialization
  6035.     lv_player_Killing = UnitGetOwner(lp_killing);
  6036.     lv_player_Dying = UnitGetOwner(lp_dying);
  6037.     lv_integer_BaseID = gf_getCustomUnitValue(lp_dying, 11);
  6038.     lv_integer_CountryID = gf_getCustomUnitValue(lp_dying, 10);
  6039.  
  6040.     // Implementation
  6041.     if ((gf_ConditionsRequirementsForConquest(lp_killing, lp_dying) == true)) {
  6042.         lv_unit_Defender = gf_PrioritizeDefender(lp_killing, 6.0);
  6043.         if ((UnitHasBehavior(lv_unit_Defender, "WaterUnit") == true)) {
  6044.             libNtve_gf_CreateUnitsWithDefaultFacing(1, "Marine", 0, UnitGetOwner(lv_unit_Defender), UnitGetPosition(lv_unit_Defender));
  6045.             gf_AchieveChangeUnit(UnitGetOwner(UnitLastCreated()), UnitLastCreated());
  6046.             gf_AnonymizeUnit(UnitLastCreated());
  6047.             lv_unit_Defender = UnitLastCreated();
  6048.         }
  6049.  
  6050.         gv_player[lv_player_Killing].lv_bases = (gv_player[lv_player_Killing].lv_bases + 1);
  6051.         gv_player[lv_player_Dying].lv_bases = (gv_player[lv_player_Dying].lv_bases - 1);
  6052.         if ((UnitGetOwner(lp_dying) != UnitGetOwner(lp_killing)) && (gv_gameInfo.lv_card == ge_CardSetting_Enabled)) {
  6053.             if ((UnitHasBehavior(gv_base[lv_integer_BaseID].lv_base, "CardCooldown") == false) && (PlayerGetPropertyInt(UnitGetOwner(lp_killing), c_playerPropCustom) < 30)) {
  6054.                 PlayerModifyPropertyInt(UnitGetOwner(lp_killing), c_playerPropCustom, c_playerPropOperAdd, 1);
  6055.                 UnitBehaviorAdd(gv_base[lv_integer_BaseID].lv_base, "CardCooldown", gv_base[lv_integer_BaseID].lv_base, 1);
  6056.                 if ((PlayerGetPropertyInt(UnitGetOwner(lp_killing), c_playerPropCustom) >= 3)) {
  6057.                     libNtve_gf_SetDialogItemImage(gv_infoPanel.lv_mainMenuButtons[4], "Risk\\ui_battlenet_challenge_buttonyellow_normalpressed.dds", PlayerGroupSingle(UnitGetOwner(lp_killing)));
  6058.                     libNtve_gf_SetDialogItemImage2(gv_infoPanel.lv_mainMenuButtons[4], "Risk\\ui_battlenet_challenge_buttonyellow_normaloverpressedover.dds", PlayerGroupSingle(UnitGetOwner(lp_killing)));
  6059.                     libNtve_gf_SetDialogItemText(gv_infoPanel.lv_mainMenuButtons[4], StringToText("<c val=\"FDFF95\">Cards</c>"), PlayerGroupSingle(UnitGetOwner(lp_killing)));
  6060.                 }
  6061.  
  6062.             }
  6063.  
  6064.         }
  6065.  
  6066.         gf_DefenderSettings(lv_unit_Defender, lp_dying, true);
  6067.         gf_CountryConquestSequence(lv_player_Killing, lv_player_Dying, gf_getCustomUnitValue(lv_unit_Defender, 10));
  6068.         Wait(0.0, c_timeGame);
  6069.         gf_FixNoDefenderBug(UnitGetOwner(lp_killing));
  6070.         gf_FixNoDefenderBug(lv_player_Dying);
  6071.         gf_ShowHideIndvFlag(gv_player[UnitGetOwner(lp_killing)].lv_showHideNationality, lv_integer_BaseID);
  6072.         gf_RefreshIndividualFlag(UnitGetOwner(lp_killing), lv_integer_BaseID);
  6073.         gf_AchieveChangeUnit(UnitGetOwner(gv_base[lv_integer_BaseID].lv_base), gv_base[lv_integer_BaseID].lv_base);
  6074.         gf_AnonymizeUnit(gv_base[lv_integer_BaseID].lv_base);
  6075.     }
  6076.  
  6077. }
  6078.  
  6079. void gf_DefenderSettings (unit lp_new, unit lp_old, bool lp_bool) {
  6080.     // Implementation
  6081.     if ((lp_bool == true)) {
  6082.         UnitSetPosition(lp_new, UnitGetPosition(gv_base[FixedToInt(UnitGetCustomValue(lp_old, 11))].lv_circle), false);
  6083.     }
  6084.  
  6085.     gv_base[FixedToInt(UnitGetCustomValue(lp_old, 11))].lv_defender = lp_new;
  6086.     UnitSetCustomValue(lp_new, 11, UnitGetCustomValue(lp_old, 11));
  6087.     UnitSetCustomValue(lp_new, 10, UnitGetCustomValue(lp_old, 10));
  6088.     UnitBehaviorAdd(lp_new, "Defender", lp_new, 1);
  6089.     UnitBehaviorRemove(lp_new, "Loadable", 1);
  6090.     UnitSetPropertyFixed(lp_new, c_unitPropShields, 0.0);
  6091.     gf_SetupBaseOwnership(UnitGetOwner(lp_new), FixedToInt(UnitGetCustomValue(lp_old, 11)));
  6092. }
  6093.  
  6094. void gf_CountryConquestSequence (int lp_capturingPlayer, int lp_losingPlayer, int lp_country) {
  6095.     // Variable Declarations
  6096.     int lv__23;
  6097.  
  6098.     // Variable Initialization
  6099.  
  6100.     // Implementation
  6101.     UnitGroupLoopBegin(UnitGroupFilterPlayer(gv_country[lp_country].lv_bases, lp_capturingPlayer, 0));
  6102.     for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  6103.         lv__23 = (lv__23 + 1);
  6104.     }
  6105.     UnitGroupLoopEnd();
  6106.     if ((UnitGroupCount(gv_country[lp_country].lv_bases, c_unitCountAlive) == lv__23)) {
  6107.         if ((gv_player[lp_losingPlayer].lv_homeCountry == lp_country) && (lp_capturingPlayer != lp_losingPlayer)) {
  6108.             DialogControlSetVisible(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_flag], PlayerGroupAll(), false);
  6109.             DialogControlSetPosition(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_username], PlayerGroupAll(), c_anchorTopLeft, 18, DialogControlGetOffsetY(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_username], 1));
  6110.             gf_ShowHideAllFlag(lp_losingPlayer, false);
  6111.             gf_RefreshAllFlag(lp_losingPlayer, 0);
  6112.         }
  6113.  
  6114.         gv_country[lp_country].lv_owner = lp_capturingPlayer;
  6115.         gv_player[lp_capturingPlayer].lv_countries = (gv_player[lp_capturingPlayer].lv_countries + 1);
  6116.         gv_player[lp_losingPlayer].lv_countries = (gv_player[lp_losingPlayer].lv_countries - 1);
  6117.         UnitSetOwner(gv_country[lp_country].lv_spawnStructure, lp_capturingPlayer, true);
  6118.         UnitIssueOrder(gv_country[lp_country].lv_spawnStructure, OrderTargetingUnit(AbilityCommand("Rally", 0), gv_country[lp_country].lv_spawnStructure), c_orderQueueReplace);
  6119.         if ((gv_player[lp_capturingPlayer].lv_countries == 1) && (gv_player[lp_capturingPlayer].lv_showHideNationality != true)) {
  6120.             gf_SetNationality(lp_capturingPlayer, lp_country);
  6121.         }
  6122.  
  6123.         gf_RefreshScoreboard(0, ge_ScoreboardColumn_Notification, (TextWithColor(PlayerName(lp_capturingPlayer), gv_player[lp_capturingPlayer].lv_currentColour) + StringToText(" has claimed ") + StringToText(gv_country[lp_country].lv_name)));
  6124.     }
  6125.     else {
  6126.         if ((UnitGroupCount(gv_country[lp_country].lv_bases, c_unitCountAlive) == (lv__23 - 1))) {
  6127.         }
  6128.  
  6129.         gv_country[lp_country].lv_owner = 0;
  6130.         UnitSetOwner(gv_country[lp_country].lv_spawnStructure, 0, true);
  6131.         UnitIssueOrder(gv_country[lp_country].lv_spawnStructure, OrderTargetingUnit(AbilityCommand("Rally", 0), gv_country[lp_country].lv_spawnStructure), c_orderQueueReplace);
  6132.     }
  6133.     gf_SpawnControlGroup(lp_capturingPlayer, lp_losingPlayer);
  6134. }
  6135.  
  6136. void gf_SpawnControlGroup (int lp_killing, int lp_dead) {
  6137.     // Implementation
  6138.     UnitControlGroupClear(lp_killing, 9);
  6139.     UnitGroupLoopBegin(UnitGroup("SpawnZone", lp_killing, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  6140.     for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  6141.         UnitControlGroupAddUnit(lp_killing, 9, UnitGroupLoopCurrent());
  6142.     }
  6143.     UnitGroupLoopEnd();
  6144.     UnitControlGroupClear(lp_dead, 9);
  6145.     UnitGroupLoopBegin(UnitGroup("SpawnZone", lp_dead, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  6146.     for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  6147.         UnitControlGroupAddUnit(lp_dead, 9, UnitGroupLoopCurrent());
  6148.     }
  6149.     UnitGroupLoopEnd();
  6150. }
  6151.  
  6152. void gf_FixNoDefenderBug (int lp_player) {
  6153.     // Variable Declarations
  6154.     unit lv_base;
  6155.     int lv_baseValue;
  6156.  
  6157.     // Variable Initialization
  6158.  
  6159.     // Implementation
  6160.     UnitGroupLoopBegin(UnitGroup(null, lp_player, RegionPlayableMap(), UnitFilter((1 << c_targetFilterStructure), (1 << (c_targetFilterInvulnerable - 32)), (1 << c_targetFilterPsionic) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  6161.     for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  6162.         lv_base = UnitGroupLoopCurrent();
  6163.         lv_baseValue = FixedToInt(UnitGetCustomValue(lv_base, 11));
  6164.         if ((UnitGetType(gv_base[lv_baseValue].lv_defender) == null)) {
  6165.             UnitCreate(1, "Marine", 0, lp_player, gv_base[lv_baseValue].lv_position, 270.0);
  6166.             gf_AnonymizeUnit(UnitLastCreated());
  6167.             gf_AchieveChangeUnit(UnitGetOwner(UnitLastCreated()), UnitLastCreated());
  6168.             gf_DefenderSettings(UnitLastCreated(), lv_base, true);
  6169.         }
  6170.  
  6171.     }
  6172.     UnitGroupLoopEnd();
  6173. }
  6174.  
  6175. bool gf_ConditionsRequirementsForConquest (unit lp_killing, unit lp_dying) {
  6176.     // Implementation
  6177.     if ((lp_dying == gv_base[gf_getCustomUnitValue(lp_dying, 11)].lv_defender) && (gf_UnitTypeCondition(lp_killing) == true) && (gf_UnitTypeCondition(lp_dying) == true) && (gf_BaseReadyToBeConquered(lp_killing, lp_dying) == true)) {
  6178.         return true;
  6179.     }
  6180.     else {
  6181.         return false;
  6182.     }
  6183. }
  6184.  
  6185. bool gf_UnitTypeCondition (unit lp_unit) {
  6186.     // Variable Declarations
  6187.     int lv_i;
  6188.  
  6189.     // Variable Initialization
  6190.  
  6191.     // Implementation
  6192.     while ((UnitGetType(lp_unit) != null)) {
  6193.         if ((UnitGetType(lp_unit) == gv_gameInfo.lv_unitType[lv_i])) {
  6194.             return true;
  6195.         }
  6196.  
  6197.         lv_i = (lv_i + 1);
  6198.     }
  6199.     return false;
  6200. }
  6201.  
  6202. bool gf_BaseReadyToBeConquered (unit lp_killing, unit lp_dying) {
  6203.     // Variable Declarations
  6204.     unitgroup lv_temp_group;
  6205.  
  6206.     // Variable Initialization
  6207.     lv_temp_group = UnitGroupEmpty();
  6208.  
  6209.     // Implementation
  6210.     UnitGroupLoopBegin(UnitGroup(null, c_playerAny, RegionCircle(gv_base[gf_getCustomUnitValue(lp_dying, 11)].lv_position, 1.6), UnitFilter(0, 0, (1 << c_targetFilterPsionic) | (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterBenign - 32))), 0));
  6211.     for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  6212.         if ((gf_UnitTypeCondition(UnitGroupLoopCurrent()) == true)) {
  6213.             UnitGroupAdd(lv_temp_group, UnitGroupLoopCurrent());
  6214.         }
  6215.  
  6216.     }
  6217.     UnitGroupLoopEnd();
  6218.     if ((UnitGroupCount(UnitGroupFilterPlayer(lv_temp_group, UnitGetOwner(lp_dying), 0), c_unitCountAlive) > 0)) {
  6219.         gf_DefenderSettings(UnitGroupRandomUnit(UnitGroupFilterPlayer(lv_temp_group, UnitGetOwner(lp_dying), 0), c_unitCountAlive), lp_dying, true);
  6220.         return false;
  6221.     }
  6222.     else if ((UnitGroupCount(UnitGroupFilterPlayer(lv_temp_group, UnitGetOwner(lp_killing), 0), c_unitCountAlive) == UnitGroupCount(lv_temp_group, c_unitCountAlive))) {
  6223.         return true;
  6224.     }
  6225.     return false;
  6226. }
  6227.  
  6228. //--------------------------------------------------------------------------------------------------
  6229. // Trigger: Setup Game
  6230. //--------------------------------------------------------------------------------------------------
  6231. bool gt_SetupGame_Func (bool testConds, bool runActions) {
  6232.     // Variable Declarations
  6233.     int lv_i;
  6234.  
  6235.     // Variable Initialization
  6236.     lv_i = 1;
  6237.  
  6238.     // Actions
  6239.     if (!runActions) {
  6240.         return true;
  6241.     }
  6242.  
  6243.     TriggerExecute(gt_SetupGateway, false, false);
  6244.     TriggerExecute(gt_SetupID, false, false);
  6245.     TriggerExecute(gt_SetupBank, false, false);
  6246.     TriggerExecute(gt_SetupUnits, false, false);
  6247.     TriggerExecute(gt_SetupCountries, false, true);
  6248.     TriggerExecute(gt_SetupBases, false, true);
  6249.     TriggerExecute(gt_SetupOther, true, true);
  6250.     if ((GameAttributeGameValue("1") != "0003")) {
  6251.         gf_ChatMessage(1, (StringToText("<c val=\"CCCC33\">Annoucement</c> - Max cards 30") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  6252.         gf_ChatMessage(1, (StringToText("<c val=\"CCCC33\">Annoucement</c> - Hellions burn trees") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  6253.         gf_ChatMessage(1, (StringToText("<c val=\"CCCC33\">Annoucement</c> - Go to the risk legacy website at goo.gl/xxw0NM") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  6254.     }
  6255.  
  6256.     TriggerExecute(gt_SetupScreenFade, true, true);
  6257.     TriggerExecute(gt_GameInitialization, true, true);
  6258.     return true;
  6259. }
  6260.  
  6261. //--------------------------------------------------------------------------------------------------
  6262. void gt_SetupGame_Init () {
  6263.     gt_SetupGame = TriggerCreate("gt_SetupGame_Func");
  6264.     TriggerAddEventTimeElapsed(gt_SetupGame, 0.0, c_timeGame);
  6265. }
  6266.  
  6267. //--------------------------------------------------------------------------------------------------
  6268. // Trigger: Setup Gateway
  6269. //--------------------------------------------------------------------------------------------------
  6270. bool gt_SetupGateway_Func (bool testConds, bool runActions) {
  6271.     int autoFAA150C5_val;
  6272.  
  6273.     // Actions
  6274.     if (!runActions) {
  6275.         return true;
  6276.     }
  6277.  
  6278.     gv_gameInfo.lv_battlenetRegion = ge_BattlenetServerRegion_NAAmerica;
  6279.     autoFAA150C5_val = gv_gameInfo.lv_battlenetRegion;
  6280.     if (autoFAA150C5_val == 0) {
  6281.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_IncomePeriod] = 0;
  6282.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Bounty] = 2;
  6283.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_TerritorialDistribution] = 0;
  6284.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_VictoryCondition] = 2;
  6285.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Conscripts] = 0;
  6286.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Alliance] = 1;
  6287.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Cards] = 0;
  6288.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Visibility] = 0;
  6289.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Anonymous] = 1;
  6290.     }
  6291.     else if (autoFAA150C5_val == 1) {
  6292.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_IncomePeriod] = 0;
  6293.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Bounty] = 2;
  6294.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_TerritorialDistribution] = 0;
  6295.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_VictoryCondition] = 2;
  6296.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Conscripts] = 0;
  6297.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Alliance] = 1;
  6298.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Cards] = 0;
  6299.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Visibility] = 0;
  6300.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Anonymous] = 1;
  6301.     }
  6302.     else if (autoFAA150C5_val == 2) {
  6303.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_IncomePeriod] = 0;
  6304.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Bounty] = 2;
  6305.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_TerritorialDistribution] = 0;
  6306.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_VictoryCondition] = 2;
  6307.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Conscripts] = 0;
  6308.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Alliance] = 1;
  6309.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Cards] = 0;
  6310.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Visibility] = 0;
  6311.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Anonymous] = 1;
  6312.     }
  6313.     else if (autoFAA150C5_val == 3) {
  6314.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_IncomePeriod] = 0;
  6315.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Bounty] = 2;
  6316.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_TerritorialDistribution] = 0;
  6317.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_VictoryCondition] = 2;
  6318.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Conscripts] = 0;
  6319.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Alliance] = 1;
  6320.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Cards] = 0;
  6321.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Visibility] = 0;
  6322.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Anonymous] = 0;
  6323.     }
  6324.     else {
  6325.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_IncomePeriod] = 0;
  6326.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Bounty] = 2;
  6327.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_TerritorialDistribution] = 0;
  6328.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_VictoryCondition] = 2;
  6329.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Conscripts] = 0;
  6330.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Alliance] = 1;
  6331.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Cards] = 0;
  6332.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Visibility] = 0;
  6333.         gv_gameInfo.lv_regionalDefaultSettings[gv_customSetting.lv_column_Anonymous] = 1;
  6334.     }
  6335.     return true;
  6336. }
  6337.  
  6338. //--------------------------------------------------------------------------------------------------
  6339. void gt_SetupGateway_Init () {
  6340.     gt_SetupGateway = TriggerCreate("gt_SetupGateway_Func");
  6341. }
  6342.  
  6343. //--------------------------------------------------------------------------------------------------
  6344. // Trigger: Setup ID
  6345. //--------------------------------------------------------------------------------------------------
  6346. bool gt_SetupID_Func (bool testConds, bool runActions) {
  6347.     // Variable Declarations
  6348.     int lv_i;
  6349.  
  6350.     // Variable Initialization
  6351.  
  6352.     // Actions
  6353.     if (!runActions) {
  6354.         return true;
  6355.     }
  6356.  
  6357.     lv_i = (lv_i + 1);
  6358.     gv_bank.lv_iDList[lv_i] = "1-S2-1-840619";
  6359.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_Admin;
  6360.     gv_bank.lv_iDFlagImage[lv_i] = "risk\\donate\\UnitedNations.tga";
  6361.     gv_bank.lv_iDFlagTexture[lv_i] = "CrazyRusski";
  6362.     lv_i = (lv_i + 1);
  6363.     gv_bank.lv_iDList[lv_i] = "2-S2-1-3133830";
  6364.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_Admin;
  6365.     gv_bank.lv_iDFlagImage[lv_i] = "risk\\donate\\UnitedNations.tga";
  6366.     gv_bank.lv_iDFlagTexture[lv_i] = "CrazyRusski";
  6367.     lv_i = (lv_i + 1);
  6368.     gv_bank.lv_iDList[lv_i] = "1-S2-1-3055377";
  6369.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_Admin;
  6370.     gv_bank.lv_iDFlagImage[lv_i] = "Risk\\Flag\\FaroeIslands.tga";
  6371.     gv_bank.lv_iDFlagTexture[lv_i] = "FaroeIslands";
  6372.     lv_i = (lv_i + 1);
  6373.     gv_bank.lv_iDList[lv_i] = "2-S2-1-232528";
  6374.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_Admin;
  6375.     gv_bank.lv_iDFlagImage[lv_i] = "Risk\\Flag\\FaroeIslands.tga";
  6376.     gv_bank.lv_iDFlagTexture[lv_i] = "FaroeIslands";
  6377.     lv_i = (lv_i + 1);
  6378.     gv_bank.lv_iDList[lv_i] = "1-S2-1-7563095";
  6379.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl4;
  6380.     gv_bank.lv_iDFlagImage[lv_i] = "risk\\donate\\PsychoPyro.tga";
  6381.     gv_bank.lv_iDFlagTexture[lv_i] = "PsychoPyro";
  6382.     lv_i = (lv_i + 1);
  6383.     gv_bank.lv_iDList[lv_i] = "1-S2-1-838925";
  6384.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl4;
  6385.     gv_bank.lv_iDFlagImage[lv_i] = "risk\\donate\\Lewiddyion.tga";
  6386.     gv_bank.lv_iDFlagTexture[lv_i] = "Lewiddyion";
  6387.     lv_i = (lv_i + 1);
  6388.     gv_bank.lv_iDList[lv_i] = "1-S2-1-3411995";
  6389.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl1;
  6390.     lv_i = (lv_i + 1);
  6391.     gv_bank.lv_iDList[lv_i] = "1-S2-1-2480827";
  6392.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl2;
  6393.     lv_i = (lv_i + 1);
  6394.     gv_bank.lv_iDList[lv_i] = "1-S2-1-2383405";
  6395.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl4;
  6396.     gv_bank.lv_iDFlagImage[lv_i] = "risk\\Flag\\UnitedKingdom.tga";
  6397.     gv_bank.lv_iDFlagTexture[lv_i] = "UnitedKingdom";
  6398.     lv_i = (lv_i + 1);
  6399.     gv_bank.lv_iDList[lv_i] = "1-S2-1-2252468";
  6400.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl3;
  6401.     lv_i = (lv_i + 1);
  6402.     gv_bank.lv_iDList[lv_i] = "1-S2-1-3893874";
  6403.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl1;
  6404.     lv_i = (lv_i + 1);
  6405.     gv_bank.lv_iDList[lv_i] = "1-S2-1-3732625";
  6406.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl4;
  6407.     gv_bank.lv_iDFlagImage[lv_i] = "risk\\Donate\\Slimrim.tga";
  6408.     gv_bank.lv_iDFlagTexture[lv_i] = "Slimrim";
  6409.     lv_i = (lv_i + 1);
  6410.     gv_bank.lv_iDList[lv_i] = "1-S2-1-1245555";
  6411.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl4;
  6412.     gv_bank.lv_iDFlagImage[lv_i] = "risk\\Donate\\digitek.dds";
  6413.     gv_bank.lv_iDFlagTexture[lv_i] = "digitek";
  6414.     lv_i = (lv_i + 1);
  6415.     gv_bank.lv_iDList[lv_i] = "1-S2-1-3687071";
  6416.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl3;
  6417.     lv_i = (lv_i + 1);
  6418.     gv_bank.lv_iDList[lv_i] = "2-S2-1-1416808";
  6419.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl3;
  6420.     lv_i = (lv_i + 1);
  6421.     gv_bank.lv_iDList[lv_i] = "1-S2-1-4013216";
  6422.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl2;
  6423.     lv_i = (lv_i + 1);
  6424.     gv_bank.lv_iDList[lv_i] = "1-S2-1-293981";
  6425.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl4;
  6426.     gv_bank.lv_iDFlagImage[lv_i] = "Risk\\Donate\\Karjala.tga";
  6427.     gv_bank.lv_iDFlagTexture[lv_i] = "Karjala";
  6428.     lv_i = (lv_i + 1);
  6429.     gv_bank.lv_iDList[lv_i] = "1-S2-1-344678";
  6430.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl4;
  6431.     gv_bank.lv_iDFlagImage[lv_i] = "Risk\\Donate\\Lewiddyion.tga";
  6432.     gv_bank.lv_iDFlagTexture[lv_i] = "Lewiddyion";
  6433.     lv_i = (lv_i + 1);
  6434.     gv_bank.lv_iDList[lv_i] = "1-S2-1-4185367";
  6435.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl4;
  6436.     gv_bank.lv_iDFlagImage[lv_i] = "risk\\Donate\\Feature.tga";
  6437.     gv_bank.lv_iDFlagTexture[lv_i] = "Feature";
  6438.     lv_i = (lv_i + 1);
  6439.     gv_bank.lv_iDList[lv_i] = "2-S2-1-1182412";
  6440.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl2;
  6441.     lv_i = (lv_i + 1);
  6442.     gv_bank.lv_iDList[lv_i] = "1-S2-1-3527912";
  6443.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl3;
  6444.     lv_i = (lv_i + 1);
  6445.     gv_bank.lv_iDList[lv_i] = "1-S2-1-3247769";
  6446.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl3;
  6447.     lv_i = (lv_i + 1);
  6448.     gv_bank.lv_iDList[lv_i] = "1-S2-1-1072636";
  6449.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl3;
  6450.     lv_i = (lv_i + 1);
  6451.     gv_bank.lv_iDList[lv_i] = "1-S2-1-114649";
  6452.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl2;
  6453.     lv_i = (lv_i + 1);
  6454.     gv_bank.lv_iDList[lv_i] = "1-S2-1-3978363";
  6455.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl4;
  6456.     gv_bank.lv_iDFlagImage[lv_i] = "Risk\\Donate\\TombStone.tga";
  6457.     gv_bank.lv_iDFlagTexture[lv_i] = "TombStone";
  6458.     lv_i = (lv_i + 1);
  6459.     gv_bank.lv_iDList[lv_i] = "1-S2-1-290944";
  6460.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl1;
  6461.     lv_i = (lv_i + 1);
  6462.     gv_bank.lv_iDList[lv_i] = "1-S2-1-3348053";
  6463.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl1;
  6464.     lv_i = (lv_i + 1);
  6465.     gv_bank.lv_iDList[lv_i] = "1-S2-1-1536358";
  6466.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl4;
  6467.     gv_bank.lv_iDFlagImage[lv_i] = "risk\\donate\\UnitedNations.tga";
  6468.     gv_bank.lv_iDFlagTexture[lv_i] = "Optimal";
  6469.     lv_i = (lv_i + 1);
  6470.     gv_bank.lv_iDList[lv_i] = "1-S2-1-3808079";
  6471.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl4;
  6472.     gv_bank.lv_iDFlagImage[lv_i] = "Risk\\Donate\\Snow.dds";
  6473.     gv_bank.lv_iDFlagTexture[lv_i] = "Snow";
  6474.     lv_i = (lv_i + 1);
  6475.     gv_bank.lv_iDList[lv_i] = "1-S2-1-465240";
  6476.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl2;
  6477.     lv_i = (lv_i + 1);
  6478.     gv_bank.lv_iDList[lv_i] = "1-S2-1-529990";
  6479.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl3;
  6480.     lv_i = (lv_i + 1);
  6481.     gv_bank.lv_iDList[lv_i] = "1-S2-1-3049049";
  6482.     gv_bank.lv_iDStatus[lv_i] = ge_PlayerStatus_DonatorLvl4;
  6483.     gv_bank.lv_iDFlagImage[lv_i] = "Risk\\Donate\\Wingcrafter.tga";
  6484.     gv_bank.lv_iDFlagTexture[lv_i] = "Wingcrafter";
  6485.     gv_bank.lv_iDListMax = lv_i;
  6486.     return true;
  6487. }
  6488.  
  6489. //--------------------------------------------------------------------------------------------------
  6490. void gt_SetupID_Init () {
  6491.     gt_SetupID = TriggerCreate("gt_SetupID_Func");
  6492. }
  6493.  
  6494. //--------------------------------------------------------------------------------------------------
  6495. // Trigger: Setup Bank
  6496. //--------------------------------------------------------------------------------------------------
  6497. bool gt_SetupBank_Func (bool testConds, bool runActions) {
  6498.     // Actions
  6499.     if (!runActions) {
  6500.         return true;
  6501.     }
  6502.  
  6503.     gf_BankPreload();
  6504.     gf_BankOpen();
  6505.     return true;
  6506. }
  6507.  
  6508. //--------------------------------------------------------------------------------------------------
  6509. void gt_SetupBank_Init () {
  6510.     gt_SetupBank = TriggerCreate("gt_SetupBank_Func");
  6511. }
  6512.  
  6513. //--------------------------------------------------------------------------------------------------
  6514. // Trigger: Setup Units
  6515. //--------------------------------------------------------------------------------------------------
  6516. bool gt_SetupUnits_Func (bool testConds, bool runActions) {
  6517.     // Variable Declarations
  6518.     int lv_i;
  6519.     int lv_type;
  6520.  
  6521.     // Variable Initialization
  6522.  
  6523.     // Actions
  6524.     if (!runActions) {
  6525.         return true;
  6526.     }
  6527.  
  6528.     lv_type = 0;
  6529.     lv_i = 0;
  6530.     gv_gameInfo.lv_unitType[lv_i] = "Marine";
  6531.     gv_gameInfo.lv_unitType_Priorization[lv_type][lv_i] = "Marine";
  6532.     lv_i = (lv_i + 1);
  6533.     gv_gameInfo.lv_unitType[lv_i] = "Marauder";
  6534.     gv_gameInfo.lv_unitType_Priorization[lv_type][lv_i] = "Marauder";
  6535.     lv_i = (lv_i + 1);
  6536.     gv_gameInfo.lv_unitType[lv_i] = "Medic";
  6537.     gv_gameInfo.lv_unitType_Priorization[lv_type][lv_i] = "Medic";
  6538.     lv_i = (lv_i + 1);
  6539.     gv_gameInfo.lv_unitType[lv_i] = "Hellion";
  6540.     gv_gameInfo.lv_unitType_Priorization[lv_type][lv_i] = "Hellion";
  6541.     lv_i = (lv_i + 1);
  6542.     gv_gameInfo.lv_unitType[lv_i] = "Vulture";
  6543.     gv_gameInfo.lv_unitType_Priorization[lv_type][lv_i] = "Vulture";
  6544.     lv_i = (lv_i + 1);
  6545.     gv_gameInfo.lv_unitType[lv_i] = "SiegeTank";
  6546.     gv_gameInfo.lv_unitType_Priorization[lv_type][lv_i] = "SiegeTank";
  6547.     lv_i = (lv_i + 1);
  6548.     gv_gameInfo.lv_unitType[lv_i] = "VikingFighter";
  6549.     gv_gameInfo.lv_unitType_Priorization[lv_type][lv_i] = "VikingFighter";
  6550.     lv_i = (lv_i + 1);
  6551.     gv_gameInfo.lv_unitType[lv_i] = "Banshee";
  6552.     gv_gameInfo.lv_unitType_Priorization[lv_type][lv_i] = "Banshee";
  6553.     lv_i = (lv_i + 1);
  6554.     gv_gameInfo.lv_unitType[lv_i] = "Battlecruiser";
  6555.     gv_gameInfo.lv_unitType_Priorization[lv_type][lv_i] = "Battlecruiser";
  6556.     lv_i = (lv_i + 1);
  6557.     gv_gameInfo.lv_unitType[lv_i] = "Hercules";
  6558.     gv_gameInfo.lv_unitType_Priorization[lv_type][lv_i] = "Hercules";
  6559.     lv_i = (lv_i + 1);
  6560.     gv_gameInfo.lv_unitType[lv_i] = "ScienceVessel";
  6561.     gv_gameInfo.lv_unitType_Priorization[lv_type][lv_i] = "ScienceVessel";
  6562.     return true;
  6563. }
  6564.  
  6565. //--------------------------------------------------------------------------------------------------
  6566. void gt_SetupUnits_Init () {
  6567.     gt_SetupUnits = TriggerCreate("gt_SetupUnits_Func");
  6568. }
  6569.  
  6570. //--------------------------------------------------------------------------------------------------
  6571. // Trigger: Setup Countries
  6572. //--------------------------------------------------------------------------------------------------
  6573. bool gt_SetupCountries_Func (bool testConds, bool runActions) {
  6574.     // Variable Declarations
  6575.     int lv__23;
  6576.     int lv_iD;
  6577.  
  6578.     // Variable Initialization
  6579.  
  6580.     // Actions
  6581.     if (!runActions) {
  6582.         return true;
  6583.     }
  6584.  
  6585.     gv_country[0].lv_flagTexture = "Nothing";
  6586.     gv_country[0].lv_flagImage = "Assets\\Textures\\white32.dds";
  6587.     while ((lv__23 <= gv_gameInfo.lv_maxCountries)) {
  6588.         gf_PredefineCountries(lv__23);
  6589.         UnitGroupLoopBegin(gv_country[lv__23].lv_bases);
  6590.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  6591.             lv_iD = (1 + lv_iD);
  6592.             UnitSetCustomValue(UnitGroupLoopCurrent(), 10, IntToFixed(lv__23));
  6593.             UnitSetCustomValue(UnitGroupLoopCurrent(), 11, IntToFixed(lv_iD));
  6594.             gv_base[lv_iD].lv_base = UnitGroupLoopCurrent();
  6595.         }
  6596.         UnitGroupLoopEnd();
  6597.         UnitSetCustomValue(gv_country[lv__23].lv_spawnStructure, 10, IntToFixed(lv__23));
  6598.         gv_country[lv__23].lv_income = UnitGroupCount(gv_country[lv__23].lv_bases, c_unitCountAlive);
  6599.         gv_country[lv__23].lv_spawnLimit = (UnitGroupCount(gv_country[lv__23].lv_bases, c_unitCountAlive) * 3);
  6600.         gv_country[lv__23].lv_spawnEachRound = FixedToInt(((IntToFixed(UnitGroupCount(gv_country[lv__23].lv_bases, c_unitCountAlive)) / 2.0) * 1.5));
  6601.         gv_country[lv__23].lv_name = gv_country[lv__23].lv_name;
  6602.         gv_country[lv__23].lv_spawnPoint = UnitGetPosition(gv_country[lv__23].lv_spawnStructure);
  6603.         if ((lv__23 != 0)) {
  6604.             TextTagCreate(StringToText((gv_country[lv__23].lv_name + (": " + IntToString(gv_country[lv__23].lv_income)))), 25, UnitGetPosition(gv_country[lv__23].lv_spawnStructure), 0.5, true, false, PlayerGroupAll());
  6605.         }
  6606.  
  6607.         lv__23 = (1 + lv__23);
  6608.     }
  6609.     return true;
  6610. }
  6611.  
  6612. //--------------------------------------------------------------------------------------------------
  6613. void gt_SetupCountries_Init () {
  6614.     gt_SetupCountries = TriggerCreate("gt_SetupCountries_Func");
  6615. }
  6616.  
  6617. //--------------------------------------------------------------------------------------------------
  6618. // Trigger: Setup Bases
  6619. //--------------------------------------------------------------------------------------------------
  6620. bool gt_SetupBases_Func (bool testConds, bool runActions) {
  6621.     // Variable Declarations
  6622.     int lv__23;
  6623.  
  6624.     // Variable Initialization
  6625.     lv__23 = 1;
  6626.  
  6627.     // Actions
  6628.     if (!runActions) {
  6629.         return true;
  6630.     }
  6631.  
  6632.     while ((lv__23 <= gv_gameInfo.lv_maxBases)) {
  6633.         gf_SetupBase(0, lv__23);
  6634.         lv__23 = (lv__23 + 1);
  6635.     }
  6636.     return true;
  6637. }
  6638.  
  6639. //--------------------------------------------------------------------------------------------------
  6640. void gt_SetupBases_Init () {
  6641.     gt_SetupBases = TriggerCreate("gt_SetupBases_Func");
  6642. }
  6643.  
  6644. //--------------------------------------------------------------------------------------------------
  6645. // Trigger: Setup Other
  6646. //--------------------------------------------------------------------------------------------------
  6647. bool gt_SetupOther_Func (bool testConds, bool runActions) {
  6648.     // Actions
  6649.     if (!runActions) {
  6650.         return true;
  6651.     }
  6652.  
  6653.     VisEnable(c_visTypeMask, false);
  6654.     VisEnable(c_visTypeFog, false);
  6655.     GameSetSpeedValue(c_gameSpeedNormal);
  6656.     GameSetSpeedLocked(true);
  6657.     CinematicFade(false, 0.0, c_fadeStyleNormal, Color(0.00, 0.00, 0.00), 0.0, false);
  6658.     UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeSupply, false);
  6659.     UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeResourcePanel, false);
  6660.     UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeAllianceButton, false);
  6661.     UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeAchievementMenuButton, false);
  6662.     HelpPanelEnableTechGlossaryButton(PlayerGroupAll(), false);
  6663.     HelpPanelEnableTechTreeButton(PlayerGroupAll(), false);
  6664.     UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeMenuBar, false);
  6665.     UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeInfoPanel, false);
  6666.     UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeTipAlertPanel, false);
  6667.     UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeMinimapPanel, false);
  6668.     UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeConsolePanel, false);
  6669.     UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeArmyButton, false);
  6670.     UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeIdleWorkerButton, false);
  6671.     PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false));
  6672.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  6673.         TechTreeUnitHelpDefault(PlayerGroupLoopCurrent(), false);
  6674.         HelpPanelEnableTechTreeButton(PlayerGroupAll(), false);
  6675.         PlayerOptionOverride(PlayerGroupLoopCurrent(), "simplecommandcard", "0");
  6676.         PlayerOptionOverride(PlayerGroupLoopCurrent(), "commandhotkeytext", "1");
  6677.         libNtve_gf_SetAlliance(PlayerGroupLoopCurrent(), 0, libNtve_ge_AllianceSetting_Enemy);
  6678.         libNtve_gf_SetAlliance(0, PlayerGroupLoopCurrent(), libNtve_ge_AllianceSetting_Enemy);
  6679.     }
  6680.     PlayerGroupLoopEnd();
  6681.     PlayerGroupLoopBegin(PlayerGroupAll());
  6682.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  6683.         PlayerModifyPropertyInt(PlayerGroupLoopCurrent(), c_playerPropSuppliesMade, c_playerPropOperSetTo, 1750);
  6684.     }
  6685.     PlayerGroupLoopEnd();
  6686.     libNtve_gf_SetPlayerGroupAlliance(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false), libNtve_ge_AllianceSetting_Enemy);
  6687.     libNtve_gf_AddPlayerGroupToPlayerGroup(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false), gv_gameInfo.lv_playingPlayers);
  6688.     PlayerGroupLoopBegin(PlayerGroupActive());
  6689.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  6690.         if ((PlayerType(PlayerGroupLoopCurrent()) != c_playerTypeComputer) && (PlayerType(PlayerGroupLoopCurrent()) == c_playerTypeUser) && (GameAttributePlayerValue("1", PlayerGroupLoopCurrent()) == "0002")) {
  6691.             gv_player[PlayerGroupLoopCurrent()].lv_lobbyStatus = 1;
  6692.             PingSetPlayerPingsShown(PlayerGroupAll(), true);
  6693.             PlayerGroupRemove(gv_gameInfo.lv_startingUsers, PlayerGroupLoopCurrent());
  6694.         }
  6695.  
  6696.         if ((PlayerType(PlayerGroupLoopCurrent()) == c_playerTypeComputer) && (PlayerType(PlayerGroupLoopCurrent()) == c_playerTypeUser) && (GameAttributePlayerValue("1", PlayerGroupLoopCurrent()) != "0002")) {
  6697.             PlayerGroupRemove(gv_gameInfo.lv_startingPlayers, PlayerGroupLoopCurrent());
  6698.         }
  6699.  
  6700.     }
  6701.     PlayerGroupLoopEnd();
  6702.     TriggerExecute(gt_SetupCustomChatUI, true, true);
  6703.     PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupAll(), true, false, false));
  6704.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  6705.         if ((PlayerType(PlayerGroupLoopCurrent()) != c_playerTypeComputer)) {
  6706.             gf_BankLoad(PlayerGroupLoopCurrent());
  6707.             gf_BankIDList(PlayerGroupLoopCurrent());
  6708.         }
  6709.  
  6710.     }
  6711.     PlayerGroupLoopEnd();
  6712.     return true;
  6713. }
  6714.  
  6715. //--------------------------------------------------------------------------------------------------
  6716. void gt_SetupOther_Init () {
  6717.     gt_SetupOther = TriggerCreate("gt_SetupOther_Func");
  6718. }
  6719.  
  6720. //--------------------------------------------------------------------------------------------------
  6721. // Trigger: Setup Screen Fade
  6722. //--------------------------------------------------------------------------------------------------
  6723. bool gt_SetupScreenFade_Func (bool testConds, bool runActions) {
  6724.     // Variable Declarations
  6725.     int lv_dialog;
  6726.  
  6727.     // Variable Initialization
  6728.     lv_dialog = c_invalidDialogControlId;
  6729.  
  6730.     // Actions
  6731.     if (!runActions) {
  6732.         return true;
  6733.     }
  6734.  
  6735.     DialogCreate(1000, 1000, c_anchorCenter, 0, 0, true);
  6736.     DialogSetVisible(DialogLastCreated(), PlayerGroupAll(), true);
  6737.     DialogSetFullscreen(DialogLastCreated(), true);
  6738.     DialogSetImageVisible(DialogLastCreated(), false);
  6739.     libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 225, 150, c_anchorCenter, 0, 0, StringToText(""), "Risk\\Risk_Loading.dds", c_triggerImageTypeNormal, false, Color(100,100,100), c_triggerBlendModeNormal);
  6740.     DialogControlSetFullDialog(DialogControlLastCreated(), PlayerGroupAll(), true);
  6741.     lv_dialog = DialogControlLastCreated();
  6742.     DialogControlFadeTransparency(lv_dialog, PlayerGroupAll(), 5.0, 100.0);
  6743.     if ((gv_gameInfo.lv_newbInGame == true)) {
  6744.         gf_UpdateNewPlayers();
  6745.     }
  6746.  
  6747.     Wait(6.0, c_timeReal);
  6748.     DialogDestroy(DialogControlGetDialog(lv_dialog));
  6749.     return true;
  6750. }
  6751.  
  6752. //--------------------------------------------------------------------------------------------------
  6753. void gt_SetupScreenFade_Init () {
  6754.     gt_SetupScreenFade = TriggerCreate("gt_SetupScreenFade_Func");
  6755. }
  6756.  
  6757. //--------------------------------------------------------------------------------------------------
  6758. // Trigger: Game Initialization
  6759. //--------------------------------------------------------------------------------------------------
  6760. bool gt_GameInitialization_Func (bool testConds, bool runActions) {
  6761.     string autoE6F992E1_val;
  6762.  
  6763.     // Variable Declarations
  6764.     int lv_i;
  6765.  
  6766.     // Variable Initialization
  6767.     lv_i = 1;
  6768.  
  6769.     // Actions
  6770.     if (!runActions) {
  6771.         return true;
  6772.     }
  6773.  
  6774.     autoE6F992E1_val = GameAttributeGameValue("1");
  6775.     if (autoE6F992E1_val == "0001") {
  6776.         PlayerGroupLoopBegin(PlayerGroupAll());
  6777.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  6778.             libNtve_gf_SetAllianceOneWay(PlayerGroupLoopCurrent(), 0, libNtve_ge_AllianceSetting_Neutral);
  6779.         }
  6780.         PlayerGroupLoopEnd();
  6781.         UnitGroupLoopBegin(UnitGroup("MissileTurret", 0, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  6782.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  6783.             UnitRemove(UnitGroupLoopCurrent());
  6784.         }
  6785.         UnitGroupLoopEnd();
  6786.         gv_gameInfo.lv_mode = ge_Mode_Quick;
  6787.         gf_SetCustomValues();
  6788.         gf_ApplySetting();
  6789.     }
  6790.     else if (autoE6F992E1_val == "0002") {
  6791.         PlayerGroupLoopBegin(PlayerGroupAll());
  6792.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  6793.             libNtve_gf_SetAllianceOneWay(PlayerGroupLoopCurrent(), 0, libNtve_ge_AllianceSetting_Neutral);
  6794.         }
  6795.         PlayerGroupLoopEnd();
  6796.         UnitGroupLoopBegin(UnitGroup("MissileTurret", 0, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  6797.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  6798.             UnitRemove(UnitGroupLoopCurrent());
  6799.             gv_gameInfo.lv_mode = ge_Mode_Custome;
  6800.         }
  6801.         UnitGroupLoopEnd();
  6802.         gf_SetupCustomDialog();
  6803.     }
  6804.     else if (autoE6F992E1_val == "0003") {
  6805.         TriggerExecute(gt_TutorialMode, true, false);
  6806.         gv_gameInfo.lv_mode = ge_Mode_Tutorial;
  6807.     }
  6808.     else if (autoE6F992E1_val == "0004") {
  6809.         PlayerGroupLoopBegin(PlayerGroupAll());
  6810.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  6811.             libNtve_gf_SetAllianceOneWay(PlayerGroupLoopCurrent(), 0, libNtve_ge_AllianceSetting_Neutral);
  6812.         }
  6813.         PlayerGroupLoopEnd();
  6814.         UnitGroupLoopBegin(UnitGroup("MissileTurret", 0, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  6815.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  6816.             UnitRemove(UnitGroupLoopCurrent());
  6817.         }
  6818.         UnitGroupLoopEnd();
  6819.         gv_gameInfo.lv_mode = ge_Mode_Solo;
  6820.         gf_SetCustomValues();
  6821.         gf_ApplySetting();
  6822.     }
  6823.     else if (autoE6F992E1_val == "0005") {
  6824.         PlayerGroupLoopBegin(PlayerGroupAll());
  6825.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  6826.             libNtve_gf_SetAllianceOneWay(PlayerGroupLoopCurrent(), 0, libNtve_ge_AllianceSetting_Neutral);
  6827.         }
  6828.         PlayerGroupLoopEnd();
  6829.         UnitGroupLoopBegin(UnitGroup("MissileTurret", 0, RegionFromId(1), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  6830.         for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  6831.             UnitRemove(UnitGroupLoopCurrent());
  6832.         }
  6833.         UnitGroupLoopEnd();
  6834.         gv_gameInfo.lv_mode = ge_Mode_Team;
  6835.         gf_SetCustomValues();
  6836.         gf_ApplySetting();
  6837.         while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  6838.             libNtve_gf_SetPlayerGroupAlliance(GameAttributePlayersForTeam(lv_i), libNtve_ge_AllianceSetting_AllyWithSharedVision);
  6839.             lv_i = (lv_i + 1);
  6840.         }
  6841.         UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeTeamResourceButton, true);
  6842.         UISetResourceTradingAllowed(c_resourceTypeMinerals, false);
  6843.         UISetResourceTradingAllowed(c_resourceTypeVespene, false);
  6844.     }
  6845.     else {
  6846.     }
  6847.     lv_i = 1;
  6848.     while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  6849.         if ((gv_profile.lv_achieveDonateValue[lv_i] == 1)) {
  6850.             gf_ShowHideAllFlag(lv_i, true);
  6851.             DialogControlSetVisible(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lv_i]][gv_scoreboard.lv_flag], PlayerGroupAll(), true);
  6852.             DialogControlSetPosition(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lv_i]][gv_scoreboard.lv_username], PlayerGroupAll(), c_anchorTopLeft, 53, DialogControlGetOffsetY(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[lv_i]][gv_scoreboard.lv_username], 1));
  6853.             gf_RefreshAllFlag(lv_i, 68);
  6854.         }
  6855.  
  6856.         if ((gv_player[lv_i].lv_lobbyStatus == 0) && (gv_player[lv_i].lv_hackerDetect == false) && (gv_gameInfo.lv_ranked == ge_Ranked_Enabled)) {
  6857.             gv_player[lv_i].lv_loses = (gv_player[lv_i].lv_loses + 1);
  6858.             gf_BankSave(lv_i, false);
  6859.         }
  6860.         else {
  6861.             if ((gv_player[lv_i].lv_hackerDetect == true)) {
  6862.                 gf_BankHackerDetected(lv_i);
  6863.             }
  6864.  
  6865.         }
  6866.         if ((gv_player[lv_i].lv_iDStatus == ge_PlayerStatus_Banned)) {
  6867.             GameOver(lv_i, c_gameOverDefeat, false, true);
  6868.             gf_ChatMessage(lv_i, (TextWithColor(PlayerName(lv_i), gv_player[PlayerGroupLoopCurrent()].lv_currentColour) + StringToText(" was found breaking one of Risk Legacy's rules!")), 2);
  6869.         }
  6870.  
  6871.         lv_i = (lv_i + 1);
  6872.     }
  6873.     PlayerGroupLoopBegin(gv_gameInfo.lv_playingPlayers);
  6874.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  6875.         CameraPan(PlayerGroupLoopCurrent(), Point(58.5, 190.5), 0.0, -1, 10.0, false);
  6876.         gv_player[PlayerGroupLoopCurrent()].lv_bases = UnitGroupCount(UnitGroup(null, PlayerGroupLoopCurrent(), RegionPlayableMap(), UnitFilter((1 << c_targetFilterStructure), 0, (1 << c_targetFilterPsionic) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive);
  6877.     }
  6878.     PlayerGroupLoopEnd();
  6879.     gv_player[0].lv_bases = UnitGroupCount(UnitGroup(null, 0, RegionPlayableMap(), UnitFilter((1 << c_targetFilterStructure), 0, (1 << c_targetFilterPsionic) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive);
  6880.     TriggerExecute(gt_SetupCurrencyBar, true, true);
  6881.     gv_gameInfo.lv_gameStarted = true;
  6882.     TriggerExecute(gt_SetupScoreboard, true, true);
  6883.     TimerStart(gv_gameInfo.lv_timer, 1.0, true, c_timeReal);
  6884.     CinematicFade(true, 1.0, c_fadeStyleNormal, Color(100.00, 100.00, 100.00), 100.0, true);
  6885.     gf_InfoCreate();
  6886.     UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeResourcePanel, true);
  6887.     UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeMinimapPanel, true);
  6888.     DialogControlSetEnabled(gv_infoPanel.lv_mainMenuButtons[2], PlayerGroupAll(), true);
  6889.     DialogControlSetEnabled(gv_infoPanel.lv_mainMenuButtons[3], PlayerGroupAll(), true);
  6890.     if ((gv_gameInfo.lv_card == ge_CardSetting_Enabled)) {
  6891.         DialogControlSetEnabled(gv_infoPanel.lv_mainMenuButtons[4], PlayerGroupAll(), true);
  6892.     }
  6893.  
  6894.     if (((gv_customSetting.lv_column_TerritorialDistribution == 2) || (gv_customSetting.lv_column_TerritorialDistribution == 3))) {
  6895.         PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false));
  6896.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  6897.             gf_AchieveChangeAllUnits(PlayerGroupLoopCurrent(), ge_AchieveUnitType_Marine);
  6898.             gf_AchieveChangeAllUnits(PlayerGroupLoopCurrent(), ge_AchieveUnitType_Barracks);
  6899.             gf_AchieveChangeAllUnits(PlayerGroupLoopCurrent(), ge_AchieveUnitType_Starport);
  6900.             gf_RandomimizeNationality(PlayerGroupLoopCurrent(), 0, false);
  6901.         }
  6902.         PlayerGroupLoopEnd();
  6903.     }
  6904.  
  6905.     gf_AnonymizeAllUnit();
  6906.     PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupAll(), true, false, false));
  6907.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  6908.         PlayerScoreValueSetFromInt(PlayerGroupLoopCurrent(), "UnitsTrainedCount", 0);
  6909.         if ((GameAttributeGameValue("1") != "0003")) {
  6910.             gf_MissionStatement(PlayerGroupLoopCurrent());
  6911.         }
  6912.  
  6913.     }
  6914.     PlayerGroupLoopEnd();
  6915.     gf_InfoPanelUpdateStatsAchievements();
  6916.     return true;
  6917. }
  6918.  
  6919. //--------------------------------------------------------------------------------------------------
  6920. void gt_GameInitialization_Init () {
  6921.     gt_GameInitialization = TriggerCreate("gt_GameInitialization_Func");
  6922. }
  6923.  
  6924. //--------------------------------------------------------------------------------------------------
  6925. // Trigger: Setup CurrencyBar
  6926. //--------------------------------------------------------------------------------------------------
  6927. bool gt_SetupCurrencyBar_Func (bool testConds, bool runActions) {
  6928.     // Variable Declarations
  6929.     playergroup lv_cB_PlayerGroup;
  6930.  
  6931.     // Variable Initialization
  6932.     lv_cB_PlayerGroup = PlayerGroupActive();
  6933.  
  6934.     // Actions
  6935.     if (!runActions) {
  6936.         return true;
  6937.     }
  6938.  
  6939.     gv_player[0].lv_defaultColour = Color(32.55, 32.55, 32.55);
  6940.     gv_player[0].lv_currentColour = Color(32.55, 32.55, 32.55);
  6941.     PlayerGroupAdd(lv_cB_PlayerGroup, 0);
  6942.     PlayerGroupLoopBegin(lv_cB_PlayerGroup);
  6943.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  6944.         gv_player[PlayerGroupLoopCurrent()].lv_defaultColour = libNtve_gf_ConvertPlayerColorToColor(PlayerGetColorIndex(PlayerGroupLoopCurrent(), false));
  6945.         gv_player[PlayerGroupLoopCurrent()].lv_currentColour = libNtve_gf_ConvertPlayerColorToColor(PlayerGetColorIndex(PlayerGroupLoopCurrent(), false));
  6946.         DialogCreate(500, gv_currencyBar.lv_height, c_anchorTopRight, 50, 45, true);
  6947.         libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 500, gv_currencyBar.lv_height, c_anchorCenter, 0, 0, StringToText(""), gv_currencyBar.lv_image, c_triggerImageTypeNormal, true, Color(31.76, 31.76, 15.69), c_triggerBlendModeNormal);
  6948.         DialogSetImageVisible(DialogLastCreated(), false);
  6949.         DialogSetVisible(DialogLastCreated(), PlayerGroupSingle(PlayerGroupLoopCurrent()), true);
  6950.         gv_currencyBar.lv_dialog[PlayerGroupLoopCurrent()] = DialogLastCreated();
  6951.         libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 1, gv_currencyBar.lv_height, c_anchorLeft, 0, 0, StringToText(""), gv_currencyBar.lv_image, c_triggerImageTypeNormal, true, Color(56.08, 56.08, 27.84), c_triggerBlendModeNormal);
  6952.         gv_currencyBar.lv_items[PlayerGroupLoopCurrent()] = DialogControlLastCreated();
  6953.     }
  6954.     PlayerGroupLoopEnd();
  6955.     PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false));
  6956.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  6957.         if ((gv_gameInfo.lv_anonymous == ge_Anonymous_Enabled)) {
  6958.             gf_RandomizePlayerColour();
  6959.             gf_ChangeNickName(PlayerGroupLoopCurrent(), StringToText("Anonymous"));
  6960.         }
  6961.         else {
  6962.             gf_ChangeNickName(PlayerGroupLoopCurrent(), PlayerName(PlayerGroupLoopCurrent()));
  6963.         }
  6964.         gf_SetCurrentColour(PlayerGroupLoopCurrent(), false);
  6965.     }
  6966.     PlayerGroupLoopEnd();
  6967.     return true;
  6968. }
  6969.  
  6970. //--------------------------------------------------------------------------------------------------
  6971. void gt_SetupCurrencyBar_Init () {
  6972.     gt_SetupCurrencyBar = TriggerCreate("gt_SetupCurrencyBar_Func");
  6973. }
  6974.  
  6975. //--------------------------------------------------------------------------------------------------
  6976. // Trigger: TutorialMode
  6977. //--------------------------------------------------------------------------------------------------
  6978. bool gt_TutorialMode_Func (bool testConds, bool runActions) {
  6979.     // Variable Declarations
  6980.     unit lv_unit;
  6981.  
  6982.     // Variable Initialization
  6983.  
  6984.     // Actions
  6985.     if (!runActions) {
  6986.         return true;
  6987.     }
  6988.  
  6989.     VisEnable(c_visTypeMask, true);
  6990.     VisEnable(c_visTypeMask, true);
  6991.     VisExploreArea(1, RegionEntireMap(), false, false);
  6992.     gv_gameInfo.lv_victoryConditionType = ge_WinConditions_Disabled;
  6993.     gv_gameInfo.lv_victoryConditionPercentage = 110;
  6994.     gv_gameInfo.lv_incomePeriod = 45;
  6995.     gv_gameInfo.lv_card = ge_CardSetting_Enabled;
  6996.     gv_gameInfo.lv_anonymous = ge_Anonymous_Disabled;
  6997.     DialogControlSetEnabled(gv_infoPanel.lv_mainMenuButtons[4], PlayerGroupAll(), true);
  6998.     Wait(0.0, c_timeGame);
  6999.     gf_ChatMessage(1, (StringToText("<c val=\"CCCC33\">Tutorial</c> - Welcome to Risk Legacy's tutorial guide!") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7000.     gf_ChatMessage(1, (StringToText("Follow the Instructions on the Objetive Panel on the Top Right Corner.") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7001.     VisExploreArea(1, RegionFromId(4), true, false);
  7002.     CameraSetBounds(PlayerGroupAll(), RegionFromId(4), true);
  7003.     RegionPlayableMapSet(RegionFromId(4));
  7004.     gf_SetupCountryOwnership(0, FixedToInt(UnitGetCustomValue(UnitFromId(133), 10)));
  7005.     gf_SetupCountryOwnership(0, FixedToInt(UnitGetCustomValue(UnitFromId(129), 10)));
  7006.     gf_SetupBaseOwnership(1, FixedToInt(UnitGetCustomValue(UnitFromId(131), 11)));
  7007.     ObjectiveCreate(StringToText("Produce 4 Marines"), StringToText(""), c_objectiveStateActive, true);
  7008.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(131)), "HaloStart");
  7009.     while (!((UnitGroupCount(UnitGroup("Marine", 1, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) == 5))) {
  7010.         Wait(1.0, c_timeGame);
  7011.     }
  7012.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(131)), "HaloStop");
  7013.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(130)), "HaloStart");
  7014.     gf_ChatMessage(1, (StringToText("<c val=\"CCCC33\">Tutorial</c> - For every 3 enemy unit's you kill, 1 currency is given to you.") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7015.     ObjectiveSetState(ObjectiveLastCreated(), c_objectiveStateCompleted);
  7016.     ObjectiveCreate(StringToText("Conquer Lithunia"), StringToText(""), c_objectiveStateActive, true);
  7017.     while (!((UnitGetOwner(UnitFromId(130)) == 1))) {
  7018.         Wait(1.0, c_timeGame);
  7019.     }
  7020.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(130)), "HaloStop");
  7021.     gf_ChatMessage(1, (StringToText("<c val=\"CCCC33\">Tutorial</c> - Controlling a country allows you to use spawns") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7022.     gf_ChatMessage(1, (StringToText("that appear until you reach the limit.") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7023.     ObjectiveSetState(ObjectiveLastCreated(), c_objectiveStateCompleted);
  7024.     ObjectiveCreate(StringToText("Conquer Kalingrad"), StringToText(""), c_objectiveStateActive, true);
  7025.     while (!((gv_country[FixedToInt(UnitGetCustomValue(UnitFromId(133), 10))].lv_owner == 1))) {
  7026.         Wait(1.0, c_timeGame);
  7027.     }
  7028.     gf_ChatMessage(1, (StringToText("<c val=\"CCCC33\">Tutorial</c> - For every enemy base you conquer, you gain 1 card.") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7029.     gf_ChatMessage(1, (StringToText("3 Cards equate to 5 Currency when you press the Card Button.") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7030.     gf_ChatMessage(1, (StringToText("It glows yellow when it can be used.") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7031.     ObjectiveSetState(ObjectiveLastCreated(), c_objectiveStateCompleted);
  7032.     ObjectiveCreate(StringToText("Use the Card Button"), StringToText(""), c_objectiveStateActive, true);
  7033.     while (!((PlayerGetPropertyInt(1, c_playerPropCustom) == 0))) {
  7034.         Wait(1.0, c_timeGame);
  7035.     }
  7036.     ObjectiveSetState(ObjectiveLastCreated(), c_objectiveStateCompleted);
  7037.     VisExploreArea(1, RegionFromId(2), true, false);
  7038.     CameraSetBounds(PlayerGroupAll(), RegionFromId(2), true);
  7039.     RegionPlayableMapSet(RegionFromId(2));
  7040.     gf_SetupCountryOwnership(0, FixedToInt(UnitGetCustomValue(UnitFromId(129), 10)));
  7041.     gf_SetupCountryOwnership(0, FixedToInt(UnitGetCustomValue(UnitFromId(128), 10)));
  7042.     ObjectiveCreate(StringToText("Kill Enemy Forces"), StringToText(""), c_objectiveStateActive, true);
  7043.     gf_ChatMessage(1, (StringToText("<c val=\"CCCC33\">Tutorial</c> - Each unit has their own counters which can be viewed on their") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7044.     gf_ChatMessage(1, (StringToText("tooltip.") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7045.     gf_ChatMessage(1, (StringToText("Examples: Hellions beat Marines. Marauders beat Tanks and Hellions.") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7046.     UnitCreate(5, "Marine", 0, 2, PointWithOffset(UnitGetPosition(UnitFromId(129)), 0.0, -2.3), 225.0);
  7047.     UnitCreate(5, "Marine", 0, 2, PointWithOffset(UnitGetPosition(UnitFromId(126)), 0.0, -2.3), 225.0);
  7048.     UnitCreate(5, "Marine", 0, 2, PointWithOffset(UnitGetPosition(UnitFromId(128)), 0.0, -2.3), 225.0);
  7049.     UnitCreate(1, "Hellion", 0, 2, PointWithOffset(UnitGetPosition(UnitFromId(128)), 0.0, -2.0), 225.0);
  7050.     UnitCreate(2, "Medic", 0, 2, PointWithOffset(UnitGetPosition(UnitFromId(128)), 0.0, -1.8), 225.0);
  7051.     while (!((gv_country[FixedToInt(UnitGetCustomValue(UnitFromId(129), 10))].lv_owner == 1) && (gv_country[FixedToInt(UnitGetCustomValue(UnitFromId(128), 10))].lv_owner == 1))) {
  7052.         Wait(1.0, c_timeGame);
  7053.     }
  7054.     ObjectiveSetState(ObjectiveLastCreated(), c_objectiveStateCompleted);
  7055.     VisExploreArea(1, RegionFromId(3), true, false);
  7056.     CameraSetBounds(PlayerGroupAll(), RegionFromId(3), true);
  7057.     RegionPlayableMapSet(RegionFromId(3));
  7058.     ObjectiveCreate(StringToText("Produce 1 Hercules"), StringToText(""), c_objectiveStateActive, true);
  7059.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(127)), "HaloStart");
  7060.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(126)), "HaloStart");
  7061.     gf_SetupBaseOwnership(0, FixedToInt(UnitGetCustomValue(UnitFromId(167), 11)));
  7062.     gf_SetupBaseOwnership(0, FixedToInt(UnitGetCustomValue(UnitFromId(166), 11)));
  7063.     while (!((UnitGroupCount(UnitGroup("Hercules", 1, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) == 1))) {
  7064.         Wait(1.0, c_timeGame);
  7065.     }
  7066.     gf_ChatMessage(1, (StringToText("<c val=\"CCCC33\">Tutorial</c> - You can load your troops in the Hercules to travel through the sea.") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7067.     gf_ChatMessage(1, (StringToText("You can only load and unload troops in the areas near the Starports.") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7068.     ObjectiveSetState(ObjectiveLastCreated(), c_objectiveStateCompleted);
  7069.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(127)), "HaloStop");
  7070.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(126)), "HaloStop");
  7071.     ObjectiveCreate(StringToText("Conquer Southern Sweden"), StringToText(""), c_objectiveStateActive, true);
  7072.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(167)), "HaloStart");
  7073.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(166)), "HaloStart");
  7074.     while (!((UnitGetOwner(UnitFromId(167)) == 1) && (UnitGetOwner(UnitFromId(166)) == 1))) {
  7075.         Wait(1.0, c_timeGame);
  7076.     }
  7077.     ObjectiveSetState(ObjectiveLastCreated(), c_objectiveStateCompleted);
  7078.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(167)), "HaloStop");
  7079.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(166)), "HaloStop");
  7080.     VisExploreArea(1, RegionFromId(1), true, false);
  7081.     CameraSetBounds(PlayerGroupAll(), RegionFromId(1), true);
  7082.     RegionPlayableMapSet(RegionFromId(1));
  7083.     ObjectiveCreate(StringToText("Conquer the rest of Sweden"), StringToText(""), c_objectiveStateActive, true);
  7084.     gf_SetupBaseOwnership(0, FixedToInt(UnitGetCustomValue(UnitFromId(165), 11)));
  7085.     gf_SetupBaseOwnership(0, FixedToInt(UnitGetCustomValue(UnitFromId(164), 11)));
  7086.     gf_SetupBaseOwnership(0, FixedToInt(UnitGetCustomValue(UnitFromId(163), 11)));
  7087.     gf_SetupCountryOwnership(2, FixedToInt(UnitGetCustomValue(UnitFromId(160), 10)));
  7088.     gf_SetupCountryOwnership(2, FixedToInt(UnitGetCustomValue(UnitFromId(142), 10)));
  7089.     UnitCreate(10, "Marine", 0, 2, PointWithOffset(UnitGetPosition(UnitFromId(161)), -1.8, -2.3), 225.0);
  7090.     UnitCreate(3, "Medic", 0, 2, PointWithOffset(UnitGetPosition(UnitFromId(161)), -1.8, -1.8), 225.0);
  7091.     UnitCreate(2, "Marauder", 0, 2, PointWithOffset(UnitGetPosition(UnitFromId(161)), -1.8, -2.7), 225.0);
  7092.     UnitCreate(1, "SiegeTank", 0, 2, PointWithOffset(UnitGetPosition(UnitFromId(161)), -1.3, -2.3), 225.0);
  7093.     UnitCreate(10, "Marine", 0, 2, PointWithOffset(UnitGetPosition(UnitFromId(162)), 2.3, 1.8), 225.0);
  7094.     UnitCreate(2, "Marauder", 0, 2, PointWithOffset(UnitGetPosition(UnitFromId(162)), 2.3, 1.3), 225.0);
  7095.     UnitCreate(2, "Banshee", 0, 2, Point(112.0, 150.0), 225.0);
  7096.     while (!((gv_country[FixedToInt(UnitGetCustomValue(UnitFromId(163), 10))].lv_owner == 1))) {
  7097.         Wait(1.0, c_timeGame);
  7098.     }
  7099.     gf_ChatMessage(1, (StringToText("<c val=\"CCCC33\">Tutorial</c> - Use choke points (forest lines) to your advantage.") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7100.     gf_ChatMessage(1, (StringToText("Lure the enemy's army into the choke point to minimize his damage output.") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7101.     gf_ChatMessage(1, (StringToText("Another tip is to target enemy Tanks with a small group of Marauders") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7102.     gf_ChatMessage(1, (StringToText(" if you have a chance to.") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7103.     ObjectiveSetState(ObjectiveLastCreated(), c_objectiveStateCompleted);
  7104.     ObjectiveCreate(StringToText("Conquer Finland"), StringToText(""), c_objectiveStateActive, true);
  7105.     while (!((gv_country[FixedToInt(UnitGetCustomValue(UnitFromId(161), 10))].lv_owner == 1))) {
  7106.         Wait(1.0, c_timeGame);
  7107.     }
  7108.     ObjectiveSetState(ObjectiveLastCreated(), c_objectiveStateCompleted);
  7109.     ObjectiveCreate(StringToText("Produce 3 Banshees"), StringToText(""), c_objectiveStateActive, true);
  7110.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(127)), "HaloStart");
  7111.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(126)), "HaloStart");
  7112.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(167)), "HaloStart");
  7113.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(158)), "HaloStart");
  7114.     while (!((UnitGroupCount(UnitGroup("Banshee", 1, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) == 3))) {
  7115.         Wait(1.0, c_timeGame);
  7116.     }
  7117.     ObjectiveSetState(ObjectiveLastCreated(), c_objectiveStateCompleted);
  7118.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(127)), "HaloStop");
  7119.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(126)), "HaloStop");
  7120.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(167)), "HaloStop");
  7121.     ActorSend(libNtve_gf_MainActorofUnit(UnitFromId(158)), "HaloStop");
  7122.     ObjectiveCreate(StringToText("Conquer Denmark"), StringToText(""), c_objectiveStateActive, true);
  7123.     while (!((gv_country[FixedToInt(UnitGetCustomValue(UnitFromId(142), 10))].lv_owner == 1))) {
  7124.         Wait(1.0, c_timeGame);
  7125.     }
  7126.     ObjectiveSetState(ObjectiveLastCreated(), c_objectiveStateCompleted);
  7127.     ObjectiveCreate(StringToText("Change Denmark Barrack's Defender"), StringToText(""), c_objectiveStateActive, true);
  7128.     gf_ChatMessage(1, (StringToText("<c val=\"CCCC33\">Tutorial</c> - Each base has a Swap Defender ability.") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7129.     gf_ChatMessage(1, (StringToText("Which can save very expensive units such as tanks") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7130.     gf_ChatMessage(1, (StringToText("while defending your base or on the move.") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7131.     lv_unit = gv_base[FixedToInt(UnitGetCustomValue(UnitFromId(140), 11))].lv_defender;
  7132.     while (!((gv_base[FixedToInt(UnitGetCustomValue(UnitFromId(140), 11))].lv_defender != lv_unit))) {
  7133.         Wait(1.0, c_timeGame);
  7134.     }
  7135.     ObjectiveSetState(ObjectiveLastCreated(), c_objectiveStateCompleted);
  7136.     gf_ChatMessage(1, (StringToText("<c val=\"CCCC33\">Tutorial</c> - You have finished the Tutorial!") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7137.     gf_ChatMessage(1, (StringToText("You have learned the basics of Risk Legacy and") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7138.     gf_ChatMessage(1, (StringToText("should be ready play against others!") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7139.     gf_ChatMessage(1, (StringToText("For more strategies and tips, go to risk.udmod.com") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7140.     gv_player[1].lv_playedTutorial = true;
  7141.     gf_BankSave(1, false);
  7142.     gf_InfoPanelUpdateStatsAchievements();
  7143.     TriggerStop(gt_Refresh);
  7144.     return true;
  7145. }
  7146.  
  7147. //--------------------------------------------------------------------------------------------------
  7148. void gt_TutorialMode_Init () {
  7149.     gt_TutorialMode = TriggerCreate("gt_TutorialMode_Func");
  7150. }
  7151.  
  7152. //--------------------------------------------------------------------------------------------------
  7153. // Trigger: Reminders
  7154. //--------------------------------------------------------------------------------------------------
  7155. bool gt_Reminders_Func (bool testConds, bool runActions) {
  7156.     // Actions
  7157.     if (!runActions) {
  7158.         return true;
  7159.     }
  7160.  
  7161.     Wait(60.0, c_timeGame);
  7162.     gf_ChatMessage(1, (StringToText("<c val=\"CCCC33\">Annoucement</c> - Post comments, suggestions, feedback, balance suggestions or anything you want to say about the map on the Risk Legacy website or leave a review after the game.") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 2);
  7163.     return true;
  7164. }
  7165.  
  7166. //--------------------------------------------------------------------------------------------------
  7167. void gt_Reminders_Init () {
  7168.     gt_Reminders = TriggerCreate("gt_Reminders_Func");
  7169.     TriggerAddEventTimeElapsed(gt_Reminders, 50.0, c_timeGame);
  7170. }
  7171.  
  7172. //--------------------------------------------------------------------------------------------------
  7173. // Trigger: Setup Scoreboard
  7174. //--------------------------------------------------------------------------------------------------
  7175. bool gt_SetupScoreboard_Func (bool testConds, bool runActions) {
  7176.     // Variable Declarations
  7177.     int lv_storeLength;
  7178.     int lv_row;
  7179.     int lv_pickRandomPlayer;
  7180.     int[14] lv_playerIndex;
  7181.     int lv_ii;
  7182.     playergroup lv_scrambled_Players;
  7183.     playergroup lv_cB_PlayerGroup;
  7184.     int lv_cB_StoreLength;
  7185.     int lv_cB_CalculateImageSize;
  7186.  
  7187.     // Variable Initialization
  7188.     lv_storeLength = 30;
  7189.     lv_ii = 1;
  7190.     lv_scrambled_Players = PlayerGroupEmpty();
  7191.     lv_cB_PlayerGroup = PlayerGroupActive();
  7192.  
  7193.     // Actions
  7194.     if (!runActions) {
  7195.         return true;
  7196.     }
  7197.  
  7198.     DialogCreate(490, 388, c_anchorTopRight, 0, 80, true);
  7199.     gv_scoreboard.lv_dialog = DialogLastCreated();
  7200.     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 18, lv_storeLength, StringToText("Players"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  7201.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7202.     if ((gv_gameInfo.lv_alliance == ge_Alliance_EnabledFree)) {
  7203.         libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 180, lv_storeLength, StringToText("Ally"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  7204.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7205.     }
  7206.  
  7207.     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 235, lv_storeLength, StringToText("Inc"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  7208.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7209.     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 290, lv_storeLength, StringToText("Kill"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  7210.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7211.     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 350, lv_storeLength, StringToText("Death"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  7212.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7213.     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 410, lv_storeLength, StringToText("Status"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  7214.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7215.     lv_storeLength = (30 + lv_storeLength);
  7216.     if ((gv_gameInfo.lv_anonymous == ge_Anonymous_Enabled)) {
  7217.         gf_RandomizePlayerColour();
  7218.         while (true) {
  7219.             lv_pickRandomPlayer = RandomInt(1, 12);
  7220.             if ((PlayerGroupHasPlayer(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false), lv_pickRandomPlayer) == true) && (PlayerGroupHasPlayer(lv_scrambled_Players, lv_pickRandomPlayer) == false) && (lv_ii <= PlayerGroupCount(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false)))) {
  7221.                 lv_playerIndex[lv_ii] = lv_pickRandomPlayer;
  7222.                 PlayerGroupAdd(lv_scrambled_Players, lv_pickRandomPlayer);
  7223.                 lv_ii = (lv_ii + 1);
  7224.             }
  7225.  
  7226.             if ((lv_ii > PlayerGroupCount(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false)))) {
  7227.                 break;
  7228.             }
  7229.  
  7230.         }
  7231.         lv_ii = 1;
  7232.         while ((PlayerGroupHasPlayer(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false), lv_playerIndex[lv_ii]) == true)) {
  7233.             lv_row = (1 + lv_row);
  7234.             gf_RefreshPlayerStatus(lv_playerIndex[lv_ii], ge_Status_Active);
  7235.             gv_scoreboard.lv_getRowIDViaPlayer[lv_playerIndex[lv_ii]] = lv_row;
  7236.             gv_scoreboard.lv_getPlayerIDviaRow[lv_row] = lv_playerIndex[lv_ii];
  7237.             libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 30, 15, c_anchorTopLeft, 20, (lv_storeLength + 3), StringToText(""), "Assets\\Textures\\white32.dds", c_triggerImageTypeNormal, false, Color(100,100,100), c_triggerBlendModeNormal);
  7238.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7239.             gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_flag] = DialogControlLastCreated();
  7240.             DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
  7241.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 18, lv_storeLength, gv_player[lv_playerIndex[lv_ii]].lv_nickname, gv_player[lv_playerIndex[lv_ii]].lv_currentColour, false, 2.0);
  7242.             gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_username] = DialogControlLastCreated();
  7243.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7244.             if ((gv_gameInfo.lv_alliance == ge_Alliance_EnabledFree)) {
  7245.                 libNtve_gf_CreateDialogItemCheckBox(gv_scoreboard.lv_dialog, 20, 20, c_anchorTopLeft, 183, (lv_storeLength - 1), StringToText(""), false);
  7246.                 gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_alliance] = DialogControlLastCreated();
  7247.                 libNtve_gf_SetDialogItemCurrentValue(DialogControlLastCreated(), IntToFixed(lv_ii), PlayerGroupAll());
  7248.                 DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), true);
  7249.                 DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupSingle(lv_playerIndex[lv_ii]), false);
  7250.                 DialogControlSetVisible(gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_alliance], PlayerGroupSingle(lv_ii), false);
  7251.             }
  7252.  
  7253.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 235, lv_storeLength, StringToText("4"), libNtve_gf_ConvertPlayerColorToColor(PlayerGetColorIndex(lv_playerIndex[lv_ii], false)), false, 2.0);
  7254.             gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_income] = DialogControlLastCreated();
  7255.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7256.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 290, lv_storeLength, StringToText("0"), libNtve_gf_ConvertPlayerColorToColor(PlayerGetColorIndex(lv_playerIndex[lv_ii], false)), false, 2.0);
  7257.             gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_kills] = DialogControlLastCreated();
  7258.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7259.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 350, lv_storeLength, StringToText("0"), libNtve_gf_ConvertPlayerColorToColor(PlayerGetColorIndex(lv_playerIndex[lv_ii], false)), false, 2.0);
  7260.             gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_losses] = DialogControlLastCreated();
  7261.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7262.             libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 20, 20, c_anchorTopLeft, 422, lv_storeLength, StringToText("Active"), "Risk\\Active.dds", c_triggerImageTypeNormal, true, Color(100,100,100), c_triggerBlendModeNormal);
  7263.             gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_status] = DialogControlLastCreated();
  7264.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7265.             lv_storeLength = (27 + lv_storeLength);
  7266.             lv_ii = (lv_ii + 1);
  7267.         }
  7268.     }
  7269.     else if ((gv_gameInfo.lv_anonymous == ge_Anonymous_Disabled)) {
  7270.         PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false));
  7271.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  7272.             gv_player[PlayerGroupLoopCurrent()].lv_defaultColour = libNtve_gf_ConvertPlayerColorToColor(PlayerGetColorIndex(PlayerGroupLoopCurrent(), false));
  7273.             gv_player[PlayerGroupLoopCurrent()].lv_currentColour = libNtve_gf_ConvertPlayerColorToColor(PlayerGetColorIndex(PlayerGroupLoopCurrent(), false));
  7274.             lv_row = (1 + lv_row);
  7275.             gf_RefreshPlayerStatus(PlayerGroupLoopCurrent(), ge_Status_Active);
  7276.             gv_scoreboard.lv_getRowIDViaPlayer[PlayerGroupLoopCurrent()] = lv_row;
  7277.             gv_scoreboard.lv_getPlayerIDviaRow[lv_row] = PlayerGroupLoopCurrent();
  7278.             if (((gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl1) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl2) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl3) || (gv_player[PlayerGroupLoopCurrent()].lv_iDStatus == ge_PlayerStatus_DonatorLvl4))) {
  7279.                 libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 30, 15, c_anchorTopLeft, 38, (lv_storeLength + 3), StringToText(""), "Assets\\Textures\\white32.dds", c_triggerImageTypeNormal, false, Color(100,100,100), c_triggerBlendModeNormal);
  7280.                 gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_flag] = DialogControlLastCreated();
  7281.                 libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight18", PlayerGroupAll());
  7282.                 DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
  7283.                 libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 20, 15, c_anchorTopLeft, 18, (lv_storeLength + 3), StringToText("Donator of Risk"), "risk\\Chat\\star_80.dds", c_triggerImageTypeNormal, false, Color(100,100,100), c_triggerBlendModeNormal);
  7284.                 gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_donatorIcon] = DialogControlLastCreated();
  7285.                 libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 38, lv_storeLength, gv_player[PlayerGroupLoopCurrent()].lv_nickname, libNtve_gf_ConvertPlayerColorToColor(PlayerGetColorIndex(PlayerGroupLoopCurrent(), false)), false, 2.0);
  7286.                 gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_username] = DialogControlLastCreated();
  7287.                 libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7288.             }
  7289.             else {
  7290.                 libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 30, 15, c_anchorTopLeft, 18, (lv_storeLength + 3), StringToText(""), "Assets\\Textures\\white32.dds", c_triggerImageTypeNormal, false, Color(100,100,100), c_triggerBlendModeNormal);
  7291.                 gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_flag] = DialogControlLastCreated();
  7292.                 libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight18", PlayerGroupAll());
  7293.                 DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
  7294.                 libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 18, lv_storeLength, gv_player[PlayerGroupLoopCurrent()].lv_nickname, libNtve_gf_ConvertPlayerColorToColor(PlayerGetColorIndex(PlayerGroupLoopCurrent(), false)), false, 2.0);
  7295.                 gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_username] = DialogControlLastCreated();
  7296.                 libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7297.             }
  7298.             if ((gv_gameInfo.lv_alliance == ge_Alliance_EnabledFree)) {
  7299.                 libNtve_gf_CreateDialogItemCheckBox(gv_scoreboard.lv_dialog, 20, 20, c_anchorTopLeft, 183, (lv_storeLength - 1), StringToText(""), false);
  7300.                 gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_alliance] = DialogControlLastCreated();
  7301.                 libNtve_gf_SetDialogItemCurrentValue(DialogControlLastCreated(), IntToFixed(PlayerGroupLoopCurrent()), PlayerGroupAll());
  7302.                 DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), true);
  7303.                 DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupSingle(PlayerGroupLoopCurrent()), false);
  7304.                 DialogControlSetVisible(gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_alliance], PlayerGroupSingle(PlayerGroupLoopCurrent()), false);
  7305.             }
  7306.  
  7307.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 235, lv_storeLength, StringToText("4"), libNtve_gf_ConvertPlayerColorToColor(PlayerGetColorIndex(PlayerGroupLoopCurrent(), false)), false, 2.0);
  7308.             gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_income] = DialogControlLastCreated();
  7309.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7310.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 290, lv_storeLength, StringToText("0"), libNtve_gf_ConvertPlayerColorToColor(PlayerGetColorIndex(PlayerGroupLoopCurrent(), false)), false, 2.0);
  7311.             gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_kills] = DialogControlLastCreated();
  7312.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7313.             libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorTopLeft, 350, lv_storeLength, StringToText("0"), libNtve_gf_ConvertPlayerColorToColor(PlayerGetColorIndex(PlayerGroupLoopCurrent(), false)), false, 2.0);
  7314.             gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_losses] = DialogControlLastCreated();
  7315.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7316.             libNtve_gf_CreateDialogItemImage(DialogLastCreated(), 20, 20, c_anchorTopLeft, 422, lv_storeLength, StringToText("Active"), "Risk\\Active.dds", c_triggerImageTypeNormal, true, Color(100,100,100), c_triggerBlendModeNormal);
  7317.             gv_scoreboard.lv_items[lv_row][gv_scoreboard.lv_status] = DialogControlLastCreated();
  7318.             libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7319.             lv_storeLength = (27 + lv_storeLength);
  7320.             lv_ii = (lv_ii + 1);
  7321.         }
  7322.         PlayerGroupLoopEnd();
  7323.     }
  7324.     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 475, 50, c_anchorTopLeft, 18, (lv_storeLength - 12), StringToText("__________________________________________________________________________________________________________________________________________________________________________________________________________________________________"), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  7325.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoLight18", PlayerGroupAll());
  7326.     lv_row = (1 + lv_row);
  7327.     lv_storeLength = (10 + lv_storeLength);
  7328.     libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 470, 50, c_anchorTopLeft, 18, (lv_storeLength - 0), StringToText("News: "), libNtve_gf_ConvertPlayerColorToColor(0), false, 2.0);
  7329.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7330.     gv_scoreboard.lv_items[lv_row][0] = DialogControlLastCreated();
  7331.     gv_scoreboard.lv_getNotificationRow = lv_row;
  7332.     lv_storeLength = (40 + lv_storeLength);
  7333.     DialogSetSize(DialogLastCreated(), 490, lv_storeLength);
  7334.     libNtve_gf_CreateDialogItemImage(DialogLastCreated(), DialogGetWidth(DialogLastCreated()), ((lv_storeLength + 5) - (13 / PlayerGroupCount(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false)))), c_anchorTopLeft, 0, 0, StringToText(""), "Assets\\Textures\\ui_camapaignmenu_dialogbox_base.dds", c_triggerImageTypeHorizontalBorder, false, Color(100,100,100), c_triggerBlendModeNormal);
  7335.     gv_scoreboard.lv_background = DialogControlLastCreated();
  7336.     libNtve_gf_SetDialogItemRenderPriority(DialogControlLastCreated(), 100, PlayerGroupAll());
  7337.     DialogSetImageVisible(DialogLastCreated(), false);
  7338.     DialogSetVisible(DialogLastCreated(), PlayerGroupAll(), true);
  7339.     DialogCreate(490, 400, c_anchorTopRight, 0, 80, true);
  7340.     libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 45, 40, c_anchorTopRight, -4, 2, StringToText("Minimize this scoreboard"), StringToText(""), "Assets\\Textures\\ui_button_unbindkey_normaloverpressedover_bnet.dds");
  7341.     libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7342.     libNtve_gf_SetDialogItemImage(DialogControlLastCreated(), "Assets\\Textures\\ui_button_unbindkey_normalpressed_bnet.dds", PlayerGroupAll());
  7343.     libNtve_gf_SetDialogItemImageType(DialogControlLastCreated(), c_triggerImageTypeNormal, PlayerGroupAll());
  7344.     gv_scoreboard.lv_minimize = DialogControlLastCreated();
  7345.     DialogSetImageVisible(DialogLastCreated(), false);
  7346.     DialogSetVisible(DialogLastCreated(), PlayerGroupAll(), true);
  7347.     DialogSetVisible(DialogLastCreated(), PlayerGroupAll(), true);
  7348.     PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupAll(), true, true, false));
  7349.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  7350.         gf_SetCurrentColour(PlayerGroupLoopCurrent(), false);
  7351.         if ((gv_gameInfo.lv_anonymous == ge_Anonymous_Enabled)) {
  7352.             gf_ChangeNickName(PlayerGroupLoopCurrent(), StringToText("Anonymous"));
  7353.         }
  7354.         else {
  7355.             gf_ChangeNickName(PlayerGroupLoopCurrent(), PlayerName(PlayerGroupLoopCurrent()));
  7356.         }
  7357.         libNtve_gf_SetDialogItemTooltip(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[PlayerGroupLoopCurrent()]][gv_scoreboard.lv_username], (StringToText("Battle.net ID - ") + StringToText(PlayerHandle(PlayerGroupLoopCurrent()))), PlayerGroupSingle(PlayerGroupLoopCurrent()));
  7358.         libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "RobotoMedium 18", PlayerGroupAll());
  7359.     }
  7360.     PlayerGroupLoopEnd();
  7361.     return true;
  7362. }
  7363.  
  7364. //--------------------------------------------------------------------------------------------------
  7365. void gt_SetupScoreboard_Init () {
  7366.     gt_SetupScoreboard = TriggerCreate("gt_SetupScoreboard_Func");
  7367. }
  7368.  
  7369. //--------------------------------------------------------------------------------------------------
  7370. // Trigger: Setup Custom Chat UI
  7371. //--------------------------------------------------------------------------------------------------
  7372. bool gt_SetupCustomChatUI_Func (bool testConds, bool runActions) {
  7373.     // Variable Declarations
  7374.     int lv_i;
  7375.  
  7376.     // Variable Initialization
  7377.     lv_i = 1;
  7378.  
  7379.     // Actions
  7380.     if (!runActions) {
  7381.         return true;
  7382.     }
  7383.  
  7384.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\angel_80.dds\" width=\"25\" height=\"25\"/>";
  7385.         gv_chat.lv_emoticonText[lv_i] = " 0:)";
  7386.         lv_i = (lv_i + 1);
  7387.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\angry_80.dds\" width=\"25\" height=\"25\"/>";
  7388.         gv_chat.lv_emoticonText[lv_i] = " >:(";
  7389.         lv_i = (lv_i + 1);
  7390.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\bandit_80.dds\" width=\"25\" height=\"25\"/>";
  7391.         gv_chat.lv_emoticonText[lv_i] = " :bandit";
  7392.         lv_i = (lv_i + 1);
  7393.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\beer_80.dds\" width=\"25\" height=\"25\"/>";
  7394.         gv_chat.lv_emoticonText[lv_i] = " :beer";
  7395.         lv_i = (lv_i + 1);
  7396.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\drink_80.dds\" width=\"25\" height=\"25\"/>";
  7397.         gv_chat.lv_emoticonText[lv_i] = " :drink";
  7398.         lv_i = (lv_i + 1);
  7399.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\dancing_80.dds\" width=\"25\" height=\"25\"/>";
  7400.         gv_chat.lv_emoticonText[lv_i] = " :dance";
  7401.         lv_i = (lv_i + 1);
  7402.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\bigsmile_80.dds\" width=\"25\" height=\"25\"/>";
  7403.         gv_chat.lv_emoticonText[lv_i] = " :D";
  7404.         lv_i = (lv_i + 1);
  7405.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\blushing_80.dds\" width=\"25\" height=\"25\"/>";
  7406.         gv_chat.lv_emoticonText[lv_i] = " :$";
  7407.         lv_i = (lv_i + 1);
  7408.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\bow_80.dds\" width=\"25\" height=\"25\"/>";
  7409.         gv_chat.lv_emoticonText[lv_i] = " :bow";
  7410.         lv_i = (lv_i + 1);
  7411.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\brokenheart_80.dds\" width=\"25\" height=\"25\"/>";
  7412.         gv_chat.lv_emoticonText[lv_i] = " </3";
  7413.         lv_i = (lv_i + 1);
  7414.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\bug_80.dds\" width=\"25\" height=\"25\"/>";
  7415.         gv_chat.lv_emoticonText[lv_i] = " :bug";
  7416.         lv_i = (lv_i + 1);
  7417.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\cake_80.dds\" width=\"25\" height=\"25\"/>";
  7418.         gv_chat.lv_emoticonText[lv_i] = " :cake";
  7419.         lv_i = (lv_i + 1);
  7420.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\call_80.dds\" width=\"25\" height=\"25\"/>";
  7421.         gv_chat.lv_emoticonText[lv_i] = " :call";
  7422.         lv_i = (lv_i + 1);
  7423.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\cash_80.dds\" width=\"25\" height=\"25\"/>";
  7424.         gv_chat.lv_emoticonText[lv_i] = " :cash";
  7425.         lv_i = (lv_i + 1);
  7426.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\clapping_80.dds\" width=\"25\" height=\"25\"/>";
  7427.         gv_chat.lv_emoticonText[lv_i] = " :clap";
  7428.         lv_i = (lv_i + 1);
  7429.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\coffee_80.dds\" width=\"25\" height=\"25\"/>";
  7430.         gv_chat.lv_emoticonText[lv_i] = " :coffee";
  7431.         lv_i = (lv_i + 1);
  7432.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\cool_80.dds\" width=\"25\" height=\"25\"/>";
  7433.         gv_chat.lv_emoticonText[lv_i] = " B)";
  7434.         lv_i = (lv_i + 1);
  7435.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\crying_80.dds\" width=\"25\" height=\"25\"/>";
  7436.         gv_chat.lv_emoticonText[lv_i] = " :'(";
  7437.         lv_i = (lv_i + 1);
  7438.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\devil_80.dds\" width=\"25\" height=\"25\"/>";
  7439.         gv_chat.lv_emoticonText[lv_i] = " }:D";
  7440.         lv_i = (lv_i + 1);
  7441.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\doh_80.dds\" width=\"25\" height=\"25\"/>";
  7442.         gv_chat.lv_emoticonText[lv_i] = " >:o";
  7443.         lv_i = (lv_i + 1);
  7444.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\drunk_80.dds\" width=\"25\" height=\"25\"/>";
  7445.         gv_chat.lv_emoticonText[lv_i] = " %)";
  7446.         lv_i = (lv_i + 1);
  7447.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\dull_80.dds\" width=\"25\" height=\"25\"/>";
  7448.         gv_chat.lv_emoticonText[lv_i] = " -.-";
  7449.         lv_i = (lv_i + 1);
  7450.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\emo_80.dds\" width=\"25\" height=\"25\"/>";
  7451.         gv_chat.lv_emoticonText[lv_i] = " :emo";
  7452.         lv_i = (lv_i + 1);
  7453.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\envy_80.dds\" width=\"25\" height=\"25\"/>";
  7454.         gv_chat.lv_emoticonText[lv_i] = " :envy";
  7455.         lv_i = (lv_i + 1);
  7456.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\evilgrin_80.dds\" width=\"25\" height=\"25\"/>";
  7457.         gv_chat.lv_emoticonText[lv_i] = " >:D";
  7458.         lv_i = (lv_i + 1);
  7459.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\facepalm_80.dds\" width=\"25\" height=\"25\"/>";
  7460.         gv_chat.lv_emoticonText[lv_i] = " :facepalm";
  7461.         lv_i = (lv_i + 1);
  7462.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\finger_80.dds\" width=\"25\" height=\"25\"/>";
  7463.         gv_chat.lv_emoticonText[lv_i] = " :finger";
  7464.         lv_i = (lv_i + 1);
  7465.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\fingerscrossed_80.dds\" width=\"25\" height=\"25\"/>";
  7466.         gv_chat.lv_emoticonText[lv_i] = " :fingerscrossed";
  7467.         lv_i = (lv_i + 1);
  7468.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\flower_80.dds\" width=\"25\" height=\"25\"/>";
  7469.         gv_chat.lv_emoticonText[lv_i] = " :flower";
  7470.         lv_i = (lv_i + 1);
  7471.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\giggle_80.dds\" width=\"25\" height=\"25\"/>";
  7472.         gv_chat.lv_emoticonText[lv_i] = " :giggle";
  7473.         lv_i = (lv_i + 1);
  7474.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\handshake_80.dds\" width=\"25\" height=\"25\"/>";
  7475.         gv_chat.lv_emoticonText[lv_i] = " :handshake";
  7476.         lv_i = (lv_i + 1);
  7477.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\happy_80.dds\" width=\"25\" height=\"25\"/>";
  7478.         gv_chat.lv_emoticonText[lv_i] = " :)";
  7479.         lv_i = (lv_i + 1);
  7480.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\heart_80.dds\" width=\"25\" height=\"25\"/>";
  7481.         gv_chat.lv_emoticonText[lv_i] = " <3";
  7482.         lv_i = (lv_i + 1);
  7483.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\highfive_80.dds\" width=\"25\" height=\"25\"/>";
  7484.         gv_chat.lv_emoticonText[lv_i] = " :high5";
  7485.         lv_i = (lv_i + 1);
  7486.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\hug_80.dds\" width=\"25\" height=\"25\"/>";
  7487.         gv_chat.lv_emoticonText[lv_i] = " :teddy";
  7488.         lv_i = (lv_i + 1);
  7489.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\inlove_80.dds\" width=\"25\" height=\"25\"/>";
  7490.         gv_chat.lv_emoticonText[lv_i] = " :inlove";
  7491.         lv_i = (lv_i + 1);
  7492.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\itwasntme_80.dds\" width=\"25\" height=\"25\"/>";
  7493.         gv_chat.lv_emoticonText[lv_i] = " :wasntme";
  7494.         lv_i = (lv_i + 1);
  7495.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\kiss_80.dds\" width=\"25\" height=\"25\"/>";
  7496.         gv_chat.lv_emoticonText[lv_i] = " :*";
  7497.         lv_i = (lv_i + 1);
  7498.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\lalala_80.dds\" width=\"25\" height=\"25\"/>";
  7499.         gv_chat.lv_emoticonText[lv_i] = " :ignore";
  7500.         lv_i = (lv_i + 1);
  7501.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\lipssealed_80.dds\" width=\"25\" height=\"25\"/>";
  7502.         gv_chat.lv_emoticonText[lv_i] = " :X";
  7503.         lv_i = (lv_i + 1);
  7504.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\mail_80.dds\" width=\"25\" height=\"25\"/>";
  7505.         gv_chat.lv_emoticonText[lv_i] = " :mail";
  7506.         lv_i = (lv_i + 1);
  7507.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\makeup_80.dds\" width=\"25\" height=\"25\"/>";
  7508.         gv_chat.lv_emoticonText[lv_i] = " :makeup";
  7509.         lv_i = (lv_i + 1);
  7510.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\mmm_80.dds\" width=\"25\" height=\"25\"/>";
  7511.         gv_chat.lv_emoticonText[lv_i] = " :mmm";
  7512.         lv_i = (lv_i + 1);
  7513.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\mooning_80.dds\" width=\"25\" height=\"25\"/>";
  7514.         gv_chat.lv_emoticonText[lv_i] = " :moon";
  7515.         lv_i = (lv_i + 1);
  7516.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\movie_80.dds\" width=\"25\" height=\"25\"/>";
  7517.         gv_chat.lv_emoticonText[lv_i] = " :movie";
  7518.         lv_i = (lv_i + 1);
  7519.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\muscle_80.dds\" width=\"25\" height=\"25\"/>";
  7520.         gv_chat.lv_emoticonText[lv_i] = " :muscle";
  7521.         lv_i = (lv_i + 1);
  7522.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\music_80.dds\" width=\"25\" height=\"25\"/>";
  7523.         gv_chat.lv_emoticonText[lv_i] = " :music";
  7524.         lv_i = (lv_i + 1);
  7525.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\ninja_80.dds\" width=\"25\" height=\"25\"/>";
  7526.         gv_chat.lv_emoticonText[lv_i] = " :ninja";
  7527.         lv_i = (lv_i + 1);
  7528.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\no_80.dds\" width=\"25\" height=\"25\"/>";
  7529.         gv_chat.lv_emoticonText[lv_i] = " :no";
  7530.         lv_i = (lv_i + 1);
  7531.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\party_80.dds\" width=\"25\" height=\"25\"/>";
  7532.         gv_chat.lv_emoticonText[lv_i] = " :party";
  7533.         lv_i = (lv_i + 1);
  7534.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\phone_80.dds\" width=\"25\" height=\"25\"/>";
  7535.         gv_chat.lv_emoticonText[lv_i] = " :phone";
  7536.         lv_i = (lv_i + 1);
  7537.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\pizza_80.dds\" width=\"25\" height=\"25\"/>";
  7538.         gv_chat.lv_emoticonText[lv_i] = " :pizza";
  7539.         lv_i = (lv_i + 1);
  7540.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\poolparty_80.dds\" width=\"25\" height=\"25\"/>";
  7541.         gv_chat.lv_emoticonText[lv_i] = " :pool";
  7542.         lv_i = (lv_i + 1);
  7543.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\puking_80.dds\" width=\"25\" height=\"25\"/>";
  7544.         gv_chat.lv_emoticonText[lv_i] = " :@";
  7545.         lv_i = (lv_i + 1);
  7546.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\rain_80.dds\" width=\"25\" height=\"25\"/>";
  7547.         gv_chat.lv_emoticonText[lv_i] = " :rain";
  7548.         lv_i = (lv_i + 1);
  7549.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\rock_80.dds\" width=\"25\" height=\"25\"/>";
  7550.         gv_chat.lv_emoticonText[lv_i] = " :rock";
  7551.         lv_i = (lv_i + 1);
  7552.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\sadsmile_80.dds\" width=\"25\" height=\"25\"/>";
  7553.         gv_chat.lv_emoticonText[lv_i] = " :(";
  7554.         lv_i = (lv_i + 1);
  7555.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\sleepy_80.dds\" width=\"25\" height=\"25\"/>";
  7556.         gv_chat.lv_emoticonText[lv_i] = " :zzz";
  7557.         lv_i = (lv_i + 1);
  7558.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\smirk_80.dds\" width=\"25\" height=\"25\"/>";
  7559.         gv_chat.lv_emoticonText[lv_i] = " :smirk";
  7560.         lv_i = (lv_i + 1);
  7561.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\smoking_80.dds\" width=\"25\" height=\"25\"/>";
  7562.         gv_chat.lv_emoticonText[lv_i] = " :smoke";
  7563.         lv_i = (lv_i + 1);
  7564.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\speechless_80.dds\" width=\"25\" height=\"25\"/>";
  7565.         gv_chat.lv_emoticonText[lv_i] = " :|";
  7566.         lv_i = (lv_i + 1);
  7567.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\star_80.dds\" width=\"25\" height=\"25\"/>";
  7568.         gv_chat.lv_emoticonText[lv_i] = " :star";
  7569.         lv_i = (lv_i + 1);
  7570.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\surprised_80.dds\" width=\"25\" height=\"25\"/>";
  7571.         gv_chat.lv_emoticonText[lv_i] = " :O";
  7572.         lv_i = (lv_i + 1);
  7573.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\swear_80.dds\" width=\"25\" height=\"25\"/>";
  7574.         gv_chat.lv_emoticonText[lv_i] = " :swear";
  7575.         lv_i = (lv_i + 1);
  7576.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\sweating_80.dds\" width=\"25\" height=\"25\"/>";
  7577.         gv_chat.lv_emoticonText[lv_i] = " :sweat";
  7578.         lv_i = (lv_i + 1);
  7579.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\tmi_80.dds\" width=\"25\" height=\"25\"/>";
  7580.         gv_chat.lv_emoticonText[lv_i] = " :tmi";
  7581.         lv_i = (lv_i + 1);
  7582.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\tongueout_80.dds\" width=\"25\" height=\"25\"/>";
  7583.         gv_chat.lv_emoticonText[lv_i] = " :P";
  7584.         lv_i = (lv_i + 1);
  7585.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\tumbleweed_80.dds\" width=\"25\" height=\"25\"/>";
  7586.         gv_chat.lv_emoticonText[lv_i] = " :tumble";
  7587.         lv_i = (lv_i + 1);
  7588.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\waiting_80.dds\" width=\"25\" height=\"25\"/>";
  7589.         gv_chat.lv_emoticonText[lv_i] = " :waiting";
  7590.         lv_i = (lv_i + 1);
  7591.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\wait_80.dds\" width=\"25\" height=\"25\"/>";
  7592.         gv_chat.lv_emoticonText[lv_i] = " :wait";
  7593.         lv_i = (lv_i + 1);
  7594.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\whew_80.dds\" width=\"25\" height=\"25\"/>";
  7595.         gv_chat.lv_emoticonText[lv_i] = " :whew";
  7596.         lv_i = (lv_i + 1);
  7597.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\wink_80.dds\" width=\"25\" height=\"25\"/>";
  7598.         gv_chat.lv_emoticonText[lv_i] = " ;)";
  7599.         lv_i = (lv_i + 1);
  7600.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\wondering_80.dds\" width=\"25\" height=\"25\"/>";
  7601.         gv_chat.lv_emoticonText[lv_i] = " :wonder";
  7602.         lv_i = (lv_i + 1);
  7603.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\worried_80.dds\" width=\"25\" height=\"25\"/>";
  7604.         gv_chat.lv_emoticonText[lv_i] = " :S";
  7605.         lv_i = (lv_i + 1);
  7606.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\wtf_80.dds\" width=\"25\" height=\"25\"/>";
  7607.         gv_chat.lv_emoticonText[lv_i] = " >:O";
  7608.         lv_i = (lv_i + 1);
  7609.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\yawning_80.dds\" width=\"25\" height=\"25\"/>";
  7610.         gv_chat.lv_emoticonText[lv_i] = " :yawn";
  7611.         lv_i = (lv_i + 1);
  7612.         gv_chat.lv_emoticonIcon[lv_i] = " <img path=\"Risk\\Chat\\yes_80.dds\" width=\"25\" height=\"25\"/>";
  7613.         gv_chat.lv_emoticonText[lv_i] = " :yes";
  7614.     DialogCreate(500, 400, c_anchorCenter, 0, 0, true);
  7615.     PlayerGroupLoopBegin(gf_returnPlayerGroup(PlayerGroupAll(), true, false, false));
  7616.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  7617.         gv_chat.lv_dialog[PlayerGroupLoopCurrent()] = DialogLastCreated();
  7618.         gv_player[PlayerGroupLoopCurrent()].lv_nickname = PlayerName(PlayerGroupLoopCurrent());
  7619.         gv_player[PlayerGroupLoopCurrent()].lv_currentColour = libNtve_gf_ConvertPlayerColorToColor(PlayerGetColorIndex(PlayerGroupLoopCurrent(), false));
  7620.     }
  7621.     PlayerGroupLoopEnd();
  7622.     DialogSetImageVisible(DialogLastCreated(), false);
  7623.     DialogSetFullscreen(DialogLastCreated(), true);
  7624.     DialogSetVisible(DialogLastCreated(), PlayerGroupAll(), true);
  7625.     libNtve_gf_CreateDialogItemButton(DialogLastCreated(), 30, 45, c_anchorBottomRight, 105, 280, StringToText("Toggle Ally Chat"), StringToText("E"), "");
  7626.     gv_chat.lv_chatToggle = DialogControlLastCreated();
  7627.     DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
  7628.     return true;
  7629. }
  7630.  
  7631. //--------------------------------------------------------------------------------------------------
  7632. void gt_SetupCustomChatUI_Init () {
  7633.     gt_SetupCustomChatUI = TriggerCreate("gt_SetupCustomChatUI_Func");
  7634. }
  7635.  
  7636. //--------------------------------------------------------------------------------------------------
  7637. // Trigger: Screen Button 1
  7638. //--------------------------------------------------------------------------------------------------
  7639. bool gt_ScreenButton1_Func (bool testConds, bool runActions) {
  7640.     return true;
  7641. }
  7642.  
  7643. //--------------------------------------------------------------------------------------------------
  7644. void gt_ScreenButton1_Init () {
  7645.     gt_ScreenButton1 = TriggerCreate("gt_ScreenButton1_Func");
  7646. }
  7647.  
  7648. //--------------------------------------------------------------------------------------------------
  7649. // Trigger: Game Dialog Used
  7650. //--------------------------------------------------------------------------------------------------
  7651. bool gt_GameDialogUsed_Func (bool testConds, bool runActions) {
  7652.     // Actions
  7653.     if (!runActions) {
  7654.         return true;
  7655.     }
  7656.  
  7657.     if ((gv_gameInfo.lv_gameStarted == true)) {
  7658.         gf_Scoreboard_Listener(EventPlayer(), EventDialogControl());
  7659.         gf_OverlayListener(EventDialogControl(), EventPlayer());
  7660.         gf_ProfileListener(EventDialogControl(), EventPlayer());
  7661.         gf_AchievementListener(EventDialogControl(), EventPlayer());
  7662.         gf_SettingsListener(EventDialogControl(), EventPlayer());
  7663.         gf_LogListener(EventDialogControl(), EventPlayer());
  7664.     }
  7665.     else {
  7666.         gf_CustomListener(EventDialogControl(), EventPlayer());
  7667.         gf_ScenarioListener(EventDialogControl(), EventPlayer());
  7668.     }
  7669.     gf_OtherListener(EventDialogControl(), EventPlayer());
  7670.     return true;
  7671. }
  7672.  
  7673. //--------------------------------------------------------------------------------------------------
  7674. void gt_GameDialogUsed_Init () {
  7675.     gt_GameDialogUsed = TriggerCreate("gt_GameDialogUsed_Func");
  7676.     TriggerAddEventDialogControl(gt_GameDialogUsed, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeSelectionChanged);
  7677.     TriggerAddEventDialogControl(gt_GameDialogUsed, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeChecked);
  7678.     TriggerAddEventDialogControl(gt_GameDialogUsed, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);
  7679. }
  7680.  
  7681. //--------------------------------------------------------------------------------------------------
  7682. // Trigger: Chat
  7683. //--------------------------------------------------------------------------------------------------
  7684. bool gt_Chat_Func (bool testConds, bool runActions) {
  7685.     string auto44D32698_val;
  7686.  
  7687.     // Variable Declarations
  7688.     int lv_i;
  7689.     text lv_newMessage;
  7690.     text lv_updatedTotal;
  7691.     int lv_i2;
  7692.  
  7693.     // Variable Initialization
  7694.     lv_i = 1;
  7695.     lv_i2 = 1;
  7696.  
  7697.     // Actions
  7698.     if (!runActions) {
  7699.         return true;
  7700.     }
  7701.  
  7702.     if (((StringSub(EventChatMessage(false), 1, 1) != "-") || (StringSub(EventChatMessage(false), 1, 2) == "-."))) {
  7703.         gf_PlayerChatMessage(EventPlayer(), EventChatMessage(false));
  7704.     }
  7705.     else {
  7706.         if (((gv_player[EventPlayer()].lv_iDStatus == ge_PlayerStatus_Admin))) {
  7707.             auto44D32698_val = StringWord(EventChatMessage(false), 1);
  7708.             if (auto44D32698_val == "-setwin") {
  7709.                 while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  7710.                     if ((lv_i == StringToInt(StringWord(EventChatMessage(false), 2)))) {
  7711.                         gv_player[lv_i].lv_win = StringToInt(StringWord(EventChatMessage(false), 3));
  7712.                         gf_BankSave(lv_i, false);
  7713.                         gf_InfoPanelUpdateStatsAchievements();
  7714.                         break;
  7715.                     }
  7716.  
  7717.                     lv_i = (lv_i + 1);
  7718.                 }
  7719.             }
  7720.             else if (auto44D32698_val == "-setlose") {
  7721.                 while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  7722.                     if ((lv_i == StringToInt(StringWord(EventChatMessage(false), 2)))) {
  7723.                         gv_player[lv_i].lv_loses = StringToInt(StringWord(EventChatMessage(false), 3));
  7724.                         gf_BankSave(lv_i, false);
  7725.                         gf_InfoPanelUpdateStatsAchievements();
  7726.                         break;
  7727.                     }
  7728.  
  7729.                     lv_i = (lv_i + 1);
  7730.                 }
  7731.             }
  7732.             else if (auto44D32698_val == "-setkill") {
  7733.                 while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  7734.                     if ((lv_i == StringToInt(StringWord(EventChatMessage(false), 2)))) {
  7735.                         gv_player[lv_i].lv_kills = StringToInt(StringWord(EventChatMessage(false), 3));
  7736.                         gf_BankSave(lv_i, false);
  7737.                         gf_InfoPanelUpdateStatsAchievements();
  7738.                         break;
  7739.                     }
  7740.  
  7741.                     lv_i = (lv_i + 1);
  7742.                 }
  7743.             }
  7744.             else if (auto44D32698_val == "-setdeath") {
  7745.                 while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  7746.                     if ((lv_i == StringToInt(StringWord(EventChatMessage(false), 2)))) {
  7747.                         gv_player[lv_i].lv_deaths = StringToInt(StringWord(EventChatMessage(false), 3));
  7748.                         gf_BankSave(lv_i, false);
  7749.                         gf_InfoPanelUpdateStatsAchievements();
  7750.                         break;
  7751.                     }
  7752.  
  7753.                     lv_i = (lv_i + 1);
  7754.                 }
  7755.             }
  7756.             else {
  7757.             }
  7758.         }
  7759.  
  7760.     }
  7761.     return true;
  7762. }
  7763.  
  7764. //--------------------------------------------------------------------------------------------------
  7765. void gt_Chat_Init () {
  7766.     gt_Chat = TriggerCreate("gt_Chat_Func");
  7767.     TriggerAddEventChatMessage(gt_Chat, c_playerAny, "", false);
  7768. }
  7769.  
  7770. //--------------------------------------------------------------------------------------------------
  7771. // Trigger: Refresh
  7772. //--------------------------------------------------------------------------------------------------
  7773. bool gt_Refresh_Func (bool testConds, bool runActions) {
  7774.     // Variable Declarations
  7775.     int lv_uGDeath;
  7776.     int lv_i;
  7777.  
  7778.     // Variable Initialization
  7779.     lv_i = 1;
  7780.  
  7781.     // Actions
  7782.     if (!runActions) {
  7783.         return true;
  7784.     }
  7785.  
  7786.     gv_gameInfo.lv_currentTime = (gv_gameInfo.lv_currentTime - 1);
  7787.     if ((gv_gameInfo.lv_currentTime < 1)) {
  7788.         lv_uGDeath = UnitGroupCount(UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 0), c_unitCountAlive);
  7789.         if ((lv_uGDeath >= 1000)) {
  7790.             gv_gameInfo.lv_deathAnimation = false;
  7791.         }
  7792.         else {
  7793.             gv_gameInfo.lv_deathAnimation = true;
  7794.         }
  7795.         gv_gameInfo.lv_turns = (gv_gameInfo.lv_turns + 1);
  7796.         gv_gameInfo.lv_currentTime = gv_gameInfo.lv_incomePeriod;
  7797.         PlayerGroupLoopBegin(PlayerGroupAll());
  7798.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  7799.             PlayerModifyPropertyInt(PlayerGroupLoopCurrent(), c_playerPropVespene, c_playerPropOperSetTo, gv_gameInfo.lv_turns);
  7800.         }
  7801.         PlayerGroupLoopEnd();
  7802.         gf_RefreshIncome();
  7803.         gf_RefreshAddIncome();
  7804.         gf_RefreshConscriptManager();
  7805.         gv_teamMajority = false;
  7806.         while ((lv_i <= gv_gameInfo.lv_maxPlayers)) {
  7807.             if ((PlayerStatus(lv_i) != c_playerStatusUnused)) {
  7808.                 gf_RefreshNotification(lv_i);
  7809.             }
  7810.  
  7811.             lv_i = (lv_i + 1);
  7812.         }
  7813.         lv_i = 1;
  7814.         if (((gv_player[1].lv_over30 == true) || (gv_player[2].lv_over30 == true) || (gv_player[3].lv_over30 == true) || (gv_player[4].lv_over30 == true) || (gv_player[5].lv_over30 == true) || (gv_player[6].lv_over30 == true) || (gv_player[7].lv_over30 == true) || (gv_player[8].lv_over30 == true) || (gv_player[9].lv_over30 == true) || (gv_player[10].lv_over30 == true) || (gv_player[11].lv_over30 == true) || (gv_player[12].lv_over30 == true))) {
  7815.         }
  7816.  
  7817.         gf_RefreshWinCondition();
  7818.         gf_InfoPanelCheckMinimapHistory();
  7819.         if ((gv_gameInfo.lv_visibility == ge_Visibility_FogofWar)) {
  7820.             gf_RefreshShowBases();
  7821.         }
  7822.  
  7823.     }
  7824.     else if ((gv_gameInfo.lv_currentTime < 4)) {
  7825.         SoundPlay(SoundLink("UI_BnetCountdown", -1), PlayerGroupAll(), 100.0, 0.0);
  7826.     }
  7827.     PlayerGroupLoopBegin(PlayerGroupAll());
  7828.     for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  7829.         PlayerModifyPropertyInt(PlayerGroupLoopCurrent(), c_playerPropMinerals, c_playerPropOperSetTo, gv_gameInfo.lv_currentTime);
  7830.     }
  7831.     PlayerGroupLoopEnd();
  7832.     return true;
  7833. }
  7834.  
  7835. //--------------------------------------------------------------------------------------------------
  7836. void gt_Refresh_Init () {
  7837.     gt_Refresh = TriggerCreate("gt_Refresh_Func");
  7838.     TriggerAddEventTimer(gt_Refresh, gv_gameInfo.lv_timer);
  7839. }
  7840.  
  7841. //--------------------------------------------------------------------------------------------------
  7842. // Trigger: Refresh CurrencyBar
  7843. //--------------------------------------------------------------------------------------------------
  7844. bool gt_RefreshCurrencyBar_Func (bool testConds, bool runActions) {
  7845.     // Variable Declarations
  7846.     int lv_ii;
  7847.  
  7848.     // Variable Initialization
  7849.  
  7850.     // Actions
  7851.     if (!runActions) {
  7852.         return true;
  7853.     }
  7854.  
  7855.     if ((PlayerGetPropertyInt(EventPlayer(), c_playerPropTerrazine) != 0)) {
  7856.         if ((PlayerGetPropertyInt(EventPlayer(), c_playerPropTerrazine) > gv_currencyBar.lv_limit)) {
  7857.             gf_ChatMessage(EventPlayer(), (StringToText("<c val=\"CCCC33\">Private</c> - You hit your currency cap!") + StringToText("") + StringToText("") + StringToText("") + StringToText("")), 1);
  7858.             PlayerModifyPropertyInt(EventPlayer(), c_playerPropTerrazine, c_playerPropOperSetTo, gv_currencyBar.lv_limit);
  7859.         }
  7860.  
  7861.         DialogControlSetVisible(gv_currencyBar.lv_items[EventPlayer()], PlayerGroupSingle(EventPlayer()), true);
  7862.         lv_ii = ((PlayerGetPropertyInt(EventPlayer(), c_playerPropTerrazine) * gv_currencyBar.lv_length) / gv_currencyBar.lv_limit);
  7863.         DialogControlSetSize(gv_currencyBar.lv_items[EventPlayer()], PlayerGroupSingle(EventPlayer()), lv_ii, gv_currencyBar.lv_height);
  7864.         libNtve_gf_SetDialogItemTooltip(gv_currencyBar.lv_items[EventPlayer()], StringToText((IntToString(PlayerGetPropertyInt(EventPlayer(), c_playerPropTerrazine)) + " / 750")), PlayerGroupSingle(EventPlayer()));
  7865.     }
  7866.     else {
  7867.         DialogControlSetVisible(gv_currencyBar.lv_items[EventPlayer()], PlayerGroupSingle(EventPlayer()), false);
  7868.     }
  7869.     return true;
  7870. }
  7871.  
  7872. //--------------------------------------------------------------------------------------------------
  7873. void gt_RefreshCurrencyBar_Init () {
  7874.     gt_RefreshCurrencyBar = TriggerCreate("gt_RefreshCurrencyBar_Func");
  7875.     TriggerAddEventPlayerPropChange(gt_RefreshCurrencyBar, 1, c_playerPropTerrazine);
  7876.     TriggerAddEventPlayerPropChange(gt_RefreshCurrencyBar, 2, c_playerPropTerrazine);
  7877.     TriggerAddEventPlayerPropChange(gt_RefreshCurrencyBar, 3, c_playerPropTerrazine);
  7878.     TriggerAddEventPlayerPropChange(gt_RefreshCurrencyBar, 4, c_playerPropTerrazine);
  7879.     TriggerAddEventPlayerPropChange(gt_RefreshCurrencyBar, 5, c_playerPropTerrazine);
  7880.     TriggerAddEventPlayerPropChange(gt_RefreshCurrencyBar, 6, c_playerPropTerrazine);
  7881.     TriggerAddEventPlayerPropChange(gt_RefreshCurrencyBar, 7, c_playerPropTerrazine);
  7882.     TriggerAddEventPlayerPropChange(gt_RefreshCurrencyBar, 8, c_playerPropTerrazine);
  7883.     TriggerAddEventPlayerPropChange(gt_RefreshCurrencyBar, 9, c_playerPropTerrazine);
  7884.     TriggerAddEventPlayerPropChange(gt_RefreshCurrencyBar, 10, c_playerPropTerrazine);
  7885.     TriggerAddEventPlayerPropChange(gt_RefreshCurrencyBar, 11, c_playerPropTerrazine);
  7886.     TriggerAddEventPlayerPropChange(gt_RefreshCurrencyBar, 12, c_playerPropTerrazine);
  7887. }
  7888.  
  7889. //--------------------------------------------------------------------------------------------------
  7890. // Trigger: Player Leaves
  7891. //--------------------------------------------------------------------------------------------------
  7892. bool gt_PlayerLeaves_Func (bool testConds, bool runActions) {
  7893.     // Variable Declarations
  7894.     int lv_i;
  7895.     playergroup lv_pG;
  7896.  
  7897.     // Variable Initialization
  7898.     lv_i = 1;
  7899.     lv_pG = gv_gameInfo.lv_startingPlayers;
  7900.  
  7901.     // Actions
  7902.     if (!runActions) {
  7903.         return true;
  7904.     }
  7905.  
  7906.     gf_ChatMessage(EventPlayer(), (StringToText("<c val=\"CCCC33\">Game</c> - ") + TextWithColor(gv_player[EventPlayer()].lv_nickname, gv_player[EventPlayer()].lv_currentColour) + StringToText(" has left the game!")), 2);
  7907.     if ((TriggerIsEnabled(gt_Refresh) == true)) {
  7908.         gf_RefreshPlayerStatus(EventPlayer(), ge_Status_Left);
  7909.     }
  7910.  
  7911.     gf_RefreshScoreboard(EventPlayer(), ge_ScoreboardColumn_Status, StringToText(""));
  7912.     PlayerGroupRemove(gv_gameInfo.lv_playingPlayers, EventPlayer());
  7913.     if ((gv_gameInfo.lv_gameOver == true) && (PlayerGroupCount(gf_returnPlayerGroup(PlayerGroupActive(), true, false, true)) <= 1)) {
  7914.         libNtve_gf_RemovePlayerGroupFromPlayerGroup(gv_gameInfo.lv_winParty, lv_pG);
  7915.         PlayerGroupLoopBegin(gv_gameInfo.lv_winParty);
  7916.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  7917.             GameOver(PlayerGroupLoopCurrent(), c_gameOverVictory, true, true);
  7918.         }
  7919.         PlayerGroupLoopEnd();
  7920.         PlayerGroupLoopBegin(lv_pG);
  7921.         for ( ; !PlayerGroupLoopDone() ; PlayerGroupLoopStep() ) {
  7922.             GameOver(PlayerGroupLoopCurrent(), c_gameOverDefeat, true, true);
  7923.         }
  7924.         PlayerGroupLoopEnd();
  7925.     }
  7926.  
  7927.     return true;
  7928. }
  7929.  
  7930. //--------------------------------------------------------------------------------------------------
  7931. void gt_PlayerLeaves_Init () {
  7932.     gt_PlayerLeaves = TriggerCreate("gt_PlayerLeaves_Func");
  7933.     TriggerAddEventPlayerLeft(gt_PlayerLeaves, c_playerAny, c_gameResultUndecided);
  7934. }
  7935.  
  7936. //--------------------------------------------------------------------------------------------------
  7937. // Trigger: unit cap
  7938. //--------------------------------------------------------------------------------------------------
  7939. bool gt_unitcap_Func (bool testConds, bool runActions) {
  7940.     // Actions
  7941.     if (!runActions) {
  7942.         return true;
  7943.     }
  7944.  
  7945.     UnitControlGroupAddUnits(1, 1, UnitLastCreatedGroup());
  7946.     return true;
  7947. }
  7948.  
  7949. //--------------------------------------------------------------------------------------------------
  7950. void gt_unitcap_Init () {
  7951.     gt_unitcap = TriggerCreate("gt_unitcap_Func");
  7952.     TriggerAddEventCommandError(gt_unitcap, c_playerAny, c_cmdNotEnoughFood, null);
  7953. }
  7954.  
  7955. //--------------------------------------------------------------------------------------------------
  7956. // Trigger: UnitTransport
  7957. //--------------------------------------------------------------------------------------------------
  7958. bool gt_UnitUnload_Func (bool testConds, bool runActions) {
  7959.     // Actions
  7960.     if (!runActions) {
  7961.         return true;
  7962.     }
  7963.  
  7964.     UnitSetPosition(EventUnitCargo(), UnitGetPosition(EventUnit()), false);
  7965.     UnitGroupLoopBegin(UnitGroup(null, EventPlayer(), RegionCircle(UnitGetPosition(EventUnit()), 2.5), UnitFilter((1 << c_targetFilterGround), 0, (1 << c_targetFilterPsionic) | (1 << c_targetFilterStructure) | (1 << c_targetFilterHover) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
  7966.     for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  7967.         if (((WorldHeight(c_heightMapGround, UnitGetPosition(UnitGroupLoopCurrent())) < 7.6) || (PointPathingPassable(UnitGetPosition(EventUnitCargo())) == false))) {
  7968.             UnitIssueOrder(EventUnit(), OrderTargetingUnit(AbilityCommand("HerculesTransport", 0), EventUnitCargo()), c_orderQueueReplace);
  7969.         }
  7970.  
  7971.     }
  7972.     UnitGroupLoopEnd();
  7973.     return true;
  7974. }
  7975.  
  7976. //--------------------------------------------------------------------------------------------------
  7977. void gt_UnitUnload_Init () {
  7978.     gt_UnitUnload = TriggerCreate("gt_UnitUnload_Func");
  7979.     TriggerAddEventUnitCargo(gt_UnitUnload, null, false);
  7980. }
  7981.  
  7982. //--------------------------------------------------------------------------------------------------
  7983. // Trigger: Unit Dies
  7984. //--------------------------------------------------------------------------------------------------
  7985. bool gt_UnitDies_Func (bool testConds, bool runActions) {
  7986.     // Variable Declarations
  7987.     unit lv_damagingUnit;
  7988.     unit lv_triggeringUnit;
  7989.  
  7990.     // Variable Initialization
  7991.     lv_damagingUnit = EventUnitDamageSourceUnit();
  7992.     lv_triggeringUnit = EventUnit();
  7993.  
  7994.     // Actions
  7995.     if (!runActions) {
  7996.         return true;
  7997.     }
  7998.  
  7999.     if ((gv_gameInfo.lv_deathAnimation == false)) {
  8000.         libNtve_gf_RemoveDeathModelsinRegion(RegionEntireMap());
  8001.     }
  8002.  
  8003.     if ((UnitGetType(lv_triggeringUnit) != "UnbuildableRocksDestructible")) {
  8004.         if ((gv_gameInfo.lv_ranked == ge_Ranked_Enabled)) {
  8005.             gv_player[UnitGetOwner(EventUnitDamageSourceUnit())].lv_kills = (gv_player[EventUnitDamageSourcePlayer()].lv_kills + 1);
  8006.             gv_player[EventPlayer()].lv_deaths = (gv_player[EventPlayer()].lv_deaths + 1);
  8007.         }
  8008.  
  8009.         gf_RefreshScoreboard(UnitGetOwner(EventUnit()), ge_ScoreboardColumn_Death, StringToText(""));
  8010.         gf_RefreshScoreboard(UnitGetOwner(EventUnitDamageSourceUnit()), ge_ScoreboardColumn_Kills, StringToText(""));
  8011.         gf_BountyAddition(EventUnit(), UnitGetPosition(EventUnit()), EventPlayer(), EventUnitDamageSourcePlayer());
  8012.         gf_BaseConquestSequence(lv_damagingUnit, lv_triggeringUnit);
  8013.         gf_RefreshScoreboard(EventPlayer(), ge_ScoreboardColumn_Status, StringToText(""));
  8014.     }
  8015.     else {
  8016.         gf_RespawnTree(UnitGetPosition(EventUnit()));
  8017.     }
  8018.     return true;
  8019. }
  8020.  
  8021. //--------------------------------------------------------------------------------------------------
  8022. void gt_UnitDies_Init () {
  8023.     gt_UnitDies = TriggerCreate("gt_UnitDies_Func");
  8024.     TriggerAddEventUnitDamaged(gt_UnitDies, null, c_unitDamageTypeAny, c_unitDamageFatal, null);
  8025. }
  8026.  
  8027. //--------------------------------------------------------------------------------------------------
  8028. // Trigger: Unit Dies 2
  8029. //--------------------------------------------------------------------------------------------------
  8030. bool gt_UnitDies2_Func (bool testConds, bool runActions) {
  8031.     // Variable Declarations
  8032.     unit lv_damagingUnit;
  8033.     unit lv_triggeringUnit;
  8034.  
  8035.     // Variable Initialization
  8036.     lv_damagingUnit = libNtve_gf_KillingUnit();
  8037.     lv_triggeringUnit = EventUnit();
  8038.  
  8039.     // Actions
  8040.     if (!runActions) {
  8041.         return true;
  8042.     }
  8043.  
  8044.     if ((UnitGetType(lv_triggeringUnit) == "Hercules")) {
  8045.         if (((UnitGetType(lv_triggeringUnit) == "Hercules") && (!(((WorldHeight(c_heightMapGround, UnitGetPosition(EventUnit())) < 7.6) || (PointPathingPassable(UnitGetPosition(EventUnit())) == false)))))) {
  8046.             UnitGroupLoopBegin(UnitCargoGroup(lv_triggeringUnit));
  8047.             for ( ; !UnitGroupLoopDone() ; UnitGroupLoopStep() ) {
  8048.                 UnitKill(UnitGroupLoopCurrent());
  8049.             }
  8050.             UnitGroupLoopEnd();
  8051.         }
  8052.  
  8053.     }
  8054.  
  8055.     return true;
  8056. }
  8057.  
  8058. //--------------------------------------------------------------------------------------------------
  8059. void gt_UnitDies2_Init () {
  8060.     gt_UnitDies2 = TriggerCreate("gt_UnitDies2_Func");
  8061.     TriggerAddEventUnitDied(gt_UnitDies2, null);
  8062. }
  8063.  
  8064. //--------------------------------------------------------------------------------------------------
  8065. // Trigger: Unit Train
  8066. //--------------------------------------------------------------------------------------------------
  8067. bool gt_UnitTrain_Func (bool testConds, bool runActions) {
  8068.     // Actions
  8069.     if (!runActions) {
  8070.         return true;
  8071.     }
  8072.  
  8073.     UnitBehaviorAdd(EventUnitCreatedUnit(), "Loadable", EventUnitCreatedUnit(), 1);
  8074.     gf_AnonymizeUnit(EventUnitCreatedUnit());
  8075.     gf_AchieveChangeUnit(UnitGetOwner(EventUnitCreatedUnit()), EventUnitCreatedUnit());
  8076.     if ((UnitRallyPointTargetPoint(EventUnit(), 1, 1) == null)) {
  8077.     }
  8078.     else {
  8079.         UnitIssueOrder(EventUnitCreatedUnit(), OrderTargetingPoint(AbilityCommand("attack", 0), UnitRallyPointTargetPoint(EventUnit(), 1, 1)), c_orderQueueReplace);
  8080.     }
  8081.     if ((UnitGetType(EventUnit()) == "SpawnZone")) {
  8082.         UnitGroupAdd(gv_country[FixedToInt(UnitGetCustomValue(EventUnit(), 10))].lv_spawnGroup, EventUnitCreatedUnit());
  8083.     }
  8084.  
  8085.     gv_player[UnitGetOwner(EventUnit())].lv_numberOfTrainedUnits = (gv_player[UnitGetOwner(EventUnit())].lv_numberOfTrainedUnits + 1);
  8086.     return true;
  8087. }
  8088.  
  8089. //--------------------------------------------------------------------------------------------------
  8090. void gt_UnitTrain_Init () {
  8091.     gt_UnitTrain = TriggerCreate("gt_UnitTrain_Func");
  8092.     TriggerAddEventUnitCreated(gt_UnitTrain, null, "BarracksTrain", null);
  8093.     TriggerAddEventUnitCreated(gt_UnitTrain, null, "StarportTrain", null);
  8094.     TriggerAddEventUnitCreated(gt_UnitTrain, null, "BarracksTrain2", null);
  8095. }
  8096.  
  8097. //--------------------------------------------------------------------------------------------------
  8098. // Trigger: Change Defender
  8099. //--------------------------------------------------------------------------------------------------
  8100. bool gt_ChangeDefender_Func (bool testConds, bool runActions) {
  8101.     // Variable Declarations
  8102.     int lv_newOwner;
  8103.     int lv_country;
  8104.     int lv_base;
  8105.  
  8106.     // Variable Initialization
  8107.     lv_newOwner = UnitGetOwner(EventUnitTargetUnit());
  8108.     lv_country = gf_getCustomUnitValue(EventUnit(), 10);
  8109.     lv_base = gf_getCustomUnitValue(EventUnit(), 11);
  8110.  
  8111.     // Conditions
  8112.     if (testConds) {
  8113.         if (!((PointPathingPassable(UnitGetPosition(EventUnitTargetUnit())) == true))) {
  8114.             return false;
  8115.         }
  8116.  
  8117.         if (!((EventUnitTargetUnit() != null))) {
  8118.             return false;
  8119.         }
  8120.  
  8121.         if (!((UnitHasBehavior(EventUnitTargetUnit(), "Defender") == false))) {
  8122.             return false;
  8123.         }
  8124.     }
  8125.  
  8126.     // Actions
  8127.     if (!runActions) {
  8128.         return true;
  8129.     }
  8130.  
  8131.     if ((UnitHasBehavior(EventUnitTargetUnit(), "WaterUnit") == true) && (UnitGetType(EventUnit()) == "Barracks")) {
  8132.         return true;
  8133.     }
  8134.     else {
  8135.         if ((UnitHasBehavior(gv_base[lv_base].lv_defender, "WaterUnit") == true) && (WorldHeight(c_heightMapGround, UnitGetPosition(EventUnitTargetUnit())) > 7.8)) {
  8136.             libNtve_gf_UIErrorMessage(PlayerGroupSingle(UnitGetOwner(EventUnit())), StringToText("Cannot be moved on land!"), SoundLink("Alert_TerranBuildError", -1));
  8137.             return true;
  8138.         }
  8139.  
  8140.     }
  8141.     gf_ChangeDefender(EventUnitTargetUnit(), gv_base[gf_getCustomUnitValue(EventUnit(), 11)].lv_defender);
  8142.     if ((UnitGetOwner(EventUnit()) != UnitGetOwner(EventUnitTargetUnit()))) {
  8143.         gf_SetupBaseOwnership(UnitGetOwner(EventUnitTargetUnit()), FixedToInt(UnitGetCustomValue(EventUnit(), 11)));
  8144.         gf_CountryConquestSequence(UnitGetOwner(EventUnitTargetUnit()), UnitGetOwner(EventUnit()), gf_getCustomUnitValue(EventUnit(), 10));
  8145.         if ((gv_player[lv_newOwner].lv_showHideNationality == true)) {
  8146.             gf_ShowHideIndvFlag(true, gf_getCustomUnitValue(EventUnit(), 11));
  8147.         }
  8148.         else {
  8149.             gf_ShowHideIndvFlag(false, gf_getCustomUnitValue(EventUnit(), 11));
  8150.         }
  8151.     }
  8152.  
  8153.     UnitIssueOrder(EventUnit(), Order(AbilityCommand("stop", 0)), c_orderQueueReplace);
  8154.     return true;
  8155. }
  8156.  
  8157. //--------------------------------------------------------------------------------------------------
  8158. void gt_ChangeDefender_Init () {
  8159.     gt_ChangeDefender = TriggerCreate("gt_ChangeDefender_Func");
  8160.     TriggerAddEventUnitAbility(gt_ChangeDefender, null, AbilityCommand("SelectDefender2", 0), c_unitAbilStageExecute, false);
  8161. }
  8162.  
  8163. //--------------------------------------------------------------------------------------------------
  8164. // Trigger: Select Homeland
  8165. //--------------------------------------------------------------------------------------------------
  8166. bool gt_SelectHomeland_Func (bool testConds, bool runActions) {
  8167.     // Variable Declarations
  8168.     int lv_country;
  8169.  
  8170.     // Variable Initialization
  8171.     lv_country = gf_getCustomUnitValue(EventUnit(), 10);
  8172.  
  8173.     // Actions
  8174.     if (!runActions) {
  8175.         return true;
  8176.     }
  8177.  
  8178.     if ((gf_AnyoneElseHasNationality(EventPlayer(), lv_country) == false)) {
  8179.         if ((gv_player[EventPlayer()].lv_homeCountry == lv_country)) {
  8180.             if ((gv_player[EventPlayer()].lv_showHideNationality == false)) {
  8181.                 gf_ShowHideAllFlag(EventPlayer(), true);
  8182.                 gv_player[EventPlayer()].lv_homeCountry = lv_country;
  8183.                 DialogControlSetVisible(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_flag], PlayerGroupAll(), true);
  8184.                 if (((gv_player[EventPlayer()].lv_iDStatus == ge_PlayerStatus_DonatorLvl1) || (gv_player[EventPlayer()].lv_iDStatus == ge_PlayerStatus_DonatorLvl2) || (gv_player[EventPlayer()].lv_iDStatus == ge_PlayerStatus_DonatorLvl3) || (gv_player[EventPlayer()].lv_iDStatus == ge_PlayerStatus_DonatorLvl4))) {
  8185.                     DialogControlSetPosition(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_username], PlayerGroupAll(), c_anchorTopLeft, 70, DialogControlGetOffsetY(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_username], 1));
  8186.                 }
  8187.                 else {
  8188.                     DialogControlSetPosition(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_username], PlayerGroupAll(), c_anchorTopLeft, 50, DialogControlGetOffsetY(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_username], 1));
  8189.                 }
  8190.             }
  8191.             else {
  8192.                 gf_ShowHideAllFlag(EventPlayer(), false);
  8193.                 gf_ChangeNickName(EventPlayer(), StringToText("Anonymous"));
  8194.                 gv_player[EventPlayer()].lv_homeCountry = 0;
  8195.                 DialogControlSetVisible(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_flag], PlayerGroupAll(), false);
  8196.                 if (((gv_player[EventPlayer()].lv_iDStatus == ge_PlayerStatus_DonatorLvl1) || (gv_player[EventPlayer()].lv_iDStatus == ge_PlayerStatus_DonatorLvl2) || (gv_player[EventPlayer()].lv_iDStatus == ge_PlayerStatus_DonatorLvl3) || (gv_player[EventPlayer()].lv_iDStatus == ge_PlayerStatus_DonatorLvl4))) {
  8197.                     DialogControlSetPosition(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_username], PlayerGroupAll(), c_anchorTopLeft, 38, DialogControlGetOffsetY(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_username], 1));
  8198.                 }
  8199.                 else {
  8200.                     DialogControlSetPosition(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_username], PlayerGroupAll(), c_anchorTopLeft, 18, DialogControlGetOffsetY(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_username], 1));
  8201.                 }
  8202.             }
  8203.         }
  8204.         else {
  8205.             gf_ShowHideAllFlag(EventPlayer(), true);
  8206.             gv_player[EventPlayer()].lv_homeCountry = lv_country;
  8207.             DialogControlSetVisible(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_flag], PlayerGroupAll(), true);
  8208.             if (((gv_player[EventPlayer()].lv_iDStatus == ge_PlayerStatus_DonatorLvl1) || (gv_player[EventPlayer()].lv_iDStatus == ge_PlayerStatus_DonatorLvl2) || (gv_player[EventPlayer()].lv_iDStatus == ge_PlayerStatus_DonatorLvl3) || (gv_player[EventPlayer()].lv_iDStatus == ge_PlayerStatus_DonatorLvl4))) {
  8209.                 DialogControlSetPosition(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_username], PlayerGroupAll(), c_anchorTopLeft, 70, DialogControlGetOffsetY(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_username], 1));
  8210.             }
  8211.             else {
  8212.                 DialogControlSetPosition(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_username], PlayerGroupAll(), c_anchorTopLeft, 50, DialogControlGetOffsetY(gv_scoreboard.lv_items[gv_scoreboard.lv_getRowIDViaPlayer[EventPlayer()]][gv_scoreboard.lv_username], 1));
  8213.             }
  8214.         }
  8215.         gf_RefreshAllFlag(UnitGetOwner(EventUnit()), lv_country);
  8216.     }
  8217.  
  8218.     return true;
  8219. }
  8220.  
  8221. //--------------------------------------------------------------------------------------------------
  8222. void gt_SelectHomeland_Init () {
  8223.     gt_SelectHomeland = TriggerCreate("gt_SelectHomeland_Func");
  8224.     TriggerAddEventUnitAbility(gt_SelectHomeland, null, AbilityCommand("SelectCountry", 0), c_unitAbilStageExecute, false);
  8225. }
  8226.  
  8227. //--------------------------------------------------------------------------------------------------
  8228. // Trigger: Check No Defender
  8229. //--------------------------------------------------------------------------------------------------
  8230. bool gt_CheckNoDefender_Func (bool testConds, bool runActions) {
  8231.     // Variable Declarations
  8232.     unit lv_circle;
  8233.     int lv_circlePlayer;
  8234.     int lv_baseValue;
  8235.  
  8236.     // Variable Initialization
  8237.  
  8238.     // Conditions
  8239.     if (testConds) {
  8240.         if (!((UnitFilterMatch(EventUnit(), UnitGetOwner(EventUnit()), UnitFilter(0, 0, (1 << c_targetFilterPsionic) | (1 << c_targetFilterStructure) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32)) | (1 << (c_targetFilterBenign - 32)))) == true))) {
  8241.             return false;
  8242.         }
  8243.     }
  8244.  
  8245.     // Actions
  8246.     if (!runActions) {
  8247.         return true;
  8248.     }
  8249.  
  8250.     lv_circle = libNtve_gf_ClosestUnitToPoint(UnitGetPosition(EventUnit()), UnitGroup("Beacon_TerranSmall", c_playerAny, RegionCircle(UnitGetPosition(EventUnit()), 0.5), UnitFilter(0, 0, 0, 0), 0));
  8251.     lv_baseValue = FixedToInt(UnitGetCustomValue(lv_circle, 11));
  8252.     if ((UnitGetType(gv_base[lv_baseValue].lv_defender) == null)) {
  8253.         lv_circlePlayer = UnitGetOwner(lv_circle);
  8254.         gv_player[UnitGetOwner(EventUnit())].lv_bases = (gv_player[UnitGetOwner(EventUnit())].lv_bases + 1);
  8255.         gv_player[UnitGetOwner(lv_circle)].lv_bases = (gv_player[UnitGetOwner(lv_circle)].lv_bases - 1);
  8256.         gf_DefenderSettings(EventUnit(), lv_circle, true);
  8257.         gf_CountryConquestSequence(UnitGetOwner(EventUnit()), lv_circlePlayer, gf_getCustomUnitValue(lv_circle, 10));
  8258.     }
  8259.  
  8260.     return true;
  8261. }
  8262.  
  8263. //--------------------------------------------------------------------------------------------------
  8264. void gt_CheckNoDefender_Init () {
  8265.     gt_CheckNoDefender = TriggerCreate("gt_CheckNoDefender_Func");
  8266. }
  8267.  
  8268. //--------------------------------------------------------------------------------------------------
  8269. // Trigger Initialization
  8270. //--------------------------------------------------------------------------------------------------
  8271. void InitTriggers () {
  8272.     gt_SetupGame_Init();
  8273.     gt_SetupGateway_Init();
  8274.     gt_SetupID_Init();
  8275.     gt_SetupBank_Init();
  8276.     gt_SetupUnits_Init();
  8277.     gt_SetupCountries_Init();
  8278.     gt_SetupBases_Init();
  8279.     gt_SetupOther_Init();
  8280.     gt_SetupScreenFade_Init();
  8281.     gt_GameInitialization_Init();
  8282.     gt_SetupCurrencyBar_Init();
  8283.     gt_TutorialMode_Init();
  8284.     gt_Reminders_Init();
  8285.     gt_SetupScoreboard_Init();
  8286.     gt_SetupCustomChatUI_Init();
  8287.     gt_ScreenButton1_Init();
  8288.     gt_GameDialogUsed_Init();
  8289.     gt_Chat_Init();
  8290.     gt_Refresh_Init();
  8291.     gt_RefreshCurrencyBar_Init();
  8292.     gt_PlayerLeaves_Init();
  8293.     gt_unitcap_Init();
  8294.     gt_UnitUnload_Init();
  8295.     gt_UnitDies_Init();
  8296.     gt_UnitDies2_Init();
  8297.     gt_UnitTrain_Init();
  8298.     gt_ChangeDefender_Init();
  8299.     gt_SelectHomeland_Init();
  8300.     gt_CheckNoDefender_Init();
  8301. }
  8302.  
  8303. //--------------------------------------------------------------------------------------------------
  8304. // Map Initialization
  8305. //--------------------------------------------------------------------------------------------------
  8306. void InitMap () {
  8307.     InitLibs();
  8308.     InitGlobals();
  8309.     InitTriggers();
  8310. }
Add Comment
Please, Sign In to add comment