Guest User

Untitled

a guest
Sep 21st, 2016
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 53.11 KB | None | 0 0
  1. const int libGame_ge_MVPAwards_Kill = 0;
  2. const int libGame_ge_MVPAwards_Assist = 1;
  3. const int libGame_ge_MVPAwards_TimeSpentDead = 2;
  4. const int libGame_ge_MVPAwards_TopHeroDamage = 3;
  5. const int libGame_ge_MVPAwards_TopHeroDamageonTeam = 4;
  6. const int libGame_ge_MVPAwards_TopSiegeDamage = 5;
  7. const int libGame_ge_MVPAwards_TopSiegeDamageonTeam = 6;
  8. const int libGame_ge_MVPAwards_TopHealing = 7;
  9. const int libGame_ge_MVPAwards_TopDamageTakenasWarrior = 8;
  10. const int libGame_ge_MVPAwards_TopDamageTakenasWarrioronTeam = 9;
  11. const int libGame_ge_MVPAwards_TopXPContributor = 10;
  12. const int libGame_ge_MVPAwards_TopXPContributoronTeam = 11;
  13. const int libGame_ge_SecondaryAwards_Dummyfor0 = 0;
  14. const int libGame_ge_SecondaryAwards_Experienced = 1;
  15. const int libGame_ge_SecondaryAwards_Painbringer = 2;
  16. const int libGame_ge_SecondaryAwards_Bulwark = 3;
  17. const int libGame_ge_SecondaryAwards_MainHealer = 4;
  18. const int libGame_ge_SecondaryAwards_SiegeMaster = 5;
  19. const int libGame_ge_SecondaryAwards_Dominator = 6;
  20. const int libGame_ge_SecondaryAwards_Stunner = 7;
  21. const int libGame_ge_SecondaryAwards_Headhunter = 8;
  22. const int libGame_ge_SecondaryAwards_MapSpecific = 9;
  23.  
  24. const fixed libGame_gv_awardforKill = 1.0;
  25. const fixed libGame_gv_awardforAssist = 1.0;
  26. const fixed libGame_gv_awardforPercentageTimeSpentDead = -0.5;
  27. const fixed libGame_gv_awardforTopHeroDamage = 1.0;
  28. const fixed libGame_gv_awardforTopHeroDamageonTeam = 1.0;
  29. const fixed libGame_gv_awardforTopSiegeDamage = 1.0;
  30. const fixed libGame_gv_awardforTopSiegeDamageonTeam = 1.0;
  31. const fixed libGame_gv_awardforTopHealing = 1.0;
  32. const fixed libGame_gv_awardforTopDamageTakenasWarrior = 1.0;
  33. const fixed libGame_gv_awardforTopDamageTakenasWarrioronTeam = 0.5;
  34. const fixed libGame_gv_awardforTopXPContributor = 1.0;
  35. const fixed libGame_gv_awardforTopXPContributoronTeam = 1.0;
  36. const int libGame_gv_secondaryAwardSlotCount = 4;
  37. const int libGame_gv_secondaryAwardCount = 9;
  38. const string libGame_gv_eventID_MapSpecificAwardInitialize_C = "MapSpecificAwardInitialize";
  39. const string libGame_gv_eventParam_MapSpecificAwardInitialize_Name_C = "Name";
  40. const string libGame_gv_eventParam_MapSpecificAwardInitialize_Suffix_C = "Suffix";
  41. const string libGame_gv_eventParam_MapSpecificAwardInitialize_Base_C = "Base";
  42. const string libGame_gv_eventParam_MapSpecificAwardInitialize_PresentAsRatio_C = "Present as Ratio";
  43. const string libGame_gv_eventParam_MapSpecificAwardInitialize_GatedByBase_C = "Gated by Base";
  44. const string libGame_gv_eventParam_MapSpecificAwardInitialize_BadgeIndex_C = "Badge Index";
  45. const string libGame_gv_eventParam_MapSpecificAwardInitialize_ScoreValue_C = "Score Value";
  46. const string libGame_gv_eventID_MapSpecificAwardUpdate_C = "MapSpecificAwardUpdate";
  47. const string libGame_gv_eventParam_MapSpecificAwardUpdate_Player_C = "Player";
  48. const string libGame_gv_eventParam_MapSpecificAwardUpdate_Value_C = "Value";
  49. const string libGame_gv_eventParam_MapSpecificAwardUpdate_IsAdd_C = "IsAdd";
  50.  
  51.  
  52. fixed libGame_gf_GetMVPAwardAmount (string lp_heroUnit, int lp_awardCategory) {
  53. int autoCC71B3A0_val;
  54. fixed lv_amounttoReturn;
  55.  
  56.  
  57. autoCC71B3A0_val = lp_awardCategory;
  58. if (autoCC71B3A0_val == libGame_ge_MVPAwards_Assist) {
  59. lv_amounttoReturn = libGame_gv_awardforAssist;
  60. if ((lp_heroUnit == "HeroLostVikingsController")) {
  61. lv_amounttoReturn = 0.75;
  62. }
  63. else if ((lp_heroUnit == "HeroAbathur")) {
  64. lv_amounttoReturn = 0.8;
  65. }
  66. }
  67. else if (autoCC71B3A0_val == libGame_ge_MVPAwards_Kill) {
  68. lv_amounttoReturn = libGame_gv_awardforKill;
  69. }
  70. else if (autoCC71B3A0_val == libGame_ge_MVPAwards_TimeSpentDead) {
  71. lv_amounttoReturn = libGame_gv_awardforPercentageTimeSpentDead;
  72. if ((lp_heroUnit == "HeroMurky")) {
  73. lv_amounttoReturn = -1.0;
  74. }
  75. else if ((lp_heroUnit == "HeroGall")) {
  76. lv_amounttoReturn = -1.0;
  77. }
  78. else if ((lp_heroUnit == "HeroCho")) {
  79. lv_amounttoReturn = -0.85;
  80. }
  81. }
  82. else if (autoCC71B3A0_val == libGame_ge_MVPAwards_TopDamageTakenasWarrior) {
  83. lv_amounttoReturn = libGame_gv_awardforTopDamageTakenasWarrior;
  84. }
  85. else if (autoCC71B3A0_val == libGame_ge_MVPAwards_TopDamageTakenasWarrioronTeam) {
  86. lv_amounttoReturn = libGame_gv_awardforTopDamageTakenasWarrioronTeam;
  87. }
  88. else if (autoCC71B3A0_val == libGame_ge_MVPAwards_TopHealing) {
  89. lv_amounttoReturn = libGame_gv_awardforTopHealing;
  90. }
  91. else if (autoCC71B3A0_val == libGame_ge_MVPAwards_TopHeroDamage) {
  92. lv_amounttoReturn = libGame_gv_awardforTopHeroDamage;
  93. }
  94. else if (autoCC71B3A0_val == libGame_ge_MVPAwards_TopHeroDamageonTeam) {
  95. lv_amounttoReturn = libGame_gv_awardforTopHeroDamageonTeam;
  96. }
  97. else if (autoCC71B3A0_val == libGame_ge_MVPAwards_TopSiegeDamage) {
  98. lv_amounttoReturn = libGame_gv_awardforTopSiegeDamage;
  99. }
  100. else if (autoCC71B3A0_val == libGame_ge_MVPAwards_TopSiegeDamageonTeam) {
  101. lv_amounttoReturn = libGame_gv_awardforTopSiegeDamageonTeam;
  102. }
  103. else if (autoCC71B3A0_val == libGame_ge_MVPAwards_TopXPContributor) {
  104. lv_amounttoReturn = libGame_gv_awardforTopXPContributor;
  105. }
  106. else if (autoCC71B3A0_val == libGame_ge_MVPAwards_TopXPContributoronTeam) {
  107. lv_amounttoReturn = libGame_gv_awardforTopXPContributoronTeam;
  108. }
  109. else {
  110. }
  111. return lv_amounttoReturn;
  112. }
  113.  
  114. void libGame_gf_AssignMVP (int lp_winningTeam) {
  115. int auto1F73EC8A_ae;
  116. int auto62E88247_ae;
  117.  
  118.  
  119. fixed lv_mVPScoreToBeat;
  120. int lv_iterator;
  121. fixed lv_gameLength;
  122. int lv_tiebreaker;
  123. int lv_topHeroDamagerinGame;
  124. fixed lv_topHeroDamageAmountinGame;
  125. int[libCore_gv_bALMaxTeams + 1] lv_topHeroDamagerPerTeam;
  126. fixed[libCore_gv_bALMaxTeams + 1] lv_topHeroDamageAmountPerTeam;
  127. int lv_topSiegeDamagerinGame;
  128. fixed lv_topSiegeDamageAmountinGame;
  129. int[libCore_gv_bALMaxTeams + 1] lv_topSiegeDamagerPerTeam;
  130. fixed[libCore_gv_bALMaxTeams + 1] lv_topSiegeDamageAmountPerTeam;
  131. int lv_topDamageTakerinGame;
  132. fixed lv_topDamageTakenAmountinGame;
  133. int[libCore_gv_bALMaxTeams + 1] lv_topDamageTakerPerTeam;
  134. fixed[libCore_gv_bALMaxTeams + 1] lv_topDamageTakenAmountPerTeam;
  135. int lv_topXPContributorinGame;
  136. fixed lv_topXPContributionAmountinGame;
  137. int[libCore_gv_bALMaxTeams + 1] lv_topXPContributorPerTeam;
  138. fixed[libCore_gv_bALMaxTeams + 1] lv_topXPContribution;
  139. int lv_topHealerinGame;
  140. fixed lv_topHealAmount;
  141. int[libCore_gv_bALMaxTeams + 1] lv_topHealerPerTeam;
  142. fixed[libCore_gv_bALMaxTeams + 1] lv_topHealAmountPerTeam;
  143.  
  144.  
  145. lv_gameLength = TimerGetElapsed(libGame_gv_gameTimer);
  146.  
  147.  
  148. if (((libCore_gv_sYSGameMode == libCore_ge_GameModes_ArenaMode) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_AttackDefend) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_Debug) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_TryMe) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_Tutorial1) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_TutorialVeteran) || ((GameIsMatchmade() == false) && (libCore_gv_dEBUGDebuggingEnabled == false)))) {
  149. return ;
  150. }
  151.  
  152. if (((libCore_gv_sYSGameMode == libCore_ge_GameModes_Tutorial2) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_Tutorial3))) {
  153. libGame_gv_mVPManualOverride = 1;
  154. libGame_gv_playerAwardEligibility[1][0].lv_dEBUGManuallyForceAssigned = true;
  155. }
  156.  
  157. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_8C6A653D") + IntToText(lp_winningTeam)), false);
  158. auto1F73EC8A_ae = libCore_gv_bALMaxPlayers;
  159. lv_iterator = 1;
  160. for ( ; lv_iterator <= auto1F73EC8A_ae ; lv_iterator += 1 ) {
  161. libGame_gv_mVPStats[lv_iterator].lv_team = libGame_gf_TeamNumberOfPlayer(lv_iterator);
  162. libGame_gv_mVPStats[lv_iterator].lv_role = libGame_gv_players[lv_iterator].lv_heroData.lv_class;
  163. libGame_gv_mVPStats[lv_iterator].lv_heroDamageDone = PlayerScoreValueGetAsFixed(lv_iterator, "HeroDamage");
  164. libGame_gf_SetAwardValueandWeight(lv_iterator, libGame_gv_mVPStats[lv_iterator].lv_heroDamageDone, libGame_ge_SecondaryAwards_Painbringer);
  165. libGame_gv_mVPStats[lv_iterator].lv_siegeDamageDone = PlayerScoreValueGetAsFixed(lv_iterator, "SiegeDamage");
  166. libGame_gf_SetAwardValueandWeight(lv_iterator, libGame_gv_mVPStats[lv_iterator].lv_siegeDamageDone, libGame_ge_SecondaryAwards_SiegeMaster);
  167. libGame_gv_mVPStats[lv_iterator].lv_damageTaken = libGame_gv_scoreValues[lv_iterator].lv_damageTaken;
  168. libGame_gf_SetAwardValueandWeight(lv_iterator, libGame_gv_mVPStats[lv_iterator].lv_damageTaken, libGame_ge_SecondaryAwards_Bulwark);
  169. libGame_gv_mVPStats[lv_iterator].lv_xPContribution = PlayerScoreValueGetAsFixed(lv_iterator, "ExperienceContribution");
  170. libGame_gf_SetAwardValueandWeight(lv_iterator, libGame_gv_mVPStats[lv_iterator].lv_xPContribution, libGame_ge_SecondaryAwards_Experienced);
  171. libGame_gv_mVPStats[lv_iterator].lv_healAmount = PlayerScoreValueGetAsFixed(lv_iterator, "Healing");
  172. libGame_gf_SetAwardValueandWeight(lv_iterator, libGame_gv_mVPStats[lv_iterator].lv_healAmount, libGame_ge_SecondaryAwards_MainHealer);
  173. libGame_gv_mVPStats[lv_iterator].lv_enemyTeam = libGame_gf_EnemyTeamNumberOfPlayer(lv_iterator);
  174. libGame_gv_mVPStats[lv_iterator].lv_heroName = UnitTypeGetName(UnitGetType(libGame_gv_players[lv_iterator].lv_heroUnit));
  175. libGame_gv_mVPStats[lv_iterator].lv_unitType = UnitGetType(libGame_gv_players[lv_iterator].lv_heroUnit);
  176. if ((libGame_gv_mVPStats[lv_iterator].lv_heroDamageDone > lv_topHeroDamageAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team])) {
  177. lv_topHeroDamageAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] = libGame_gv_mVPStats[lv_iterator].lv_heroDamageDone;
  178. lv_topHeroDamagerPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] = lv_iterator;
  179. }
  180.  
  181. if ((libGame_gv_mVPStats[lv_iterator].lv_siegeDamageDone > lv_topSiegeDamageAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team])) {
  182. lv_topSiegeDamageAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] = libGame_gv_mVPStats[lv_iterator].lv_siegeDamageDone;
  183. lv_topSiegeDamagerPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] = lv_iterator;
  184. }
  185.  
  186. if ((libGame_gv_mVPStats[lv_iterator].lv_damageTaken > lv_topDamageTakenAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team])) {
  187. lv_topDamageTakenAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] = libGame_gv_mVPStats[lv_iterator].lv_damageTaken;
  188. lv_topDamageTakerPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] = lv_iterator;
  189. }
  190.  
  191. if ((libGame_gv_mVPStats[lv_iterator].lv_xPContribution > lv_topXPContribution[libGame_gv_mVPStats[lv_iterator].lv_team])) {
  192. lv_topXPContribution[libGame_gv_mVPStats[lv_iterator].lv_team] = libGame_gv_mVPStats[lv_iterator].lv_xPContribution;
  193. lv_topXPContributorPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] = lv_iterator;
  194. }
  195.  
  196. if ((libGame_gv_mVPStats[lv_iterator].lv_healAmount > lv_topHealAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team])) {
  197. lv_topHealAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] = libGame_gv_mVPStats[lv_iterator].lv_healAmount;
  198. lv_topHealerPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] = lv_iterator;
  199. }
  200.  
  201. }
  202. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_F2DB1E8D") + UnitTypeGetName(UnitGetType(libGame_gv_players[lv_topHeroDamagerPerTeam[1]].lv_heroUnit))), false);
  203. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_269671F4") + FixedToText(lv_topHeroDamageAmountPerTeam[1], c_fixedPrecisionAny)), false);
  204. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_B4D8E244") + UnitTypeGetName(UnitGetType(libGame_gv_players[lv_topHeroDamagerPerTeam[2]].lv_heroUnit))), false);
  205. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_14F8534A") + FixedToText(lv_topHeroDamageAmountPerTeam[2], c_fixedPrecisionAny)), false);
  206. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_BAC429E4") + UnitTypeGetName(UnitGetType(libGame_gv_players[lv_topSiegeDamagerPerTeam[1]].lv_heroUnit))), false);
  207. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_8DE4645B") + FixedToText(lv_topSiegeDamageAmountPerTeam[1], c_fixedPrecisionAny)), false);
  208. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_E97B07AB") + UnitTypeGetName(UnitGetType(libGame_gv_players[lv_topSiegeDamagerPerTeam[2]].lv_heroUnit))), false);
  209. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_44002CA1") + FixedToText(lv_topSiegeDamageAmountPerTeam[2], c_fixedPrecisionAny)), false);
  210. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_DD4D7AB3") + UnitTypeGetName(UnitGetType(libGame_gv_players[lv_topDamageTakerPerTeam[1]].lv_heroUnit))), false);
  211. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_BFDDD4A9") + FixedToText(lv_topDamageTakenAmountPerTeam[1], c_fixedPrecisionAny)), false);
  212. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_667838D9") + UnitTypeGetName(UnitGetType(libGame_gv_players[lv_topDamageTakerPerTeam[2]].lv_heroUnit))), false);
  213. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_5B95C075") + FixedToText(lv_topDamageTakenAmountPerTeam[2], c_fixedPrecisionAny)), false);
  214. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_8E88CA60") + UnitTypeGetName(UnitGetType(libGame_gv_players[lv_topHealerPerTeam[1]].lv_heroUnit))), false);
  215. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_0E6D649F") + FixedToText(lv_topHealAmountPerTeam[1], c_fixedPrecisionAny)), false);
  216. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_11E00082") + UnitTypeGetName(UnitGetType(libGame_gv_players[lv_topHealerPerTeam[2]].lv_heroUnit))), false);
  217. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_E893337F") + FixedToText(lv_topHealAmountPerTeam[2], c_fixedPrecisionAny)), false);
  218. auto62E88247_ae = libCore_gv_bALMaxPlayers;
  219. lv_iterator = 1;
  220. for ( ; lv_iterator <= auto62E88247_ae ; lv_iterator += 1 ) {
  221. libGame_gv_mVPStats[lv_iterator].lv_kills = libGame_gv_scoreValues[lv_iterator].lv_kills;
  222. libGame_gv_mVPStats[lv_iterator].lv_mVPScore += (libGame_gv_mVPStats[lv_iterator].lv_kills * libGame_gf_GetMVPAwardAmount(libGame_gv_mVPStats[lv_iterator].lv_unitType, libGame_ge_MVPAwards_Kill));
  223. TriggerDebugOutput(8, (libGame_gv_mVPStats[lv_iterator].lv_heroName + StringExternal("Param/Value/lib_Game_A78D91D5") + FixedToText(libGame_gv_scoreValues[lv_iterator].lv_kills, c_fixedPrecisionAny) + StringExternal("Param/Value/lib_Game_BFDA6658")), false);
  224. libGame_gv_mVPStats[lv_iterator].lv_assists = libGame_gv_scoreValues[lv_iterator].lv_assists;
  225. libGame_gv_mVPStats[lv_iterator].lv_mVPScore += (libGame_gv_mVPStats[lv_iterator].lv_assists * libGame_gf_GetMVPAwardAmount(libGame_gv_mVPStats[lv_iterator].lv_unitType, libGame_ge_MVPAwards_Assist));
  226. TriggerDebugOutput(8, (libGame_gv_mVPStats[lv_iterator].lv_heroName + StringExternal("Param/Value/lib_Game_0F666E73") + FixedToText(libGame_gv_scoreValues[lv_iterator].lv_assists, c_fixedPrecisionAny) + StringExternal("Param/Value/lib_Game_9666B389")), false);
  227. libGame_gv_mVPStats[lv_iterator].lv_deaths = libGame_gv_scoreValues[lv_iterator].lv_deaths;
  228. libGame_gv_mVPStats[lv_iterator].lv_timeSpentDead = PlayerScoreValueGetAsFixed(lv_iterator, "TimeSpentDead");
  229. if ((lv_gameLength > 0.0)) {
  230. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_76523999") + FixedToText(lv_gameLength, c_fixedPrecisionAny) + StringExternal("Param/Value/lib_Game_00430BFC")), false);
  231. libGame_gv_mVPStats[lv_iterator].lv_mVPScore += (((libGame_gv_mVPStats[lv_iterator].lv_timeSpentDead / lv_gameLength) * 100.0) * libGame_gf_GetMVPAwardAmount(libGame_gv_mVPStats[lv_iterator].lv_unitType, libGame_ge_MVPAwards_TimeSpentDead));
  232. TriggerDebugOutput(8, (libGame_gv_mVPStats[lv_iterator].lv_heroName + StringExternal("Param/Value/lib_Game_AA28B988") + FixedToText(PlayerScoreValueGetAsFixed(lv_iterator, "TimeSpentDead"), c_fixedPrecisionAny) + StringExternal("Param/Value/lib_Game_FFBAB715") + FixedToText((((libGame_gv_mVPStats[lv_iterator].lv_timeSpentDead / lv_gameLength) * 100.0) * libGame_gv_awardforPercentageTimeSpentDead), c_fixedPrecisionAny) + StringExternal("Param/Value/lib_Game_359F599B")), false);
  233. }
  234. else {
  235. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_4CF8135A")), false);
  236. }
  237. if ((lv_topHeroDamagerPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] == lv_iterator)) {
  238. libGame_gv_mVPStats[lv_iterator].lv_mVPScore += libGame_gf_GetMVPAwardAmount(libGame_gv_mVPStats[lv_iterator].lv_unitType, libGame_ge_MVPAwards_TopHeroDamageonTeam);
  239. if ((lv_topHeroDamageAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] > lv_topHeroDamageAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_enemyTeam])) {
  240. lv_topHeroDamagerinGame = lv_iterator;
  241. lv_topHeroDamageAmountinGame = lv_topHeroDamageAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team];
  242. libGame_gv_mVPStats[lv_iterator].lv_mVPScore += libGame_gf_GetMVPAwardAmount(libGame_gv_mVPStats[lv_iterator].lv_unitType, libGame_ge_MVPAwards_TopHeroDamage);
  243. }
  244.  
  245. }
  246.  
  247. if ((lv_topSiegeDamagerPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] == lv_iterator)) {
  248. libGame_gv_mVPStats[lv_iterator].lv_mVPScore += libGame_gf_GetMVPAwardAmount(libGame_gv_mVPStats[lv_iterator].lv_unitType, libGame_ge_MVPAwards_TopSiegeDamageonTeam);
  249. if ((lv_topSiegeDamageAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] > lv_topSiegeDamageAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_enemyTeam])) {
  250. lv_topSiegeDamagerinGame = lv_iterator;
  251. lv_topSiegeDamageAmountinGame = lv_topSiegeDamageAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team];
  252. libGame_gv_mVPStats[lv_iterator].lv_mVPScore += libGame_gf_GetMVPAwardAmount(libGame_gv_mVPStats[lv_iterator].lv_unitType, libGame_ge_MVPAwards_TopSiegeDamage);
  253. }
  254.  
  255. }
  256.  
  257. if ((lv_topDamageTakerPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] == lv_iterator) && (libGame_gv_mVPStats[lv_iterator].lv_role == c_heroRoleWarrior)) {
  258. libGame_gv_mVPStats[lv_iterator].lv_mVPScore += libGame_gf_GetMVPAwardAmount(libGame_gv_mVPStats[lv_iterator].lv_unitType, libGame_ge_MVPAwards_TopDamageTakenasWarrioronTeam);
  259. if ((lv_topDamageTakenAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] > lv_topDamageTakenAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_enemyTeam])) {
  260. lv_topDamageTakerinGame = lv_iterator;
  261. lv_topDamageTakenAmountinGame = lv_topDamageTakenAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team];
  262. libGame_gv_mVPStats[lv_iterator].lv_mVPScore += libGame_gf_GetMVPAwardAmount(libGame_gv_mVPStats[lv_iterator].lv_unitType, libGame_ge_MVPAwards_TopDamageTakenasWarrior);
  263. }
  264.  
  265. }
  266.  
  267. if ((lv_topHealerPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] == lv_iterator)) {
  268. if ((lv_topHealAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] >= lv_topHealAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_enemyTeam])) {
  269. lv_topHealerinGame = lv_iterator;
  270. lv_topHealAmount = lv_topHealAmountPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team];
  271. libGame_gv_mVPStats[lv_iterator].lv_mVPScore += libGame_gf_GetMVPAwardAmount(libGame_gv_mVPStats[lv_iterator].lv_unitType, libGame_ge_MVPAwards_TopHealing);
  272. }
  273.  
  274. }
  275.  
  276. if ((lv_topXPContributorPerTeam[libGame_gv_mVPStats[lv_iterator].lv_team] == lv_iterator)) {
  277. libGame_gv_mVPStats[lv_iterator].lv_mVPScore += libGame_gf_GetMVPAwardAmount(libGame_gv_mVPStats[lv_iterator].lv_unitType, libGame_ge_MVPAwards_TopXPContributoronTeam);
  278. if ((lv_topXPContribution[libGame_gv_mVPStats[lv_iterator].lv_team] >= lv_topXPContribution[libGame_gv_mVPStats[lv_iterator].lv_enemyTeam])) {
  279. lv_topXPContributorinGame = lv_iterator;
  280. lv_topXPContributionAmountinGame = lv_topXPContribution[libGame_gv_mVPStats[lv_iterator].lv_team];
  281. libGame_gv_mVPStats[lv_iterator].lv_mVPScore += libGame_gf_GetMVPAwardAmount(libGame_gv_mVPStats[lv_iterator].lv_unitType, libGame_ge_MVPAwards_TopXPContributor);
  282. }
  283.  
  284. }
  285.  
  286. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_45CD443A") + libGame_gv_mVPStats[lv_iterator].lv_heroName + StringExternal("Param/Value/lib_Game_5228A42B") + FixedToText(libGame_gv_mVPStats[lv_iterator].lv_mVPScore, c_fixedPrecisionAny)), false);
  287. if ((libGame_gv_mVPStats[lv_iterator].lv_mVPScore > lv_mVPScoreToBeat)) {
  288. lv_mVPScoreToBeat = libGame_gv_mVPStats[lv_iterator].lv_mVPScore;
  289. libGame_gv_mVPPlayer = lv_iterator;
  290. }
  291. else if ((libGame_gv_mVPStats[lv_iterator].lv_mVPScore == lv_mVPScoreToBeat) && (libGame_gv_mVPStats[lv_iterator].lv_xPContribution > libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_xPContribution)) {
  292. lv_mVPScoreToBeat = libGame_gv_mVPStats[lv_iterator].lv_mVPScore;
  293. libGame_gv_mVPPlayer = lv_iterator;
  294. }
  295. else if ((libGame_gv_mVPStats[lv_iterator].lv_mVPScore == lv_mVPScoreToBeat) && (libGame_gv_mVPStats[lv_iterator].lv_xPContribution == libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_xPContribution)) {
  296. lv_tiebreaker = RandomInt(0, 1);
  297. if ((lv_tiebreaker == 1)) {
  298. lv_mVPScoreToBeat = libGame_gv_mVPStats[lv_iterator].lv_mVPScore;
  299. libGame_gv_mVPPlayer = lv_iterator;
  300. }
  301.  
  302. }
  303. }
  304. if ((libGame_gv_mVPManualOverride != 0)) {
  305. libGame_gv_mVPPlayer = libGame_gv_mVPManualOverride;
  306. }
  307.  
  308. libGame_gv_playerHasWonAward[libGame_gv_mVPPlayer] = true;
  309. libGame_gf_BuildInitialSecondaryAwardList();
  310. libGame_gf_ScoreValuesReportIntegerValueAndLog(libGame_gv_mVPPlayer, "EndOfMatchAwardMVPBoolean", 1);
  311. if ((lv_topDamageTakerinGame == libGame_gv_mVPPlayer) && (libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_role == c_heroRoleWarrior)) {
  312. libUIUI_gf_AssignMVPStattoNextUISlot(StringExternal("Param/Value/lib_Game_BC81A2E9"), (FixedToText((((libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_damageTaken * 0.1) / libGame_gv_teamAwardTotalValues[libGame_gf_TeamNumberOfPlayer(libGame_gv_mVPPlayer)][libGame_ge_SecondaryAwards_Bulwark]) * 100.0), 0) + StringExternal("Param/Value/lib_Game_55791D4B")), StringExternal("Param/Value/lib_Game_7C056F7A"));
  313. }
  314. else {
  315. if ((libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_role == c_heroRoleWarrior) && ((lv_topDamageTakerPerTeam[1] == libGame_gv_mVPPlayer) || (lv_topDamageTakerPerTeam[2] == libGame_gv_mVPPlayer))) {
  316. libUIUI_gf_AssignMVPStattoNextUISlot(StringExternal("Param/Value/lib_Game_78E809CC"), (FixedToText((((libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_damageTaken * 0.1) / libGame_gv_teamAwardTotalValues[libGame_gf_TeamNumberOfPlayer(libGame_gv_mVPPlayer)][libGame_ge_SecondaryAwards_Bulwark]) * 100.0), 0) + StringExternal("Param/Value/lib_Game_64257C85")), StringExternal("Param/Value/lib_Game_D0059149"));
  317. }
  318.  
  319. }
  320. if ((lv_topHeroDamagerinGame == libGame_gv_mVPPlayer)) {
  321. libUIUI_gf_AssignMVPStattoNextUISlot(StringExternal("Param/Value/lib_Game_221A98ED"), (FixedToText((((libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_heroDamageDone * 0.1) / libGame_gv_teamAwardTotalValues[libGame_gf_TeamNumberOfPlayer(libGame_gv_mVPPlayer)][libGame_ge_SecondaryAwards_Painbringer]) * 100.0), 0) + StringExternal("Param/Value/lib_Game_653397DB")), StringExternal("Param/Value/lib_Game_3730A04C"));
  322. }
  323. else {
  324. if (((lv_topHeroDamagerPerTeam[1] == libGame_gv_mVPPlayer) || (lv_topHeroDamagerPerTeam[2] == libGame_gv_mVPPlayer))) {
  325. libUIUI_gf_AssignMVPStattoNextUISlot(StringExternal("Param/Value/lib_Game_4BC15323"), (FixedToText((((libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_heroDamageDone * 0.1) / libGame_gv_teamAwardTotalValues[libGame_gf_TeamNumberOfPlayer(libGame_gv_mVPPlayer)][libGame_ge_SecondaryAwards_Painbringer]) * 100.0), 0) + StringExternal("Param/Value/lib_Game_860767DD")), StringExternal("Param/Value/lib_Game_58458DF5"));
  326. }
  327.  
  328. }
  329. if ((lv_topHealerinGame == libGame_gv_mVPPlayer)) {
  330. libUIUI_gf_AssignMVPStattoNextUISlot(StringExternal("Param/Value/lib_Game_EBD4366F"), (FixedToText((((libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_healAmount * 0.1) / libGame_gv_teamAwardTotalValues[libGame_gf_TeamNumberOfPlayer(libGame_gv_mVPPlayer)][libGame_ge_SecondaryAwards_Bulwark]) * 100.0), 0) + StringExternal("Param/Value/lib_Game_8F4E73F9")), StringExternal("Param/Value/lib_Game_18639CDD"));
  331. }
  332. else {
  333. if (((lv_topHealerPerTeam[1] == libGame_gv_mVPPlayer) || (lv_topHealerPerTeam[2] == libGame_gv_mVPPlayer))) {
  334. libUIUI_gf_AssignMVPStattoNextUISlot(StringExternal("Param/Value/lib_Game_FCE3631A"), (FixedToText((((libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_healAmount * 0.1) / libGame_gv_teamAwardTotalValues[libGame_gf_TeamNumberOfPlayer(libGame_gv_mVPPlayer)][libGame_ge_SecondaryAwards_Bulwark]) * 100.0), 0) + StringExternal("Param/Value/lib_Game_A5DE41CD")), StringExternal("Param/Value/lib_Game_15FFDCA0"));
  335. }
  336.  
  337. }
  338. if ((lv_topSiegeDamagerinGame == libGame_gv_mVPPlayer)) {
  339. libUIUI_gf_AssignMVPStattoNextUISlot(StringExternal("Param/Value/lib_Game_6C6D6ECE"), (FixedToText((((libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_siegeDamageDone * 0.1) / libGame_gv_teamAwardTotalValues[libGame_gf_TeamNumberOfPlayer(libGame_gv_mVPPlayer)][libGame_ge_SecondaryAwards_SiegeMaster]) * 100.0), 0) + StringExternal("Param/Value/lib_Game_9153674A")), StringExternal("Param/Value/lib_Game_9E1FAAA3"));
  340. }
  341. else {
  342. if (((lv_topSiegeDamagerPerTeam[1] == libGame_gv_mVPPlayer) || (lv_topSiegeDamagerPerTeam[2] == libGame_gv_mVPPlayer))) {
  343. libUIUI_gf_AssignMVPStattoNextUISlot(StringExternal("Param/Value/lib_Game_2AF91C0F"), (FixedToText((((libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_siegeDamageDone * 0.1) / libGame_gv_teamAwardTotalValues[libGame_gf_TeamNumberOfPlayer(libGame_gv_mVPPlayer)][libGame_ge_SecondaryAwards_SiegeMaster]) * 100.0), 0) + StringExternal("Param/Value/lib_Game_E9F699EC")), StringExternal("Param/Value/lib_Game_D9E1B842"));
  344. }
  345.  
  346. }
  347. if ((lv_topXPContributorinGame == libGame_gv_mVPPlayer)) {
  348. libUIUI_gf_AssignMVPStattoNextUISlot(StringExternal("Param/Value/lib_Game_94D412BB"), (FixedToText((((libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_xPContribution * 0.1) / libGame_gv_teamAwardTotalValues[libGame_gf_TeamNumberOfPlayer(libGame_gv_mVPPlayer)][libGame_ge_SecondaryAwards_Experienced]) * 100.0), 0) + StringExternal("Param/Value/lib_Game_E5EAD4CC")), StringExternal("Param/Value/lib_Game_92C8E47A"));
  349. }
  350. else {
  351. if (((lv_topXPContributorPerTeam[1] == libGame_gv_mVPPlayer) || (lv_topXPContributorPerTeam[2] == libGame_gv_mVPPlayer))) {
  352. libUIUI_gf_AssignMVPStattoNextUISlot(StringExternal("Param/Value/lib_Game_8091716E"), (FixedToText((((libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_xPContribution * 0.1) / libGame_gv_teamAwardTotalValues[libGame_gf_TeamNumberOfPlayer(libGame_gv_mVPPlayer)][libGame_ge_SecondaryAwards_Experienced]) * 100.0), 0) + StringExternal("Param/Value/lib_Game_68D04390")), StringExternal("Param/Value/lib_Game_663780A3"));
  353. }
  354.  
  355. }
  356. libGame_gf_AssignFinalSecondaryAwards();
  357. libUIUI_gf_UIEndofMatchAwardsMVPReveal();
  358. }
  359.  
  360. void libGame_gf_MapSpecificAwardInitialize (trigger t) {
  361.  
  362. TriggerAddEventGeneric(t, libGame_gv_eventID_MapSpecificAwardInitialize_C);
  363. }
  364.  
  365. void libGame_gf_SendMapSpecificAwardInitializeEvent (text lp_name, text lp_suffix, fixed lp_base, bool lp_presentasRatio, bool lp_gatedbyBase, string lp_badgeIndex, string lp_scoreValue) {
  366.  
  367. DataTableSetText(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardInitialize_C, libGame_gv_eventParam_MapSpecificAwardInitialize_Name_C), lp_name);
  368. DataTableSetText(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardInitialize_C, libGame_gv_eventParam_MapSpecificAwardInitialize_Suffix_C), lp_suffix);
  369. DataTableSetFixed(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardInitialize_C, libGame_gv_eventParam_MapSpecificAwardInitialize_Base_C), lp_base);
  370. DataTableSetBool(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardInitialize_C, libGame_gv_eventParam_MapSpecificAwardInitialize_PresentAsRatio_C), lp_presentasRatio);
  371. DataTableSetBool(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardInitialize_C, libGame_gv_eventParam_MapSpecificAwardInitialize_GatedByBase_C), lp_gatedbyBase);
  372. DataTableSetString(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardInitialize_C, libGame_gv_eventParam_MapSpecificAwardInitialize_BadgeIndex_C), lp_badgeIndex);
  373. DataTableSetString(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardInitialize_C, libGame_gv_eventParam_MapSpecificAwardInitialize_ScoreValue_C), (lp_scoreValue));
  374. TriggerSendEvent(libGame_gv_eventID_MapSpecificAwardInitialize_C);
  375. }
  376.  
  377. text libGame_gf_MapSpecificAwardInitializeName () {
  378.  
  379. return DataTableGetText(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardInitialize_C, libGame_gv_eventParam_MapSpecificAwardInitialize_Name_C));
  380. }
  381.  
  382. text libGame_gf_MapSpecificAwardInitializeSuffix () {
  383.  
  384. return DataTableGetText(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardInitialize_C, libGame_gv_eventParam_MapSpecificAwardInitialize_Suffix_C));
  385. }
  386.  
  387. fixed libGame_gf_MapSpecificAwardInitializeBase () {
  388.  
  389. return DataTableGetFixed(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardInitialize_C, libGame_gv_eventParam_MapSpecificAwardInitialize_Base_C));
  390. }
  391.  
  392. bool libGame_gf_MapSpecificAwardInitializePresentasRatio () {
  393.  
  394. return DataTableGetBool(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardInitialize_C, libGame_gv_eventParam_MapSpecificAwardInitialize_PresentAsRatio_C));
  395. }
  396.  
  397. bool libGame_gf_MapSpecificAwardInitializeGateByBase () {
  398.  
  399. return DataTableGetBool(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardInitialize_C, libGame_gv_eventParam_MapSpecificAwardInitialize_GatedByBase_C));
  400. }
  401.  
  402. string libGame_gf_MapSpecificAwardInitializeBadgeIndex () {
  403.  
  404. return DataTableGetString(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardInitialize_C, libGame_gv_eventParam_MapSpecificAwardInitialize_BadgeIndex_C));
  405. }
  406.  
  407. string libGame_gf_MapSpecificAwardInitializeScoreValue () {
  408.  
  409. return DataTableGetString(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardInitialize_C, libGame_gv_eventParam_MapSpecificAwardInitialize_ScoreValue_C));
  410. }
  411.  
  412. void libGame_gf_MapSpecificAwardUpdate (trigger t) {
  413.  
  414. TriggerAddEventGeneric(t, libGame_gv_eventID_MapSpecificAwardUpdate_C);
  415. }
  416.  
  417. void libGame_gf_SendMapSpecificAwardEvent (int lp_player, fixed lp_value, bool lp_isAdd) {
  418.  
  419. DataTableSetInt(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardUpdate_C, libGame_gv_eventParam_MapSpecificAwardUpdate_Player_C), lp_player);
  420. DataTableSetFixed(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardUpdate_C, libGame_gv_eventParam_MapSpecificAwardUpdate_Value_C), lp_value);
  421. DataTableSetBool(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardUpdate_C, libGame_gv_eventParam_MapSpecificAwardUpdate_IsAdd_C), lp_isAdd);
  422. TriggerSendEvent(libGame_gv_eventID_MapSpecificAwardUpdate_C);
  423. }
  424.  
  425. int libGame_gf_MapSpecificAwardUpdatePlayer () {
  426.  
  427. return DataTableGetInt(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardUpdate_C, libGame_gv_eventParam_MapSpecificAwardUpdate_Player_C));
  428. }
  429.  
  430. fixed libGame_gf_MapSpecificAwardUpdateValue () {
  431.  
  432. return DataTableGetFixed(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardUpdate_C, libGame_gv_eventParam_MapSpecificAwardUpdate_Value_C));
  433. }
  434.  
  435. bool libGame_gf_MapSpecificAwardUpdateIsAdd () {
  436.  
  437. return DataTableGetBool(false, TriggerEventParamName(libGame_gv_eventID_MapSpecificAwardUpdate_C, libGame_gv_eventParam_MapSpecificAwardUpdate_IsAdd_C));
  438. }
  439.  
  440. void libGame_gf_AddtoAwardValue (int lp_player, fixed lp_awardValue, int lp_award) {
  441.  
  442. libGame_gf_SetAwardValueandWeight(lp_player, (libGame_gv_playerAwardEligibility[lp_player][(lp_award)].lv_value + lp_awardValue), lp_award);
  443. }
  444.  
  445. void libGame_gf_AssignTopAwardValue (int lp_player, fixed lp_awardValue, int lp_award) {
  446.  
  447. if ((lp_awardValue > libGame_gv_playerAwardEligibility[lp_player][(lp_award)].lv_value)) {
  448. libGame_gf_SetAwardValueandWeight(lp_player, lp_awardValue, lp_award);
  449. }
  450.  
  451. }
  452.  
  453. void libGame_gf_SetAwardValueandWeight (int lp_player, fixed lp_awardValue, int lp_award) {
  454.  
  455. if ((libGame_gv_playerAwardEligibility[lp_player][(lp_award)].lv_dEBUGManuallyForceAssigned == true)) {
  456. return ;
  457. }
  458.  
  459. libGame_gv_playerAwardEligibility[lp_player][(lp_award)].lv_value = lp_awardValue;
  460. if ((libGame_gv_playerAwardEligibility[lp_player][(lp_award)].lv_base == 0.0)) {
  461. }
  462. else if ((lp_award == libGame_ge_SecondaryAwards_Bulwark) && (libGame_gv_mVPStats[lp_player].lv_role != c_heroRoleWarrior)) {
  463. return ;
  464. }
  465. else if ((libGame_gv_playerAwardEligibility[lp_player][(lp_award)].lv_gatedbyBase == true) && (libGame_gv_playerAwardEligibility[lp_player][(lp_award)].lv_value >= libGame_gv_playerAwardEligibility[lp_player][(lp_award)].lv_base)) {
  466. libGame_gv_playerAwardEligibility[lp_player][(lp_award)].lv_weight = (libGame_gv_playerAwardEligibility[lp_player][(lp_award)].lv_value / libGame_gv_playerAwardEligibility[lp_player][(lp_award)].lv_base);
  467. }
  468. else if ((libGame_gv_playerAwardEligibility[lp_player][(lp_award)].lv_gatedbyBase == false)) {
  469. libGame_gv_playerAwardEligibility[lp_player][(lp_award)].lv_weight = (libGame_gv_playerAwardEligibility[lp_player][(lp_award)].lv_value / libGame_gv_playerAwardEligibility[lp_player][(lp_award)].lv_base);
  470. }
  471. }
  472.  
  473. void libGame_gf_InitializeAwardData (int lp_award, string lp_badgeIndex, text lp_name, text lp_prefix, text lp_suffix, fixed lp_base, bool lp_gatedbyBase, bool lp_presentasRatio, string lp_score) {
  474. int autoC16FCB48_ae;
  475. int lv_iterator;
  476.  
  477. libGame_gv_initialSecondaryAwardsList[(lp_award)].lv_name = lp_name;
  478. libGame_gv_initialSecondaryAwardsList[(lp_award)].lv_prefix = lp_prefix;
  479. libGame_gv_initialSecondaryAwardsList[(lp_award)].lv_suffix = lp_suffix;
  480. libGame_gv_initialSecondaryAwardsList[(lp_award)].lv_base = lp_base;
  481. libGame_gv_initialSecondaryAwardsList[(lp_award)].lv_gatedbyBase = lp_gatedbyBase;
  482. libGame_gv_initialSecondaryAwardsList[(lp_award)].lv_presentasRatio = lp_presentasRatio;
  483. libGame_gv_initialSecondaryAwardsList[(lp_award)].lv_awardIndex = lp_award;
  484. libGame_gv_initialSecondaryAwardsList[(lp_award)].lv_awardBadgeIndex = lp_badgeIndex;
  485. libGame_gv_initialSecondaryAwardsList[(lp_award)].lv_scoreValue = lp_score;
  486. autoC16FCB48_ae = libCore_gv_bALMaxPlayers;
  487. lv_iterator = 1;
  488. for ( ; lv_iterator <= autoC16FCB48_ae ; lv_iterator += 1 ) {
  489. libGame_gv_playerAwardEligibility[lv_iterator][(lp_award)].lv_name = lp_name;
  490. libGame_gv_playerAwardEligibility[lv_iterator][(lp_award)].lv_prefix = lp_prefix;
  491. libGame_gv_playerAwardEligibility[lv_iterator][(lp_award)].lv_suffix = lp_suffix;
  492. libGame_gv_playerAwardEligibility[lv_iterator][(lp_award)].lv_base = lp_base;
  493. libGame_gv_playerAwardEligibility[lv_iterator][(lp_award)].lv_gatedbyBase = lp_gatedbyBase;
  494. libGame_gv_playerAwardEligibility[lv_iterator][(lp_award)].lv_presentasRatio = lp_presentasRatio;
  495. libGame_gv_playerAwardEligibility[lv_iterator][(lp_award)].lv_awardIndex = lp_award;
  496. libGame_gv_playerAwardEligibility[lv_iterator][(lp_award)].lv_awardBadgeIndex = lp_badgeIndex;
  497. libGame_gv_playerAwardEligibility[lv_iterator][(lp_award)].lv_scoreValue = lp_score;
  498. }
  499. }
  500.  
  501. void libGame_gf_InitializeSecondaryAwardList () {
  502.  
  503. int lv_iterator;
  504.  
  505. libGame_gf_InitializeAwardData(libGame_ge_SecondaryAwards_Experienced, "01", StringToText(""), StringToText(""), StringExternal("Param/Value/lib_Game_99D806BE"), 12323.0, false, true, "EndOfMatchAwardMostXPContributionBoolean");
  506. libGame_gf_InitializeAwardData(libGame_ge_SecondaryAwards_Painbringer, "02", StringToText(""), StringToText(""), StringExternal("Param/Value/lib_Game_E1784618"), 37277.0, false, true, "EndOfMatchAwardMostHeroDamageDoneBoolean");
  507. libGame_gf_InitializeAwardData(libGame_ge_SecondaryAwards_Bulwark, "04", StringToText(""), StringToText(""), StringExternal("Param/Value/lib_Game_5323DD0D"), 1.0, false, true, "EndOfMatchAwardMostDamageTakenBoolean");
  508. libGame_gf_InitializeAwardData(libGame_ge_SecondaryAwards_MainHealer, "05", StringToText(""), StringToText(""), StringExternal("Param/Value/lib_Game_9A848977"), 54557.0, false, true, "EndOfMatchAwardMostHealingBoolean");
  509. libGame_gf_InitializeAwardData(libGame_ge_SecondaryAwards_SiegeMaster, "03", StringToText(""), StringToText(""), StringExternal("Param/Value/lib_Game_A7FF60CE"), 53094.0, false, true, "EndOfMatchAwardMostSiegeDamageDoneBoolean");
  510. libGame_gf_InitializeAwardData(libGame_ge_SecondaryAwards_Dominator, "00", StringToText(""), StringToText(""), StringExternal("Param/Value/lib_Game_4DE6BA61"), 7.0, true, false, "EndOfMatchAwardHighestKillStreakBoolean");
  511. libGame_gf_InitializeAwardData(libGame_ge_SecondaryAwards_Stunner, "06", StringToText(""), StringToText(""), StringExternal("Param/Value/lib_Game_3FC47453"), 57.0, true, false, "EndOfMatchAwardMostStunsBoolean");
  512. libGame_gf_InitializeAwardData(libGame_ge_SecondaryAwards_Headhunter, "07", StringToText(""), StringToText(""), StringExternal("Param/Value/lib_Game_ADD7DE68"), 2.0, true, false, "EndOfMatchAwardMostMercCampsCapturedBoolean");
  513. }
  514.  
  515. void libGame_gf_BuildInitialSecondaryAwardList () {
  516. int autoF400ED20_ae;
  517. int auto9A235845_ae;
  518. int auto8517A970_ae;
  519.  
  520. int lv_playerIterator;
  521. int lv_awardIterator;
  522. fixed lv_temporaryValue;
  523.  
  524.  
  525. autoF400ED20_ae = libCore_gv_bALMaxPlayers;
  526. lv_playerIterator = 1;
  527. for ( ; lv_playerIterator <= autoF400ED20_ae ; lv_playerIterator += 1 ) {
  528. libGame_gf_SetAwardValueandWeight(lv_playerIterator, libGame_gv_scoreValues[lv_playerIterator].lv_creepCampsCaptured, libGame_ge_SecondaryAwards_Headhunter);
  529. }
  530. auto9A235845_ae = libCore_gv_bALMaxPlayers;
  531. lv_playerIterator = 1;
  532. for ( ; lv_playerIterator <= auto9A235845_ae ; lv_playerIterator += 1 ) {
  533. auto8517A970_ae = libGame_gv_secondaryAwardCount;
  534. lv_awardIterator = 1;
  535. for ( ; lv_awardIterator <= auto8517A970_ae ; lv_awardIterator += 1 ) {
  536. lv_temporaryValue = (libGame_gv_playerAwardEligibility[lv_playerIterator][lv_awardIterator].lv_value * 0.1);
  537. libGame_gv_teamAwardTotalValues[libGame_gf_TeamNumberOfPlayer(lv_playerIterator)][lv_awardIterator] += lv_temporaryValue;
  538. if ((libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_weight < libGame_gv_playerAwardEligibility[lv_playerIterator][lv_awardIterator].lv_weight)) {
  539. libGame_gf_AssignAwardWinner(lv_awardIterator, lv_playerIterator);
  540. }
  541.  
  542. }
  543. }
  544. }
  545.  
  546. void libGame_gf_AssignAwardWinner (int lp_awardIndex, int lp_playerIndex) {
  547.  
  548. libGame_gv_initialSecondaryAwardsList[lp_awardIndex].lv_weight = libGame_gv_playerAwardEligibility[lp_playerIndex][lp_awardIndex].lv_weight;
  549. libGame_gv_initialSecondaryAwardsList[lp_awardIndex].lv_value = libGame_gv_playerAwardEligibility[lp_playerIndex][lp_awardIndex].lv_value;
  550. libGame_gv_initialSecondaryAwardsList[lp_awardIndex].lv_winner = lp_playerIndex;
  551. }
  552.  
  553. int libGame_gf_DecideTiebreaker (int lp_awardPreset, int lp_firstPlayer, int lp_secondPlayer) {
  554.  
  555. if ((lp_awardPreset == libGame_ge_SecondaryAwards_Dominator)) {
  556. if ((libGame_gv_scoreValues[lp_firstPlayer].lv_kills < libGame_gv_scoreValues[lp_secondPlayer].lv_kills)) {
  557. return lp_secondPlayer;
  558. }
  559. else if ((libGame_gv_scoreValues[lp_firstPlayer].lv_kills > libGame_gv_scoreValues[lp_secondPlayer].lv_kills)) {
  560. return lp_firstPlayer;
  561. }
  562. }
  563.  
  564. if ((RandomInt(1, 2) == 1)) {
  565. return lp_firstPlayer;
  566. }
  567. else {
  568. return lp_secondPlayer;
  569. }
  570. return lp_firstPlayer;
  571. }
  572.  
  573. text libGame_gf_GetFinalAwardName (int lp_awardPreset, int lp_awardWinningPlayer) {
  574. int auto65649017_val;
  575.  
  576.  
  577. auto65649017_val = lp_awardPreset;
  578. if (auto65649017_val == libGame_ge_SecondaryAwards_Experienced) {
  579. TextExpressionSetToken("Param/Expression/lib_Game_873A2D04", "HeroName", UnitTypeGetName(UnitGetType(libGame_gv_players[lp_awardWinningPlayer].lv_heroUnit)));
  580. return TextExpressionAssemble("Param/Expression/lib_Game_873A2D04");
  581. }
  582. else if (auto65649017_val == libGame_ge_SecondaryAwards_Painbringer) {
  583. TextExpressionSetToken("Param/Expression/lib_Game_0823708E", "HeroName", UnitTypeGetName(UnitGetType(libGame_gv_players[lp_awardWinningPlayer].lv_heroUnit)));
  584. return TextExpressionAssemble("Param/Expression/lib_Game_0823708E");
  585. }
  586. else if (auto65649017_val == libGame_ge_SecondaryAwards_Bulwark) {
  587. TextExpressionSetToken("Param/Expression/lib_Game_27496ED3", "HeroName", UnitTypeGetName(UnitGetType(libGame_gv_players[lp_awardWinningPlayer].lv_heroUnit)));
  588. return TextExpressionAssemble("Param/Expression/lib_Game_27496ED3");
  589. }
  590. else if (auto65649017_val == libGame_ge_SecondaryAwards_MainHealer) {
  591. TextExpressionSetToken("Param/Expression/lib_Game_2E2684C7", "HeroName", UnitTypeGetName(UnitGetType(libGame_gv_players[lp_awardWinningPlayer].lv_heroUnit)));
  592. return TextExpressionAssemble("Param/Expression/lib_Game_2E2684C7");
  593. }
  594. else if (auto65649017_val == libGame_ge_SecondaryAwards_SiegeMaster) {
  595. TextExpressionSetToken("Param/Expression/lib_Game_61CD81D2", "HeroName", UnitTypeGetName(UnitGetType(libGame_gv_players[lp_awardWinningPlayer].lv_heroUnit)));
  596. return TextExpressionAssemble("Param/Expression/lib_Game_61CD81D2");
  597. }
  598. else if (auto65649017_val == libGame_ge_SecondaryAwards_Dominator) {
  599. TextExpressionSetToken("Param/Expression/lib_Game_262C1468", "HeroName", UnitTypeGetName(UnitGetType(libGame_gv_players[lp_awardWinningPlayer].lv_heroUnit)));
  600. return TextExpressionAssemble("Param/Expression/lib_Game_262C1468");
  601. }
  602. else if (auto65649017_val == libGame_ge_SecondaryAwards_Stunner) {
  603. TextExpressionSetToken("Param/Expression/lib_Game_8A09284E", "HeroName", UnitTypeGetName(UnitGetType(libGame_gv_players[lp_awardWinningPlayer].lv_heroUnit)));
  604. return TextExpressionAssemble("Param/Expression/lib_Game_8A09284E");
  605. }
  606. else if (auto65649017_val == libGame_ge_SecondaryAwards_Headhunter) {
  607. TextExpressionSetToken("Param/Expression/lib_Game_183618CC", "HeroName", UnitTypeGetName(UnitGetType(libGame_gv_players[lp_awardWinningPlayer].lv_heroUnit)));
  608. return TextExpressionAssemble("Param/Expression/lib_Game_183618CC");
  609. }
  610. else if (auto65649017_val == libGame_ge_SecondaryAwards_MapSpecific) {
  611. TextExpressionSetToken("Param/Expression/lib_Game_555DE128", "HeroName", UnitTypeGetName(UnitGetType(libGame_gv_players[lp_awardWinningPlayer].lv_heroUnit)));
  612. TextExpressionSetToken("Param/Expression/lib_Game_555DE128", "AwardName", libGame_gv_initialSecondaryAwardsList[libGame_ge_SecondaryAwards_MapSpecific].lv_name);
  613. return TextExpressionAssemble("Param/Expression/lib_Game_555DE128");
  614. }
  615. else {
  616. }
  617. return StringToText("");
  618. }
  619.  
  620. text libGame_gf_GetFinalAwardValueInfo (int lp_playerIndex, int lp_finalAwardSlotIndex) {
  621.  
  622. fixed lv_awardValue;
  623. text lv_texttoReturn;
  624. int lv_award;
  625.  
  626.  
  627. lv_award = libGame_gv_finalSecondaryAwardsList[lp_finalAwardSlotIndex].lv_awardIndex;
  628.  
  629.  
  630. lv_awardValue = FixedToInt(libGame_gv_finalSecondaryAwardsList[lp_finalAwardSlotIndex].lv_value);
  631. if ((libGame_gv_finalSecondaryAwardsList[lp_finalAwardSlotIndex].lv_presentasRatio == true) && (libGame_gv_teamAwardTotalValues[libGame_gf_TeamNumberOfPlayer(lp_playerIndex)][lv_award] != 0.0)) {
  632. if ((lv_award == (libGame_ge_SecondaryAwards_MainHealer))) {
  633. lv_awardValue *= 0.1;
  634. lv_awardValue = ((lv_awardValue / libGame_gv_teamAwardTotalValues[libGame_gf_TeamNumberOfPlayer(lp_playerIndex)][libGame_ge_SecondaryAwards_Bulwark]) * 100.0);
  635. }
  636. else {
  637. lv_awardValue *= 0.1;
  638. lv_awardValue = ((lv_awardValue / libGame_gv_teamAwardTotalValues[libGame_gf_TeamNumberOfPlayer(lp_playerIndex)][lv_award]) * 100.0);
  639. }
  640. }
  641.  
  642. TextExpressionSetToken("AwardDesc", c_textExpressionTokenMain, libGame_gv_finalSecondaryAwardsList[lp_finalAwardSlotIndex].lv_suffix);
  643. TextExpressionSetToken("AwardDesc", "AwardValue", FixedToText(lv_awardValue, 0));
  644. return TextExpressionAssemble("AwardDesc");
  645. }
  646.  
  647. void libGame_gf_AssignFinalSecondaryAwards () {
  648. int auto8A327C5D_ae;
  649. int autoD9F10EBE_ae;
  650. int autoCFF39CBA_ae;
  651. int auto7A5CBDCF_ae;
  652.  
  653. // Variable Declarations
  654. int lv_slotIterator;
  655. int lv_awardIterator;
  656. bool lv_awardFoundforSlot;
  657. bool[libGame_gv_secondaryAwardCount + 1] lv_awardIsAssigned;
  658. int lv_backUpAwardIterator;
  659. int lv_backUpAwardPlayerIterator;
  660. int lv_backUpAwardWinner;
  661. int lv_backUpAward;
  662. fixed lv_backUpWeight;
  663.  
  664. auto8A327C5D_ae = libGame_gv_secondaryAwardSlotCount;
  665. lv_slotIterator = 1;
  666. for ( ; lv_slotIterator <= auto8A327C5D_ae ; lv_slotIterator += 1 ) {
  667. lv_awardFoundforSlot = false;
  668. lv_backUpWeight = 0.0;
  669. autoD9F10EBE_ae = libGame_gv_secondaryAwardCount;
  670. lv_backUpAwardIterator = 1;
  671. for ( ; lv_backUpAwardIterator <= autoD9F10EBE_ae ; lv_backUpAwardIterator += 1 ) {
  672. if ((lv_awardIsAssigned[lv_backUpAwardIterator] == false)) {
  673. autoCFF39CBA_ae = libCore_gv_bALMaxPlayers;
  674. lv_backUpAwardPlayerIterator = 1;
  675. for ( ; lv_backUpAwardPlayerIterator <= autoCFF39CBA_ae ; lv_backUpAwardPlayerIterator += 1 ) {
  676. if ((libGame_gv_playerHasWonAward[lv_backUpAwardPlayerIterator] == false) && (libGame_gv_playerAwardEligibility[lv_backUpAwardPlayerIterator][lv_backUpAwardIterator].lv_weight != 0.0) && (lv_backUpWeight <= libGame_gv_playerAwardEligibility[lv_backUpAwardPlayerIterator][lv_backUpAwardIterator].lv_weight)) {
  677. if ((lv_backUpWeight == libGame_gv_playerAwardEligibility[lv_backUpAwardPlayerIterator][lv_backUpAwardIterator].lv_weight)) {
  678. lv_backUpAwardWinner = libGame_gf_DecideTiebreaker(lv_backUpAwardIterator, lv_backUpAwardPlayerIterator, lv_backUpAwardWinner);
  679. lv_backUpAward = lv_backUpAwardIterator;
  680. }
  681. else {
  682. lv_backUpAwardWinner = lv_backUpAwardPlayerIterator;
  683. lv_backUpAward = lv_backUpAwardIterator;
  684. }
  685. lv_backUpWeight = libGame_gv_playerAwardEligibility[lv_backUpAwardWinner][lv_backUpAward].lv_weight;
  686. lv_awardFoundforSlot = true;
  687. }
  688.  
  689. }
  690. }
  691.  
  692. }
  693. if ((lv_awardFoundforSlot == true) && (lv_backUpWeight != 0.0)) {
  694. lv_awardFoundforSlot = true;
  695. libGame_gv_playerHasWonAward[lv_backUpAwardWinner] = true;
  696. lv_awardIsAssigned[lv_backUpAward] = true;
  697. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_winner = lv_backUpAwardWinner;
  698. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_name = libGame_gf_GetFinalAwardName(lv_backUpAward, lv_backUpAwardWinner);
  699. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_prefix = libGame_gv_playerAwardEligibility[lv_backUpAwardWinner][lv_backUpAward].lv_prefix;
  700. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_suffix = libGame_gv_playerAwardEligibility[lv_backUpAwardWinner][lv_backUpAward].lv_suffix;
  701. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_weight = lv_backUpWeight;
  702. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_value = libGame_gv_playerAwardEligibility[lv_backUpAwardWinner][lv_backUpAward].lv_value;
  703. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_scoreValue = libGame_gv_playerAwardEligibility[lv_backUpAwardWinner][lv_backUpAward].lv_scoreValue;
  704. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_awardIndex = libGame_gv_playerAwardEligibility[lv_backUpAwardWinner][lv_backUpAward].lv_awardIndex;
  705. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_awardBadgeIndex = libGame_gv_playerAwardEligibility[lv_backUpAwardWinner][lv_backUpAward].lv_awardBadgeIndex;
  706. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_presentasRatio = libGame_gv_playerAwardEligibility[lv_backUpAwardWinner][lv_backUpAward].lv_presentasRatio;
  707. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_542166A4") + libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_name + StringExternal("Param/Value/lib_Game_7F1D45EC") + UnitTypeGetName(UnitGetType(libGame_gv_players[libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_winner].lv_heroUnit)) + StringExternal("Param/Value/lib_Game_D3604DFC") + StringToText("") + FixedToText(libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_value, 0) + StringToText("") + StringExternal("Param/Value/lib_Game_F56D9AF5") + FixedToText(libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_base, 0) + StringExternal("Param/Value/lib_Game_06929FF2") + FixedToText(libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_weight, 3)), false);
  708. libGame_gf_ScoreValuesReportIntegerValueAndLog(libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_winner, libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_scoreValue, 1);
  709. }
  710. else {
  711. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_5FF27813") + IntToText(lv_slotIterator)), false);
  712. lv_awardFoundforSlot = false;
  713. auto7A5CBDCF_ae = libGame_gv_secondaryAwardCount;
  714. lv_awardIterator = 1;
  715. for ( ; lv_awardIterator <= auto7A5CBDCF_ae ; lv_awardIterator += 1 ) {
  716. if ((libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_winner != 0) && (lv_awardIsAssigned[lv_awardIterator] == false) && (lv_awardFoundforSlot == false)) {
  717. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_winner = libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_winner;
  718. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_name = libGame_gf_GetFinalAwardName(lv_backUpAward, lv_backUpAwardWinner);
  719. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_prefix = libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_prefix;
  720. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_suffix = libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_suffix;
  721. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_weight = libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_weight;
  722. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_value = libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_value;
  723. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_awardIndex = libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_awardIndex;
  724. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_awardBadgeIndex = libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_awardBadgeIndex;
  725. libGame_gv_finalSecondaryAwardsList[lv_slotIterator].lv_presentasRatio = libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_presentasRatio;
  726. lv_awardFoundforSlot = true;
  727. lv_awardIsAssigned[lv_awardIterator] = true;
  728. libGame_gv_playerHasWonAward[libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_winner] = true;
  729. TriggerDebugOutput(8, (StringExternal("Param/Value/lib_Game_BA6BA84A") + libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_name + StringExternal("Param/Value/lib_Game_8F113EBC") + UnitTypeGetName(UnitGetType(libGame_gv_players[libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_winner].lv_heroUnit)) + StringExternal("Param/Value/lib_Game_25033D59") + StringToText("") + FixedToText(libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_value, 0) + StringToText("") + StringExternal("Param/Value/lib_Game_C332C57A") + FixedToText(libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_base, 0) + StringExternal("Param/Value/lib_Game_592EE249") + FixedToText(libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_weight, 3)), false);
  730. libGame_gf_ScoreValuesReportIntegerValueAndLog(libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_winner, libGame_gv_initialSecondaryAwardsList[lv_awardIterator].lv_scoreValue, 1);
  731. }
  732.  
  733. }
  734. }
  735. }
  736. }
Advertisement
Add Comment
Please, Sign In to add comment