4 Bugs on the new 2.0.3 PTR Patch

  1. Middle mouse button camera movement is not working at all. If its now a toggle in the setting, I couldn’t find it.

  2. New Dalaran structure doodads on SD mode are using way too low res textures, or straight up missing textures. Such as “Building A”, “Enclave House” and so on. I think its all of them. Thats actually an issue on Live as well and it was not being fixed on the new patch either.

  3. Sound has very weird 3d positioning. Its either 90% left ear/10% right or 90% right/10% left (based on camera position relative to sound position). That is fixed till the end of the game as soon as camera angle change is introduced with mouse wheel. This is also a bug from Live not being fixed.

  4. !UPDATED! I no longer view it as an issue! I have figured how UNIT_RF_CAST_POINT now works after the fix and it is actually GOOD, not bad! Now I can just do this on EVENT_PLAYER_UNIT_SPELL_CHANNEL and it will work like a clock:
    call BlzSetUnitRealField(caster, UNIT_RF_CAST_POINT, ab.actualCastTime)

Please keep this new behavior of UNIT_RF_CAST_POINT and ignore what I typed below for this section!!! (unless you want to read my initial concerns)

Changing UNIT_RF_CAST_POINT is not working as expected anymore which is absolutely catastrophic for my map. I saw the change in regard to that native and apparently it affected my use case.
You see, changing this value is (was!) the ONLY way to dynamically change ability cast time (since changing ABILITY_RLF_CASTING_TIME never worked and probably never will due to how it works on a lower level). Pretty much every ability in my map relies on that feature.
Thats my implementation and it no longer works:

// Thats the hack how to change Cast Time of an Ability
// The way it works is that when the unit gains an ability, the unit’s Cast Point, Backswing and the Cast Time of the ability is summarized and is used as an actual Cast Time till ability is removed
// We set the new Cast Point to a unit, re-add ability and revert the Cast Point. That way the Cast Time is dynamically updated.
call UnitRemoveAbility(hero, abilityId)
call BlzSetUnitRealField(hero, UNIT_RF_CAST_POINT, newCastTime)
call UnitAddAbility(hero, abilityId)
set finalAbility = BlzGetUnitAbility(hero, abilityId)
call BlzSetUnitRealField(hero, UNIT_RF_CAST_POINT, originalCastPoint)

If there is absolutely no way to preserve that behavior then at least find a way to fix ABILITY_RLF_CASTING_TIME field. This is beyond crucial for my map.

1 Like