From 64f4f18d66210aca502e3a3c76d71cd4d16472f0 Mon Sep 17 00:00:00 2001 From: Jamie Phan <9488815+jamiephan@users.noreply.github.com> Date: Sun, 3 Nov 2024 22:35:10 +0800 Subject: [PATCH] Updated Mimic to v2.55.7.93054 --- .../Mods/GameData/HeroesMod/AbilityMimic.xml | 7 ++ .../Mods/GameData/HeroesMod/BehaviorMimic.xml | 119 ++++++++++++++++++ .../MimicGameDataHelperLib.galaxy | 116 ++++++++++++++++- .../MimicGameDataHelperLib_h.galaxy | 3 + .../InternalMimics/MimicHeroesLib_h.galaxy | 1 + 5 files changed, 244 insertions(+), 2 deletions(-) diff --git a/(10)trymemode.stormmap/base.stormdata/Mods/GameData/HeroesMod/AbilityMimic.xml b/(10)trymemode.stormmap/base.stormdata/Mods/GameData/HeroesMod/AbilityMimic.xml index b06be25..bce8fea 100644 --- a/(10)trymemode.stormmap/base.stormdata/Mods/GameData/HeroesMod/AbilityMimic.xml +++ b/(10)trymemode.stormmap/base.stormdata/Mods/GameData/HeroesMod/AbilityMimic.xml @@ -3605,6 +3605,13 @@ + + + + + + + diff --git a/(10)trymemode.stormmap/base.stormdata/Mods/GameData/HeroesMod/BehaviorMimic.xml b/(10)trymemode.stormmap/base.stormdata/Mods/GameData/HeroesMod/BehaviorMimic.xml index 0a70dbc..facca68 100644 --- a/(10)trymemode.stormmap/base.stormdata/Mods/GameData/HeroesMod/BehaviorMimic.xml +++ b/(10)trymemode.stormmap/base.stormdata/Mods/GameData/HeroesMod/BehaviorMimic.xml @@ -2971,6 +2971,10 @@ + + + + @@ -4139,6 +4143,10 @@ + + + + @@ -5627,6 +5635,10 @@ + + + + @@ -7995,6 +8007,10 @@ + + + + @@ -17675,6 +17691,10 @@ + + + + @@ -17739,6 +17759,10 @@ + + + + @@ -19235,6 +19259,10 @@ + + + + @@ -28599,6 +28627,12 @@ + + + + + + @@ -30351,6 +30385,12 @@ + + + + + + @@ -32583,6 +32623,12 @@ + + + + + + @@ -36135,6 +36181,12 @@ + + + + + + @@ -50655,6 +50707,12 @@ + + + + + + @@ -50751,6 +50809,12 @@ + + + + + + @@ -52995,6 +53059,12 @@ + + + + + + @@ -65561,6 +65631,13 @@ + + + + + + + @@ -67605,6 +67682,13 @@ + + + + + + + @@ -70209,6 +70293,13 @@ + + + + + + + @@ -74353,6 +74444,13 @@ + + + + + + + @@ -91293,6 +91391,13 @@ + + + + + + + @@ -91405,6 +91510,13 @@ + + + + + + + @@ -94023,6 +94135,13 @@ + + + + + + + diff --git a/(10)trymemode.stormmap/base.stormdata/ModuleMimicLibs/InternalMimics/MimicGameDataHelperLib.galaxy b/(10)trymemode.stormmap/base.stormdata/ModuleMimicLibs/InternalMimics/MimicGameDataHelperLib.galaxy index 813b99f..f57825c 100644 --- a/(10)trymemode.stormmap/base.stormdata/ModuleMimicLibs/InternalMimics/MimicGameDataHelperLib.galaxy +++ b/(10)trymemode.stormmap/base.stormdata/ModuleMimicLibs/InternalMimics/MimicGameDataHelperLib.galaxy @@ -3008,6 +3008,8 @@ void MimicGameDataHelperLib_gf_HeroRehgarIncrementHeroCountFunction () { TriggerEnable(MimicGameDataHelperLib_gt_HeroRehgarTotemicProjectionResetOnRewindUse, true); TriggerEnable(MimicGameDataHelperLib_gt_HeroRehgarTidalWavesModifyCooldown, true); TriggerEnable(MimicGameDataHelperLib_gt_HeroRehgarEarthlivingEnchantHotApply, true); + TriggerEnable(MimicGameDataHelperLib_gt_HeroRehgarElectricChargeAddLeech, true); + TriggerEnable(MimicGameDataHelperLib_gt_HeroRehgarElectricChargeLeechProc, true); } } @@ -3028,6 +3030,8 @@ void MimicGameDataHelperLib_gf_HeroRehgarDecrementHeroCountFunction () { TriggerEnable(MimicGameDataHelperLib_gt_HeroRehgarTotemicProjectionResetOnRewindUse, false); TriggerEnable(MimicGameDataHelperLib_gt_HeroRehgarTidalWavesModifyCooldown, false); TriggerEnable(MimicGameDataHelperLib_gt_HeroRehgarEarthlivingEnchantHotApply, false); + TriggerEnable(MimicGameDataHelperLib_gt_HeroRehgarElectricChargeAddLeech, false); + TriggerEnable(MimicGameDataHelperLib_gt_HeroRehgarElectricChargeLeechProc, false); } } @@ -5146,6 +5150,7 @@ void MimicGameDataHelperLib_gt_HeroAbathurCarapaceRegenerativeMicrobes_Init () { TriggerAddEventPlayerEffectUsed(MimicGameDataHelperLib_gt_HeroAbathurCarapaceRegenerativeMicrobes, c_playerAny, "CarapaceEvolutionApplyShield"); TriggerAddEventPlayerEffectUsed(MimicGameDataHelperLib_gt_HeroAbathurCarapaceRegenerativeMicrobes, c_playerAny, "CarapaceEvolutionApplyShieldHivemind"); TriggerAddEventPlayerEffectUsed(MimicGameDataHelperLib_gt_HeroAbathurCarapaceRegenerativeMicrobes, c_playerAny, "AbathurSymbioteApplyCarapaceNetworkedCarapaceTalentShield"); + TriggerAddEventPlayerEffectUsed(MimicGameDataHelperLib_gt_HeroAbathurCarapaceRegenerativeMicrobes, c_playerAny, "AbathurSymbioteApplyCarapaceNetworkedCarapaceHivemindTalentShield"); } //-------------------------------------------------------------------------------------------------- @@ -18744,7 +18749,10 @@ bool MimicGameDataHelperLib_gt_HeroRaynorBansheeTeleport_Func (bool testConds, b if (autoD0FD4CB9_var == null) { break; } if ((UnitGetType(autoD0FD4CB9_var) == "RaynorRaynorsBanshee")) { UnitSetPosition(autoD0FD4CB9_var, UnitGetPosition(libGame_gv_players[lv_player].lv_heroUnit), false); - UnitCreateEffectUnit(autoD0FD4CB9_var, "HearthstoneHealthCreateHealer", autoD0FD4CB9_var); + if ((EventPlayerEffectUsed() == "HearthstoneTeleport")) { + UnitCreateEffectUnit(autoD0FD4CB9_var, "HearthstoneHealthCreateHealer", autoD0FD4CB9_var); + } + UnitCreateEffectUnit(lv_unit, "RaynorRaynorsRaidersLeashTrackedUnits", lv_unit); } @@ -19165,6 +19173,105 @@ void MimicGameDataHelperLib_gt_HeroRehgarGhostWolfMountingSpecialCase_Init () { libGame_gf_HeroSpecialCaseMounting(MimicGameDataHelperLib_gt_HeroRehgarGhostWolfMountingSpecialCase); } +//-------------------------------------------------------------------------------------------------- +// Trigger: Hero - Rehgar - Electric Charge - Add Leech +//-------------------------------------------------------------------------------------------------- +bool MimicGameDataHelperLib_gt_HeroRehgarElectricChargeAddLeech_Func (bool testConds, bool runActions) { + // Variable Declarations + fixed lv_damageAmount; + unit lv_rehgarUnit; + int lv_rehgarPlayer; + + // Automatic Variable Declarations + // Variable Initialization + lv_rehgarUnit = EventUnitDamageSourceUnit(); + lv_rehgarPlayer = UnitGetOwner(EventUnitDamageSourceUnit()); + + // Conditions + if (testConds) { + if (!((UnitTypeTestAttribute(UnitGetType(EventUnit()), c_unitAttributeHeroic) == true))) { + return false; + } + + if (!((PlayerHasTalent(lv_rehgarPlayer, "RehgarLightningShieldElectricCharge") == true))) { + return false; + } + + if (!((lv_rehgarPlayer >= 1))) { + return false; + } + + if (!((lv_rehgarPlayer <= libCore_gv_bALMaxPlayers))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + lv_damageAmount = ((EventUnitDamageAmount() + EventUnitDamageBehaviorShield()) * CatalogFieldValueGetAsFixed(c_gameCatalogEffect, EventUnitDamageEffect(), "LeechFraction[" + IntToString(c_unitVitalLife) + "]", lv_rehgarPlayer)); + MimicGameDataHelperLib_gv_heroRehgarElecrtricChargeLeechCombined[lv_rehgarPlayer] = (MimicGameDataHelperLib_gv_heroRehgarElecrtricChargeLeechCombined[lv_rehgarPlayer] + lv_damageAmount); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void MimicGameDataHelperLib_gt_HeroRehgarElectricChargeAddLeech_Init () { + MimicGameDataHelperLib_gt_HeroRehgarElectricChargeAddLeech = TriggerCreate("MimicGameDataHelperLib_gt_HeroRehgarElectricChargeAddLeech_Func"); + TriggerEnable(MimicGameDataHelperLib_gt_HeroRehgarElectricChargeAddLeech, false); + TriggerAddDamageEvent(MimicGameDataHelperLib_gt_HeroRehgarElectricChargeAddLeech, "HeroRehgar", null, c_unitDamageTypeAbility, c_unitDamageEither, "RehgarLightningShieldDamage"); + TriggerAddDamageEvent(MimicGameDataHelperLib_gt_HeroRehgarElectricChargeAddLeech, "HeroRehgar", null, c_unitDamageTypeAbility, c_unitDamageEither, "RehgarLightningShieldElectricChargeTalentDamage"); +} + +//-------------------------------------------------------------------------------------------------- +// Trigger: Hero - Rehgar - Electric Charge - Leech Proc +//-------------------------------------------------------------------------------------------------- +bool MimicGameDataHelperLib_gt_HeroRehgarElectricChargeLeechProc_Func (bool testConds, bool runActions) { + // Variable Declarations + unit lv_rehgarUnit; + unit lv_sourceUnit; + int lv_rehgarPlayer; + + // Automatic Variable Declarations + // Variable Initialization + lv_rehgarUnit = EventPlayerEffectUsedUnit(c_effectUnitCaster); + lv_sourceUnit = EventPlayerEffectUsedUnit(c_effectUnitSource); + lv_rehgarPlayer = UnitGetOwner(lv_rehgarUnit); + + // Conditions + if (testConds) { + if (!((MimicGameDataHelperLib_gv_heroRehgarElecrtricChargeLeechCombined[lv_rehgarPlayer] > 0.0))) { + return false; + } + + if (!((lv_rehgarPlayer >= 1))) { + return false; + } + + if (!((lv_rehgarPlayer <= libCore_gv_bALMaxPlayers))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + CatalogFieldValueSetFixed(c_gameCatalogEffect, "RehgarElectricChargeCreateHealer", "RechargeVitalRate", lv_rehgarPlayer, MimicGameDataHelperLib_gv_heroRehgarElecrtricChargeLeechCombined[lv_rehgarPlayer]); + UnitCreateEffectUnit(lv_rehgarUnit, "RehgarElectricChargeCreateHealerSet", lv_sourceUnit); + MimicGameDataHelperLib_gv_heroRehgarElecrtricChargeLeechCombined[lv_rehgarPlayer] = 0.0; + return true; +} + +//-------------------------------------------------------------------------------------------------- +void MimicGameDataHelperLib_gt_HeroRehgarElectricChargeLeechProc_Init () { + MimicGameDataHelperLib_gt_HeroRehgarElectricChargeLeechProc = TriggerCreate("MimicGameDataHelperLib_gt_HeroRehgarElectricChargeLeechProc_Func"); + TriggerEnable(MimicGameDataHelperLib_gt_HeroRehgarElectricChargeLeechProc, false); + TriggerAddEventPlayerEffectUsed(MimicGameDataHelperLib_gt_HeroRehgarElectricChargeLeechProc, c_playerAny, "RehgarLightningShieldLeechProcDummy"); +} + //-------------------------------------------------------------------------------------------------- // Trigger: Rexxar UI Initialize //-------------------------------------------------------------------------------------------------- @@ -20366,7 +20473,10 @@ bool MimicGameDataHelperLib_gt_HeroRexxarMishaTeleport_Func (bool testConds, boo if ((UnitGetType(autoFF82D22F_var) == "RexxarMisha")) { UnitCreateEffectUnit(autoFF82D22F_var, "RexxarMishaHoldIssueStopOrder", autoFF82D22F_var); UnitSetPosition(autoFF82D22F_var, UnitGetPosition(libGame_gv_players[lv_player].lv_heroUnit), false); - UnitCreateEffectUnit(autoFF82D22F_var, "HearthstoneHealthCreateHealer", autoFF82D22F_var); + if ((EventPlayerEffectUsed() == "HearthstoneTeleport")) { + UnitCreateEffectUnit(autoFF82D22F_var, "HearthstoneHealthCreateHealer", autoFF82D22F_var); + } + Wait(0.0625, c_timeGame); MimicGameDataHelperLib_gf_HeroRexxarMishaStopMishaandResetThink(autoFF82D22F_var); } @@ -26810,6 +26920,8 @@ void MimicGameDataHelperLib_InitTriggers () { MimicGameDataHelperLib_gt_HeroRehgarTotemicProjectionResetOnRewindUse_Init(); MimicGameDataHelperLib_gt_HeroRehgarGhostWolfAfterPortToTown_Init(); MimicGameDataHelperLib_gt_HeroRehgarGhostWolfMountingSpecialCase_Init(); + MimicGameDataHelperLib_gt_HeroRehgarElectricChargeAddLeech_Init(); + MimicGameDataHelperLib_gt_HeroRehgarElectricChargeLeechProc_Init(); MimicGameDataHelperLib_gt_RexxarUIInitialize_Init(); MimicGameDataHelperLib_gt_RexxarUICleanupForHeroSwap_Init(); MimicGameDataHelperLib_gt_HeroRexxarCleanUpForAbathurUltimateEvolutionClone_Init(); diff --git a/(10)trymemode.stormmap/base.stormdata/ModuleMimicLibs/InternalMimics/MimicGameDataHelperLib_h.galaxy b/(10)trymemode.stormmap/base.stormdata/ModuleMimicLibs/InternalMimics/MimicGameDataHelperLib_h.galaxy index a6630e3..94bd6fa 100644 --- a/(10)trymemode.stormmap/base.stormdata/ModuleMimicLibs/InternalMimics/MimicGameDataHelperLib_h.galaxy +++ b/(10)trymemode.stormmap/base.stormdata/ModuleMimicLibs/InternalMimics/MimicGameDataHelperLib_h.galaxy @@ -349,6 +349,7 @@ bool[libCore_gv_bALMaxPlayers + 1] MimicGameDataHelperLib_gv_heroRaynorRaynorsBa unit[libCore_gv_bALMaxPlayers + 1] MimicGameDataHelperLib_gv_heroRaynorBansheeTarget; int MimicGameDataHelperLib_gv_heroRehgarTriggerRegistrationVariable; unit[libCore_gv_bALMaxPlayers + 1] MimicGameDataHelperLib_gv_heroRehgarTotemicProjectionTalentActiveTotem; +fixed[libCore_gv_bALMaxPlayers + 1] MimicGameDataHelperLib_gv_heroRehgarElecrtricChargeLeechCombined; int MimicGameDataHelperLib_gv_heroRexxarTriggerRegistrationVariable; MimicGameDataHelperLib_gs_RexxarUI MimicGameDataHelperLib_gv_rexxarUI; unit[libCore_gv_bALMaxPlayers + 1] MimicGameDataHelperLib_gv_hunterGathererGlobe; @@ -882,6 +883,8 @@ trigger MimicGameDataHelperLib_gt_HeroRehgarTotemicProjectionTalentMoveTotem; trigger MimicGameDataHelperLib_gt_HeroRehgarTotemicProjectionResetOnRewindUse; trigger MimicGameDataHelperLib_gt_HeroRehgarGhostWolfAfterPortToTown; trigger MimicGameDataHelperLib_gt_HeroRehgarGhostWolfMountingSpecialCase; +trigger MimicGameDataHelperLib_gt_HeroRehgarElectricChargeAddLeech; +trigger MimicGameDataHelperLib_gt_HeroRehgarElectricChargeLeechProc; trigger MimicGameDataHelperLib_gt_RexxarUIInitialize; trigger MimicGameDataHelperLib_gt_RexxarUICleanupForHeroSwap; trigger MimicGameDataHelperLib_gt_HeroRexxarCleanUpForAbathurUltimateEvolutionClone; diff --git a/(10)trymemode.stormmap/base.stormdata/ModuleMimicLibs/InternalMimics/MimicHeroesLib_h.galaxy b/(10)trymemode.stormmap/base.stormdata/ModuleMimicLibs/InternalMimics/MimicHeroesLib_h.galaxy index 73aa03e..4f630b3 100644 --- a/(10)trymemode.stormmap/base.stormdata/ModuleMimicLibs/InternalMimics/MimicHeroesLib_h.galaxy +++ b/(10)trymemode.stormmap/base.stormdata/ModuleMimicLibs/InternalMimics/MimicHeroesLib_h.galaxy @@ -681,6 +681,7 @@ fixed[MimicHeroesLib_gv_bALMaxLevel + 1] MimicHeroesLib_gv_dataXPLevelXPValues; fixed MimicHeroesLib_gv_dataXPBrawlMetaXPExpectedDuration; fixed MimicHeroesLib_gv_dataXPBrawlMetaXPMaximumDuration; fixed[MimicHeroesLib_gv_data_XP_BrawlMetaXPTableSize_C + 1] MimicHeroesLib_gv_dataXPBrawlMetaXPValues; +bool MimicHeroesLib_gv_HearthstoneAbilityDisabled; bool MimicHeroesLib_gv_dEBUGErrorDuringInitialization; int MimicHeroesLib_gv_metagame_DefaultRotationSlots_C; unitfilter MimicHeroesLib_gv_filtersAlly;