Skip to content

Commit

Permalink
v0.23
Browse files Browse the repository at this point in the history
Updates to support latest game version, visual update to the options menu, more top bar options, some hero attachments expanded & reworked selection menu, minimal mode shortcut(replacing talent disable shortcut)
  • Loading branch information
spazzo966 committed Jul 26, 2021
1 parent ce6ef3d commit 2bbea20
Show file tree
Hide file tree
Showing 43 changed files with 1,048 additions and 264 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Export Settings - by pressing the Export Settings button, the current settings f
* Alt+I: Disable Hero Attachments(floating cooldowns beside hero Healthplates)
* ALT+U: Move the Hero Health Label Display Setting Up(the percentage of health at which Hero Health will display as a number in their Healthplate)
* ALT+Y: Move the Hero Health Label Display Setting Down(the percentage of health at which Hero Health will display as a number in their Healthplate)
* Alt+T: Disable talents in the Top Bar
* Alt+T: Minimal Mode: Disables showing non-heroic talents in the top bar, and changes a number of other settings to reduce visual clutter
* Alt+R: Disable Basic Abilities in the Top bar
* Alt+K: Disable Structure Health in Healthplates
* Alt+1: Open Timestamped Statitsics in the Bottom Panel
Expand Down
36 changes: 36 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,39 @@
**v0.23**

Statistics
* Expanded Support for Dehaka
* Fixed numerous issues where something that was listed as Damage to Neutral Mercenaries would include Monsters as Neutral Mercenaries
* Updates to support changes in the 2.54.2 Patch, as well as some other minor adjustments & fixes

UI
* Updated the overall visual style & minor layout adjustments of the Top Bar
* Added new options to disable talent displaying in the Top Bar piecemeal - if you only want to see talents that grant an active, you can do that on a tier-by-tier basis, as well as disabling quests and buff tracking tier-by-tier
* The Show Talents Hotkey(ALT+T) has been replaced with a "Minimal Mode" hotkey, which will change a number of settings to make the UI less crowded. This is intended for use in caster scenarios.
* Added a new option to use an alternate talent layout in the Top Bar. This is recommended to be used when all non-heroic talents are set to not be visible, but compatability is maintained when those settings are not present
* Energy now supports displaying energy-over-time effects in the Top Bar(Energy preview, same as Healing previews)
* Tracer's Pulse Bomb Charge is now placed over hero the Heroic talent slot in the Top Bar, and the icon updates to the icon of her selected Heroic talent and the charge background becomes partially transparent
* Deathwing's Cataclysm cooldown will no longer be displayed in the "Core Ability Slot" if Burn Beneath My Shadow(Cataclysm upgrade) is selected at level 10, as the cooldown is shown there.
* Xul's Bone Armor has been readded to his Basic Ability cooldown listings in the Top Bar, and will no longer display the cooldown in the Bottom Panel
* Medivh's Portal Mastery no longer adds the Portal Cooldown to the talent in the Top Bar, and will no longer display the cooldown in the Bottom Panel
* Added Johanna's Steed Charge cooldown to the Top Bar & Bottom Panel
* Added Lunara's Galloping Gait cooldown to the Top Bar & Bottom Panel
* Heroic Talents that feature charges now feature them in the Top Bar & Bottom Panel
* When you select a Storm Talent that adds charges to a Heroic talent option, charge counters are now added to the Heroic slot in the Top Bar & Bottom Panel
* Artanis Reactive Parry is now displayed as buff is selected in the Top Bar
* Dehaka's Paralyzing Enzymes Gambit Talent progress now displays in the Top Bar & Bottom Panel
* Samuro's Mirror Image display in the Top Bar has been reworked to more closely match the overall visual presentation of baseline bonuses, and can now be disabled by disabling baseline buffs & stacks
* The options menu has seen a redesign in button design & some button placement to accomadate the need for more space
* Hero Health Labels as part of their Healthplates now uses a Pulldown menu to select the perctage of health to display the health label
* Numerous Heroes have had their attachment settings redesigned to support display abilities granted by talents. More Heroes will be added to this "V2" over time, right now Artanis, Anduin, Li-Ming, Alarak, Deckard, Johanna, D.Va, Maiev, E.T.C., Alexstrasza, Garrosh, Ana, Auriel, Anub'arak, Chromie, Arthas, Azmodan, Blaze, Brightwing, Cassia, Zeratul, Sonya and Abathur have been updated
* Fixed an issue where Illidan's Health Bar was not the correct size in the Top Bar
* Fixed an issue where Fenix's Health Bar & Shields Bar did not behavior properly in the Top Bar
* Fixed an issue where Cursed Hollow's Sandbox Battleground would not be supported properly when displaying total potential owned Forts in the Top Bar
* Fixed an issue where Valla's Fire At Will quest progress would not display after she reached 20 stacks in the Top Bar & Bottom Panel
* Fixed an issue where Blizzard's Target Info Panel would not display correctly after being dragged
* Hopefully finally fixed an issue causing some ability cooldown text to be truncated when the value is too high at certain screen resolutions
* Fixed a typo in one of Johanna's score listings
* Updated ability tooltips in the Top Bar to match those seen in version 2.54.2

**v0.22**

Statistics
Expand Down
Binary file modified conversion/AlteracPass/replay.details
Binary file not shown.
Binary file modified conversion/BattlefieldofEternity/replay.details
Binary file not shown.
Binary file modified conversion/BlackheartsBay/replay.details
Binary file not shown.
Binary file modified conversion/BraxisHoldout/replay.details
Binary file not shown.
Binary file modified conversion/BraxisOutpost/replay.details
Binary file not shown.
Binary file modified conversion/CursedHollow/replay.details
Binary file not shown.
Binary file modified conversion/DragonShire/replay.details
Binary file not shown.
Binary file modified conversion/GardenofTerror/replay.details
Binary file not shown.
Binary file modified conversion/HanamuraTemple/replay.details
Binary file not shown.
Binary file modified conversion/HauntedMines/replay.details
Binary file not shown.
Binary file modified conversion/InfernalShrines/replay.details
Binary file not shown.
Binary file modified conversion/LostCavern/replay.details
Binary file not shown.
Binary file modified conversion/SilverCity/replay.details
Binary file not shown.
Binary file modified conversion/SkyTemple/replay.details
Binary file not shown.
Binary file modified conversion/TomboftheSpiderQueen/replay.details
Binary file not shown.
Binary file modified conversion/TowersofDoom/replay.details
Binary file not shown.
Binary file modified conversion/VolskayaFoundry/replay.details
Binary file not shown.
Binary file modified conversion/WarheadJunction/replay.details
Binary file not shown.
Binary file added interface/SpazzoObs v23.StormInterface
Binary file not shown.
Binary file modified maps/Heroes/CustomReplayMaps/AlteracPass.StormMap
Binary file not shown.
Binary file modified maps/Heroes/CustomReplayMaps/BattlefieldofEternity.StormMap
Binary file not shown.
Binary file modified maps/Heroes/CustomReplayMaps/BlackheartsBay.StormMap
Binary file not shown.
Binary file modified maps/Heroes/CustomReplayMaps/BraxisHoldout.StormMap
Binary file not shown.
Binary file modified maps/Heroes/CustomReplayMaps/BraxisOutpost.StormMap
Binary file not shown.
Binary file modified maps/Heroes/CustomReplayMaps/CursedHollow.StormMap
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,8 @@ void libGDHL_InitVariables () {
libGDHL_gv_lostVikingsUI.lv_erikDeathStatusFrame = c_invalidDialogControlId;
libGDHL_gv_lostVikingsUI.lv_allDeathStatusFrame = c_invalidDialogControlId;
libGDHL_gv_bALHeroMalfurionDruidsGiftManaCostReduction = 0.1;
libGDHL_gv_healingBeamUI.lv_healingBeamTargetDisplayName = c_invalidDialogControlId;
libGDHL_gv_healingBeamUI.lv_healingBeamTargetPortrait = c_invalidDialogControlId;
libGDHL_gv_medicUI.lv_mainPanel = c_invalidDialogControlId;
libGDHL_gv_medicUI.lv_medivacAlert = c_invalidDialogControlId;
libGDHL_gv_medicUI.lv_medivacCountdownNumber = c_invalidDialogControlId;
Expand Down Expand Up @@ -2579,7 +2581,8 @@ void libGDHL_gf_HeroMedicIncrementHeroCountFunction () {
TriggerEnable(libGDHL_gt_HeroMedicMedivacDropshipOverlay, true);
TriggerEnable(libGDHL_gt_HeroMedicMedivacDropshipCountdownSound, true);
TriggerEnable(libGDHL_gt_HeroMedicMedivacBeingBoarded, true);
TriggerEnable(libGDHL_gt_HeroMedicHealingBeamLookAt, true);
TriggerEnable(libGDHL_gt_HeroMedicHealingBeamTargetActions, true);
TriggerEnable(libGDHL_gt_HeroMedicHealingBeamUIReset, true);
TriggerEnable(libGDHL_gt_HeroMedicHearthCleanup, true);
TriggerEnable(libGDHL_gt_HeroMedicHealingBeamAllyRangeVisibility, true);
TriggerEnable(libGDHL_gt_HeroMedicSafeguardVanadiumPlatingTalentProc, true);
Expand Down Expand Up @@ -2608,7 +2611,8 @@ void libGDHL_gf_HeroMedicDecrementHeroCountFunction () {
TriggerEnable(libGDHL_gt_HeroMedicMedivacDropshipOverlay, false);
TriggerEnable(libGDHL_gt_HeroMedicMedivacDropshipCountdownSound, false);
TriggerEnable(libGDHL_gt_HeroMedicMedivacBeingBoarded, false);
TriggerEnable(libGDHL_gt_HeroMedicHealingBeamLookAt, false);
TriggerEnable(libGDHL_gt_HeroMedicHealingBeamTargetActions, false);
TriggerEnable(libGDHL_gt_HeroMedicHealingBeamUIReset, false);
TriggerEnable(libGDHL_gt_HeroMedicHearthCleanup, false);
TriggerEnable(libGDHL_gt_HeroMedicHealingBeamAllyRangeVisibility, false);
TriggerEnable(libGDHL_gt_HeroMedicSafeguardVanadiumPlatingTalentProc, false);
Expand All @@ -2619,6 +2623,59 @@ void libGDHL_gf_HeroMedicDecrementHeroCountFunction () {

}

string libGDHL_gf_HealingBeamGetPortraitPathforUnit (unit lp_unit) {
// Automatic Variable Declarations
string auto0CC21378_val;

// Implementation
auto0CC21378_val = UnitGetType(lp_unit);
if (auto0CC21378_val == "HeroChenStorm") {
return "Assets\\Textures\\storm_ui_ingame_targetinfopanel_unit_chen_storm.dds";
}
else if (auto0CC21378_val == "HeroChenEarth") {
return "Assets\\Textures\\storm_ui_ingame_targetinfopanel_unit_chen_earth.dds";
}
else if (auto0CC21378_val == "HeroChenFire") {
return "Assets\\Textures\\storm_ui_ingame_targetinfopanel_unit_chen_fire.dds";
}
else {
return libUIUI_gf_KillLogGetPortraitPathforUnit(lp_unit);
}
}

void libGDHL_gf_MedicUIHealingBeam (bool lp_reset, int lp_medicPlayer, unit lp_healingBeamTarget) {
// Automatic Variable Declarations
// Implementation
if ((lp_reset == true)) {
libNtve_gf_SetDialogItemImage(libGDHL_gv_healingBeamUI.lv_healingBeamTargetPortrait, "Assets\\Textures\\storm_ui_icon_medic_healingbeam.dds", PlayerGroupSingle(lp_medicPlayer));
DialogControlSetVisible(libGDHL_gv_healingBeamUI.lv_healingBeamTargetDisplayName, PlayerGroupSingle(lp_medicPlayer), false);
}
else {
DialogControlSetVisible(libGDHL_gv_healingBeamUI.lv_healingBeamTargetDisplayName, PlayerGroupSingle(lp_medicPlayer), true);
libNtve_gf_SetDialogItemText(libGDHL_gv_healingBeamUI.lv_healingBeamTargetDisplayName, libGDHL_gf_MedicUIUnitDisplayName(lp_healingBeamTarget), PlayerGroupSingle(lp_medicPlayer));
libNtve_gf_SetDialogItemImage(libGDHL_gv_healingBeamUI.lv_healingBeamTargetPortrait, libGDHL_gf_HealingBeamGetPortraitPathforUnit(lp_healingBeamTarget), PlayerGroupSingle(lp_medicPlayer));
}
}

text libGDHL_gf_MedicUIUnitDisplayName (unit lp_unit) {
// Variable Declarations
int lv_unitOwner;

// Automatic Variable Declarations
// Variable Initialization
lv_unitOwner = UnitGetOwner(lp_unit);

// Implementation
if ((UnitGetType(lp_unit) == "HeroCho")) {
return StringExternal("Param/Value/lib_GDHL_1F065CDD");
}
else {
return UnitGetName(lp_unit);
}
}



trigger auto_libGDHL_gf_UIHeroSpecificStatusFrameShowHideMedivacUI_Trigger = null;
bool auto_libGDHL_gf_UIHeroSpecificStatusFrameShowHideMedivacUI_lp_showHide;
int auto_libGDHL_gf_UIHeroSpecificStatusFrameShowHideMedivacUI_lp_player;
Expand Down Expand Up @@ -15973,6 +16030,44 @@ void libGDHL_gt_HeroMalfurionTenaciousRootsProc_Init () {
TriggerAddEventUnitBehaviorChangeFromCategory(libGDHL_gt_HeroMalfurionTenaciousRootsProc, null, c_behaviorCategoryStun, c_unitBehaviorChangeRefresh);
}

//--------------------------------------------------------------------------------------------------
// Trigger: Healing Beam UI Initialize
//--------------------------------------------------------------------------------------------------
bool libGDHL_gt_HealingBeamUIInitialize_Func (bool testConds, bool runActions) {
int init_i;

// Variable Declarations
int[6] lv_panels;
int lv_currentPanelLayer;

// Automatic Variable Declarations
// Variable Initialization
for (init_i = 0; init_i <= 5; init_i += 1) {
lv_panels[init_i] = c_invalidDialogControlId;
}

// Actions
if (!runActions) {
return true;
}

DialogControlHookup(libUIUI_gv_heroSpecificStatusContainer, c_triggerControlTypeImage, "MedicFrame/UnitStatusFrame0/MechanicTexture");
libGDHL_gv_healingBeamUI.lv_healingBeamTargetPortrait = DialogControlLastCreated();
DialogControlHookup(libUIUI_gv_heroSpecificStatusContainer, c_triggerControlTypeLabel, "MedicFrame/UnitStatusFrame0/MedicHealingBeamName");
libGDHL_gv_healingBeamUI.lv_healingBeamTargetDisplayName = DialogControlLastCreated();
lv_currentPanelLayer += 1;
lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

return true;
}

//--------------------------------------------------------------------------------------------------
void libGDHL_gt_HealingBeamUIInitialize_Init () {
libGDHL_gt_HealingBeamUIInitialize = TriggerCreate("libGDHL_gt_HealingBeamUIInitialize_Func");
libCore_gf_IncludeModInitialization(libGDHL_gt_HealingBeamUIInitialize);
}


//--------------------------------------------------------------------------------------------------
// Trigger: Medic UI Initialize
//--------------------------------------------------------------------------------------------------
Expand Down Expand Up @@ -16587,37 +16682,77 @@ void libGDHL_gt_HeroMedicMedivacGameOverHide_Init () {
}

//--------------------------------------------------------------------------------------------------
// Trigger: Hero - Medic - Healing Beam LookAt
// Trigger: Hero - Medic - Healing Beam Target Actions
//--------------------------------------------------------------------------------------------------
bool libGDHL_gt_HeroMedicHealingBeamLookAt_Func (bool testConds, bool runActions) {
// Variable Declarations
unit lv_medic;
unit lv_target;
bool libGDHL_gt_HeroMedicHealingBeamTargetActions_Func (bool testConds, bool runActions) {
// Variable Declarations
unit lv_medic;
unit lv_target;

// Automatic Variable Declarations
// Variable Initialization
lv_medic = EventPlayerEffectUsedUnit(c_effectUnitCaster);
lv_target = EventPlayerEffectUsedUnit(c_effectUnitTarget);
// Automatic Variable Declarations
// Variable Initialization
lv_medic = EventPlayerEffectUsedUnit(c_effectUnitCaster);
lv_target = EventPlayerEffectUsedUnit(c_effectUnitTarget);

// Actions
if (!runActions) {
return true;
}
// Actions
if (!runActions) {
return true;
}

Wait(0.125, c_timeGame);
libNtve_gf_MakeUnitLookAtUnit(lv_medic, "RobotArmsOnly", lv_target, "Ref_Center");
while (!((UnitBehaviorCount(lv_medic, "MedicCastingHealingBeamBuff") == 0))) {
Wait(0.0625, c_timeGame);
}
libNtve_gf_SimpleLookAtStop(lv_medic, "RobotArmsOnly");
return true;
if ((UnitFilterMatch(lv_target, UnitGetOwner(lv_target), UnitFilter((1 << c_targetFilterHeroic), 0, (1 << c_targetFilterEnemy) | (1 << c_targetFilterImmuneToFriendlyAbilities) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)))) == true)) {
libGDHL_gf_MedicUIHealingBeam(false, UnitGetOwner(lv_medic), lv_target);
}
else {
libGDHL_gf_MedicUIHealingBeam(true, UnitGetOwner(lv_medic), lv_target);
}
Wait(0.125, c_timeGame);
libNtve_gf_MakeUnitLookAtUnit(lv_medic, "RobotArmsOnly", lv_target, "Ref_Center");
while (!((UnitBehaviorCount(lv_medic, "MedicCastingHealingBeamBuff") == 0))) {
Wait(0.0625, c_timeGame);
}
libNtve_gf_SimpleLookAtStop(lv_medic, "RobotArmsOnly");
return true;
}

//--------------------------------------------------------------------------------------------------
void libGDHL_gt_HeroMedicHealingBeamTargetActions_Init () {
libGDHL_gt_HeroMedicHealingBeamTargetActions = TriggerCreate("libGDHL_gt_HeroMedicHealingBeamTargetActions_Func");
TriggerEnable(libGDHL_gt_HeroMedicHealingBeamTargetActions, false);
TriggerAddEventPlayerEffectUsed(libGDHL_gt_HeroMedicHealingBeamTargetActions, c_playerAny, "MedicHealingBeamCreatePersistent");
}

//--------------------------------------------------------------------------------------------------
// Trigger: Hero - Medic - Healing Beam UI Reset
//--------------------------------------------------------------------------------------------------
bool libGDHL_gt_HeroMedicHealingBeamUIReset_Func (bool testConds, bool runActions) {
// Variable Declarations
unit lv_medic;
unit lv_target;

// Automatic Variable Declarations
// Variable Initialization
lv_medic = EventPlayerEffectUsedUnit(c_effectUnitCaster);
lv_target = EventPlayerEffectUsedUnit(c_effectUnitTarget);

// Actions
if (!runActions) {
return true;
}

Wait(0.0625, c_timeGame);
if ((UnitBehaviorCount(lv_medic, "MedicCastingHealingBeamBuff") == 1)) {
}
else {
libGDHL_gf_MedicUIHealingBeam(true, UnitGetOwner(lv_medic), lv_target);
}
return true;
}

//--------------------------------------------------------------------------------------------------
void libGDHL_gt_HeroMedicHealingBeamLookAt_Init () {
libGDHL_gt_HeroMedicHealingBeamLookAt = TriggerCreate("libGDHL_gt_HeroMedicHealingBeamLookAt_Func");
TriggerEnable(libGDHL_gt_HeroMedicHealingBeamLookAt, false);
TriggerAddEventPlayerEffectUsed(libGDHL_gt_HeroMedicHealingBeamLookAt, c_playerAny, "MedicHealingBeamCreatePersistent");
void libGDHL_gt_HeroMedicHealingBeamUIReset_Init () {
libGDHL_gt_HeroMedicHealingBeamUIReset = TriggerCreate("libGDHL_gt_HeroMedicHealingBeamUIReset_Func");
TriggerEnable(libGDHL_gt_HeroMedicHealingBeamUIReset, false);
TriggerAddEventPlayerEffectUsed(libGDHL_gt_HeroMedicHealingBeamUIReset, c_playerAny, "MedicHealingBeamFinalSet");
}

//--------------------------------------------------------------------------------------------------
Expand Down Expand Up @@ -17299,7 +17434,7 @@ bool libGDHL_gt_HeroMuradinResetFreePiercingStormbolt_Func (bool testConds, bool
//--------------------------------------------------------------------------------------------------
void libGDHL_gt_HeroMuradinResetFreePiercingStormbolt_Init () {
libGDHL_gt_HeroMuradinResetFreePiercingStormbolt = TriggerCreate("libGDHL_gt_HeroMuradinResetFreePiercingStormbolt_Func");
TriggerAddEventUnitBehaviorChange(libGDHL_gt_HeroMuradinResetFreePiercingStormbolt, null, "MuradinItsHammerTimeQuestCompletionCarry", c_unitBehaviorChangeCreate);
TriggerAddEventUnitBehaviorChange(libGDHL_gt_HeroMuradinResetFreePiercingStormbolt, null, "MuradinItsHammerTimeTokenCounter", c_unitBehaviorChangeCreate);
}

//--------------------------------------------------------------------------------------------------
Expand Down Expand Up @@ -26546,6 +26681,7 @@ void libGDHL_InitTriggers () {
libGDHL_gt_HeroMalfurionTwilightDreamSilenceEnd_Init();
libGDHL_gt_HeroMalfurionInnervateCDR_Init();
libGDHL_gt_HeroMalfurionTenaciousRootsProc_Init();
libGDHL_gt_HealingBeamUIInitialize_Init();
libGDHL_gt_MedicUIInitialize_Init();
libGDHL_gt_HeroMedicStimDroneFullscreenOverlayOn_Init();
libGDHL_gt_HeroMedicStimDroneFullscreenOverlayOff_Init();
Expand All @@ -26559,7 +26695,8 @@ void libGDHL_InitTriggers () {
libGDHL_gt_HeroMedicMedivacDropshipCountdownSound_Init();
libGDHL_gt_HeroMedicMedivacBeingBoarded_Init();
libGDHL_gt_HeroMedicMedivacGameOverHide_Init();
libGDHL_gt_HeroMedicHealingBeamLookAt_Init();
libGDHL_gt_HeroMedicHealingBeamTargetActions_Init();
libGDHL_gt_HeroMedicHealingBeamUIReset_Init();
libGDHL_gt_HeroMedicHearthCleanup_Init();
libGDHL_gt_HeroMedicHealingBeamAllyRangeVisibility_Init();
libGDHL_gt_HeroMedicSafeguardVanadiumPlatingTalentProc_Init();
Expand Down
Loading

0 comments on commit 2bbea20

Please sign in to comment.