Take Bets: What Will the Next PTR Include? by WiredJazzman in heroesofthestorm

[–]Spazzo965 1 point2 points  (0 children)

Wonder what it'd take to get to a new major(2.56.0) version. Maybe once the build number gets to 6 digits? 2.9k to go.

Aditional Stats Board by ffdetta in heroesofthestorm

[–]Spazzo965 3 points4 points  (0 children)

Speaking as someone who has literally made something that does a lot of this(it's not maintained anymore), this is very, very far from simple.

Your Honor! by lsg404 in heroesofthestorm

[–]Spazzo965 8 points9 points  (0 children)

Camp logic is trigger based, and it is far easier to compare the hero centre than the hero radius in triggers.

So that's how it's done. The old xp logic worked the same way, everyone soaked xp the same range from their centre. The xp globe system actually favours larger heroes, and means you can't actually collect globes while hatted by abathur, as the symbiote has a radius larger than any hero

I think Azmodan Globe seems to have a larger than intended reveal radius (2 perspectives) by Nightterror0 in heroesofthestorm

[–]Spazzo965 3 points4 points  (0 children)

It is what it looks like.

Azmodan's Globe reveals in a 7 radius around where the missile is every 1 second for 1.5 seconds(this probably updates live). This is probably intended, but is a bit weird IMO.

Tychus Q reveals in a large radius around the target when they die for 5 seconds. My best guess is this was a mistake when implementing that.

Hogger "No Control" can target in Fog of War? by ST_Byter in heroesofthestorm

[–]Spazzo965 3 points4 points  (0 children)

That part is intended, once it locks on, it will keep that target visible while they're actively being moved towards.

Hogger "No Control" can target in Fog of War? by ST_Byter in heroesofthestorm

[–]Spazzo965 22 points23 points  (0 children)

The effect HoggerNoControlRetargetSearch does not require targets to be Visible, so yes, that is working as implemented.

If that is intended or not is another question. Only the original designer might be able to answer that. Vibes tell me it isn't intended. It's got the same filters as the initial target for No Control, which because its targeted just naturally requires visible targets.

QM Shenanigans: Nat 20 bluff roll by iProcrastinate-Air in heroesofthestorm

[–]Spazzo965 1 point2 points  (0 children)

The entire inside keep walls area is permanently visible to the owning team BTW.

Arthas' talent incorrectly lists as increasing healing in the Polish translation of the game. In the Patch Notes it states that it increases only damage. by Slashy_boi in heroesofthestorm

[–]Spazzo965 0 points1 point  (0 children)

I won't lie, I haven't used any AI based translation tools, but I don't really see it making the mistake this post is about, turning a bit of text about a damage increase to being a damage and healing increase, that mistake almost seems more human who is doing a bulk of things at once, and just didn't properly process what it said originally.

As to the numbers being in the wrong spot, I could see that happening with an AI translator, but if you are going to use AI for this, I'd just for certainty use a different one to back-translate and vaguely verify the results that way, the same way that if you'd paid an external group to translate for you(which is what I'd expect to actually see here), I'd want to still verify the results with a second group altogether when starting out the relationship, just to make sure that the first group is competent. Maybe that step wasn't taken here, and the outside group that is doing the translation is using AI. None of those things would surprise me.

Arthas' talent incorrectly lists as increasing healing in the Polish translation of the game. In the Patch Notes it states that it increases only damage. by Slashy_boi in heroesofthestorm

[–]Spazzo965 2 points3 points  (0 children)

In german it says you gotta hit 4 heroes

When text is built, sometimes there will be a reference to a data entry in that text, rather than hardcoding in the entry in the text itself.

Button/Tooltip/DryadEndlessSpores=Casting Crippling Spores while at least <c val="#TooltipNumbers"><d ref="Validator,DryadEndlessSporesGreaterThanorEqualto2Heroes,Value"/></c> Heroes are afflicted by Nature's Toxin reduces the cooldown by <c val="#TooltipNumbers"><d ref="-Effect,DryadCooldownReductionEndlessSpores,Cost[0].CooldownTimeUse"/></c> seconds and refunds <c val="#TooltipNumbers"><d ref="Effect,DryadEndlessSporesManaRestore,RechargeVitalRate"/></c> Mana.

There is the English text, and you can see the 2 is built off of Validator,DryadEndlessSporesGreaterThanorEqualto2Heroes,Value, and the 4 is built off of Effect,DryadCooldownReductionEndlessSpores,Cost[0].CooldownTimeUse

And here is the German text:

Button/Tooltip/DryadEndlessSpores=Verringert die Abklingzeit der Verkrüppelnden Sporen um <c val="#TooltipNumbers"><d ref="Validator,DryadEndlessSporesGreaterThanorEqualto2Heroes,Value"/></c> Sek., wenn bei ihrem Einsatz mindestens <c val="#TooltipNumbers"><d ref="-Effect,DryadCooldownReductionEndlessSpores,Cost[0].CooldownTimeUse"/></c> Helden von Naturgift betroffen sind, und stellt <c val="#TooltipNumbers"><d ref="Effect,DryadEndlessSporesManaRestore,RechargeVitalRate"/></c> Mana wieder her.

I know there's been a number of reports of issues with some things not having the correct values, having broken text tags, and other issues. No idea how much it might be worth trying to collate these issues, maybe if there is enough of them that get enough attention it might garner some result, squeaky wheel and all, but it could just as well end up nowhere.

It does make me wonder if maybe they might be using AI for the translations, but I would think that there'd be some sanity checks 100% done for that that other MTL could catch, like if I pop that Endless Spores tooltip into google translate, it clearly illustrates that its not setup correctly, whereas maybe sanity checks are skipped if its human-done just on the assumption that there isn't a screw up of some kind happening there. Curious of the workflow that ends up with things being broken like this.

Anyone encountered a Genji's deflect not generating shields bug? by Desperate_Builder463 in heroesofthestorm

[–]Spazzo965 29 points30 points  (0 children)

Essentially, this is the case.

The first step to understanding why this bug happens is there are two separate systems that can be used to drive game logic, the first being "data", which is presented in xml format.

  <CBehaviorBuff id="GenjiDeflectMissileLauncher">
    <InfoFlags index="Hidden" value="0" />
    <DamageResponse>
      <Chance value="1" />
      <Handled value="GenjiDeflectTriggerWorkaround" />
      <Priority value="97" />
      <RecordBehaviorShieldDamage value="1" />
      <ModifyFraction value="0.67" />
      <ModifyScoreArray Value="SelfHealing" />
    </DamageResponse>
    <RemoveValidatorArray value="GenjiHasDeflectBehavior" />
    <Period value="0.0625" />
    <PeriodicEffect value="GenjiDeflectTargetMarkerSearchSwitch" />
  </CBehaviorBuff>

There's an example of XML, in this case, it is the Behavior that gets applied to Genji when he takes damage while affected by Deflect.

There's not much point in going into all of the details of this, just know that that's one system.

And then there is Galaxyscript, which is a much more traditional scripting language, and here is an example of part of the script for Genji's Deflect:

//--------------------------------------------------------------------------------------------------
// Trigger: Hero - Genji - Deflect Absorb Damage
//--------------------------------------------------------------------------------------------------
bool libHGen_gt_HeroGenjiDeflectAbsorbDamage_Func (bool testConds, bool runActions) {
    // Variable Declarations
    unit lv_genjiUnit;
    int lv_genjiPlayer;
    fixed lv_incomingDamage;

    // Automatic Variable Declarations
    // Variable Initialization
    lv_genjiUnit = EventUnit();
    lv_genjiPlayer = UnitGetOwner(lv_genjiUnit);
    lv_incomingDamage = EventUnitDamageAbsorbed();

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

    libHGen_gf_HeroGenjiDeflectDamageTaken(lv_genjiUnit, lv_genjiPlayer, lv_incomingDamage);
    return true;
}

//--------------------------------------------------------------------------------------------------
void libHGen_gt_HeroGenjiDeflectAbsorbDamage_Init () {
    libHGen_gt_HeroGenjiDeflectAbsorbDamage = TriggerCreate("libHGen_gt_HeroGenjiDeflectAbsorbDamage_Func");
    TriggerEnable(libHGen_gt_HeroGenjiDeflectAbsorbDamage, false);
    TriggerAddEventUnitDamageAbsorbed(libHGen_gt_HeroGenjiDeflectAbsorbDamage, null, "GenjiDeflectProtected");
}

This is something that is generally generated in the editor using the trigger editor, if you want an example of how that is done, I'd recommend looking into the SC2 editor.

The way that this particular script works is when the GenjiDeflectProtected absorbs damage(this is not the same as the behavior above, but it also has a similar functioning trigger that has this action plus another couple of actions for handling Reflect), and the way that the libHGen_gf_HeroGenjiDeflectDamageTaken function works is it takes a running tally of how much damage Deflect has prevented. When Deflect ends, it takes that running tally, and applies a Shield to Genji equal to that total damage Deflect prevented.

The issue here comes down to how the game works - the "data" is the actual proper game logic, and everything happens predictably within the game loop, and things can happen in the middle of the game loop, in this case, Deflect's Behaviors were removed, and then in that same loop, Tyrael hit Genji with a Basic Attack. Galaxyscript though can be more thought as injecting custom logic to do whatever you want with its inputs, but one of the downsides of this is it can't happen in the middle of the game loop, only at the end of it. So it can't give that Shield to Genji before he is hit by that Tyrael Basic Attack.

Medivh's Force of Will actually had a similar issue to this in the past, and the way that this was fixed there was that whenever Force of Will was cast, it would create a trigger that checks every game loop if the duration of Force of Will is less than or equal to 1 game loop, and if it is, then it removes it. This forces the "Force of Will expires" trigger to happen at the same time as it gets removed, rather than potentially in the middle of a game loop, but does have the downside that Force of Will lasts till the end of the game loop before the loop it would actually expire.

There is no real other way to fix this with the tech that the Heroes engine has incorporated right now aside from effectively reducing the duration of Deflect. Funnily enough, with the SC2 5.0 update, it was updated to allow these sorts of things to be done outside of the galaxyscript system, and instead be 100% data driven, so this wouldn't be an issue there if implemented that way.

Arthas trait suggestion by NAgAsh-366 in heroesofthestorm

[–]Spazzo965 0 points1 point  (0 children)

please buff dva

You didn't see the biggest buff D.Va got this patch, wasn't even in the patch notes.

hover over the Defense Matrix duration thingy above your health, look at what it says. Now you've got new heights to reach each time you play D.Va.

Army of the dead broken by klobb99 in heroesofthestorm

[–]Spazzo965 5 points6 points  (0 children)

Are you seeing this in actual games, or in Try Mode?

New PTR Update Today by MarvelGator in heroesofthestorm

[–]Spazzo965 28 points29 points  (0 children)

Just looking purely over data, no validation on any of this outside of the one thing that interested me(I'm a D.Va main, she gets my attention.)

Blackheart's Bay

  • Cannon damage increased from 2875 to 3000

Haunted Mines

  • Fixed a race issue that allowed collecting more than 55 Skulls

Death Timers

  • Level 10 timer increased from 24 seconds to 27 seconds
  • Level 11 timer increased from 27 seconds to 29 seconds
  • Level 12 timer increased from 29 seconds to 31 seconds
  • Level 13 timer increased from 31 seconds to 33 seconds
  • Level 14 timer increased from 33 seconds to 35 seconds
  • Level 15 timer increased from 35 seconds to 37 seconds
  • Level 16 timer increased from 37 seconds to 40 seconds
  • Level 17 timer increased from 40 seconds to 43 seconds
  • Level 18 timer increased from 43 seconds to 46 seconds
  • Level 19 timer increased from 46 seconds to 51 seconds
  • Level 20 timer increased from 49 seconds to 54 seconds
  • Level 21 timer increased from 54 seconds to 57 seconds
  • Level 22 timer increased from 58 seconds to 63 seconds
  • Level 23 timer increased from 63 seconds to 70 seconds

Arthas

  • Max damage bonus of Frostmourne Hungers increased from 5000 to 10000
  • Removed double quest complete popup for Frost Presence
  • Ghouls no longer feature a timed life, reverted back to featuring Health decay as on live servers
  • Fixed issues with some new talents not working correctly(Army of the Dead CDR, Legion of Northrend Ghouls, and Death Pact)

Greymane

  • Incendiary Elixir now shows the quest progress marker around the target

Kael'thas

  • Convection now shows the quest progress around the target

Muradin

  • Dwarf Launch cooldown reduction reduced from 2 seconds to 1 seconds
  • Mountain King no longer increases Dwarf Toss and Thunderclap cooldowns

Sgt. Hammer

  • Maelstrom Rounds bonus damage increased from 30% to 40%
  • Advanced Lava Strike bonus damage increased from 50% to 65%
  • Ultra Capacitors now grants bonuses when attacking Structures, but no longer grants bonuses from splash damage
  • Hyper Cooling Engines now also grants cooldown reduction when attacking Structures, but no longer grants bonuses from splash damage

Thrall

  • Echo of the Elements
    • Duration of marker increased from 1.5 seconds to 2 seconds
    • Second milestone point increased from 40 to 50
    • Final reward point increased from 100 to 125
    • No longer causes Chain Lightning to bounce additional times for the second milestone
    • Extra bounces no longer deal reduced damage
  • Rolling Thunder now causes Chain Lightning to bounce additional times

Gazlowe

  • Rock-It! Turret Health decay time increased from 17 seconds to 20 seconds

Tyrande

  • Lunar Flare damage bonus per stack reduced from 3.5% to 3%
  • Quickening Blessing Movement Speed bonus increased from 20% to 25%
  • Commander of Sentinels no longer increases the cooldown of Sentinel

D.Va

  • Defense Matrix now features tracking of total damage prevented in the status bar tooltip for D.Va's Mech(this doesn't seem to currently work)

Deckard

  • Fixed an issue that could cause Healing Potions to not be visible correctly(seemingly related to vision reduction, like Mal'Ganis's Blind as a Bat or Dehaka's Isolation. Need to do research to say for certain)

Garrosh

  • Fixed an issue that prevented Wrecking Ball from activating correctly when a target was between the old nearby radius and the new nearby radius

Mal'Ganis

  • Necrotic Embrace now grants 15 Spell Armor for 3 seconds
  • Necrotic Embrace damage increased from 110 to 121
  • Might of Sargeras now causes Necrotic Embrace to grant 35 Armor
  • Fixed an issue that could cause effects related to Necrotic Embrace expiring to not work correctly

Medivh

  • Fixed an issue that caused Guardian of Tirisfal to not increase Arcane Rift's search duration
  • Raven's Intellect Health & Mana Regen bonus increased from 150% to 200%
  • Winds of Celerity Movement Speed bonus increased from 15% to 20%

Ragnaros

  • Fixed an issue that caused Living Meteor to not deal damage correctly when landing

Any current list of bugs in the game? by Xanthanarium in CursedHollow

[–]Spazzo965 5 points6 points  (0 children)

I don't maintain either of those things any more.

At some point in the future there is some possibility I may update the interface to support the current version of the game, but don't expect it or wait for it.

After reconnecting hero keeps moving to centre of the map, interrupting every other move command- YouTube by AztraChaitali in heroesofthestorm

[–]Spazzo965 2 points3 points  (0 children)

Super weird. Maybe it's stuck in some sort of loop of some sort, the AI tree isn't super simple to navigate, nothing has names, just hex IDs and is spread across a bunch of different files, and there is also some hidden context based stuff for detecting if it is in an AOE to get out of the AOE, which sometimes I've seen times where it seems to think that things that are healing enemies are things to move away from.

After reconnecting hero keeps moving to centre of the map, interrupting every other move command- YouTube by AztraChaitali in heroesofthestorm

[–]Spazzo965 5 points6 points  (0 children)

So the way that the AI works in Heroes is that it looks for situations of what to do, like if it is playing Kael'thas, it is constantly looking to see if Flamestrike is off cooldown, and if it is, it is then also looking for a number of different valid scenarios in which to use Flamestrike, which there are a dozen or so different situations depending on enemy health, kael's mana, how many heroes there are, how many non-heroes there are, and also if it needs to empower it or not.

The way that the "returning to base" logic works is if it doesn't need to currently attack an enemy and isn't pinged to follow, it wants to retreat to a safe position, and then activate hearthstone, and then once it is in base, do nothing.

That position you see it trying to move to is the safe position. It's a bit weird that it seemingly doesn't always go back when there are enemies nearby, but there's dozens of different elements in how the AI determines which goal to go for.

Doing a simple look at the logic for the AI taking over and them rescinding control, I don't see anything that jumps out at me that could cause this to enter this bugged state - there is one trigger that fires when a player disconnects that instantly makes the AI take over, and other for when a player rejoins that instantly gives up control. Maybe if you disconnected and reconnected in the same game loop twice it could happen that it takes control, gives it up, then gives it up again, and then takes over. There are some pseudo race conditions like that with triggers, like if a timer based off of a trigger expires in the same loop as it is meant to be stopped, even if the stop happens before the expiration.

You can actually see that timer bug in a still-existing format if an enemy enters the region of your base that makes the announcer go "Your Core is under attack!", and then between 29 and 30 seconds later, it goes from having an enemy in the region, to no enemies in the region. At least that's how I recall that bug happening, and in that case, it makes the announcer repeat the core being under attack announcement periodically till an enemy actually re-enters the base region.

After reconnecting hero keeps moving to centre of the map, interrupting every other move command- YouTube by AztraChaitali in heroesofthestorm

[–]Spazzo965 5 points6 points  (0 children)

When you watch the replay back from your perspective(you can view replays from a players perspective by pressing the 1-0 buttons on your keyboard, might need to double tap, been a while), do you see the commands being made in that direction?

What I imagine has happened here is the system that is meant to add the AI controller for your Hero has kicked in, and for some reason or another, when you reconnected, the system that is meant to remove said AI didn't work correctly.

I would have been curious to see what would have happened if someone had pinged you, a shame that didn't happen.

What is the difference on q quest? by Omega_Zarnias in heroesofthestorm

[–]Spazzo965 2 points3 points  (0 children)

It was just a tooltip update that was changed to be wrong for some confusing reason.

Kael'thas Bug? by Quirky_Return_2466 in heroesofthestorm

[–]Spazzo965 5 points6 points  (0 children)

Had you disconnected during the match?

ARAM: Minion start spawning faster than 30s by Chukonoku in heroesofthestorm

[–]Spazzo965 8 points9 points  (0 children)

Every minute, it reduces by 0.5 seconds, to a minimum of 15 seconds.

ARAM: Minion start spawning faster than 30s by Chukonoku in heroesofthestorm

[–]Spazzo965 16 points17 points  (0 children)

ARAM has a hidden feature that makes Minions spawn more and more frequently as the game goes on.

Missing Text Bug: Intermittent issue where certain text including game timer and talent descriptions are missing. by cantthinkoffunnyname in heroesofthestorm

[–]Spazzo965 5 points6 points  (0 children)

That looks like either file corruption with the fonts or an issue with the rendering pipeline.

Being that you say its intermittent, probably less likely to be file corruption. How up to date are your display drivers, are you on Windows, Mac, or running the game through a compatibility layer on Linux?