Skip to content

Releases: UnryzeC/UjAPI

UjAPI v1.1.36.344

27 Dec 14:57
54356a8

Choose a tag to compare

  1. Fixed UnitAddBuffById/Ex on stuns/pauses on Illusions, since buffs are "self-cast" and game internally prevents illusions from most of the actions this had to be circumvented.
  2. Updated Blizzard.as for newer AngelScript version that can use "using namespace" feature and moved all natives to Jass namespace and all Blizzard functions to BJ namespace.

UjAPI v1.1.35.343

09 Nov 07:35
54356a8

Choose a tag to compare

  1. Fixed fatal error on pop up frame events.
  2. Fixed incorrect projectile launching, it was resetting to default values on each launch. Now all settings persist.
  3. Fixed enumeration for HandleList failing if null/nil Filter/Condition was passed.
  4. Fixed incorrect area calculation, which was supposed to be done via radius and diameter was used instead.
  5. Fixed SetIllusionDamageDealt not working with custom Item Illusion buffs.
  6. Fixed SetIllusionDamageReceived not working with custom Item Illusion buffs.
  7. Fixed SetMouseScreenAbsoluteY being mirrored. (Same for position, only Y axis was wrong).
  8. Fixed SyncData triggering all registered SyncData events.
    Note: other sync events were overhauled as well, now they should work a tad better.
  9. Fixed IsMouseKeyPressed incorrectly processing mouse buttons.

UjAPI v1.1.34.338

07 Oct 09:17
bb59089

Choose a tag to compare

  1. New Natives:
    native FogUpdate takes nothing returns nothing
    //
    native GetFogHeartbeat takes nothing returns real
    native StartFogHeartbeat takes boolean isStart, real time returns nothing
    //
    native GetPlayerPathingLimit takes player whichPlayer, integer queueType returns integer // 0 - deep | 1 - dynamic | 2 - fast | 3 - local
    native SetPlayerPathingLimit takes player whichPlayer, integer value returns nothing // Set for all
    native SetPlayerPathingLimitEx takes player whichPlayer, integer queueType, integer value returns nothing
    //
    native GetUnitBonusMoveSpeed takes unit whichUnit returns real
    native GetUnitTurnRate takes unit whichUnit returns real
    native SetUnitTurnRate takes unit whichUnit, real turnRate returns nothing
    native IsUnitTurningOnly takes unit whichUnit returns boolean
    native UnitAllowMove takes unit whichUnit returns nothing
    native UnitAllowTurningOnly takes unit whichUnit returns nothing
    native GetUnitPathingLimit takes unit whichUnit, integer level returns integer // Levels: 0 or 1.
    native SetUnitPathingLimit takes unit whichUnit, integer level, integer limit returns nothing // Limit is 0 to 32,767 (anything lower than 0 will default to -32,767). Use -1 (or any other negative number) to "erase" limit.
    //
    native EnableFrameButtonPushAnimation takes framehandle whichFrame, boolean enable returns nothing
  2. Fixed SetTYPEFacing not setting internal Position::Facing, hence causing GetTYPEFacing to not work properly.
  3. Fixed SetX/Y not working for destructables.
  4. Fixed PauseUnitEx not unpausing units.
  5. Fixed crash related to SetFrameStepSize on SLIDER frame type.
  6. Added internal CArtillery::SetData, now it can be properly copied and fired.
  7. Fixed GetUnitBonusDamageByIndex breaking whenever bonus attack was awarded from main stat.
  8. Fixed Mouse API not working when Cursor Frame was not present, either at the very start of the game or when cursor is outside of the game window.
  9. Fixed internal CAbility::CloneBase not returning cloned base and defaulting to nullptr instead, when base was already cloned.
  10. Added internal edits to Pathing and Fog heartbeat constants, to ensure their work. (Pathing seemed to be just fine).
  11. Added internal lock for SetUnitControlCount whenever a value is set to less than 0 to default to 0. Any value below 0 breaks internal counters.
  12. Fixed Item Name/Description changes not working in CInfoPanelItemDetail tab.
  13. Fixed internal CItem/CItemEx GetOrderType handling, __thiscall was used whereas __cdecl was expected. (Yes, some class member functions use __cdecl...)
  14. Fixed Doom and similar abilities not stopping item useage via its hotkeys.
    Note: on patches other than 1.26a this was also causing fatal error in unit selection with items that had ANcl in their abilities.
  15. Fixed incorrect handling of Fortified armour damage, no damage reduction was applied on buildings that finished their construction.
    Note: only constructing buildings are supposed to take 100% damage.
  16. Fixed incorrect offsets for widget enumeration for patches 1.24e/1.27a/1.27b/1.28f.
    Note: EnumDestructablesInRange seemed to be affected and was causing a crash.
  17. Fixed SetTextTagPos not setting Z (ZOffset) correctly.
  18. Fixed CDoodads::GetInRect using GetInArea offset instead.
  19. Fixed ABILITY_REMOVED not triggering event.
  20. Fixed Projectile enumeration in Area not working.
  21. Added new CSimpleButton type, SHRINKINGBUTTON. Which can be affected by EnableFrameButtonPushAnimation, just like CCommandButton.
  22. Fixed Learn Tooltip/Ubertooltip not being updated when hovering over learnable spell.

Post release fixes (please re-download if you downloaded before this changes):

  1. SPRITE_FLAG_UNSELECTRABLE fixed to SPRITE_FLAG_UNSELECTABLE.
  2. Fixed comment about CShrinking button in common.j

UjAPI v1.1.33.334

21 Jun 14:57
e6a84f1

Choose a tag to compare

Release:

  1. Added nullptr check to CObserver::IsEventRegistered, on some peculiar maps, nullptr was somehow sent in it.
  2. Fixed Get/Set texture natives for Sprites up to Units, it got broken recently after code refactoring.

UjAPI v1.1.33.333

18 Jun 18:31
9003e4c

Choose a tag to compare

Release:

  1. Fixed IsUnitMoving always returning true.
  2. Fixed IsUnitIdle always returning false.
  3. Changed GetCurrentAnimationId/GetCurrentAnimationName handling to only use CModel, instead of relying on CSprite.
  4. Yet another, this time for sure switch to AbilDataCacheNode::Clone, to prevent crashes.
  5. Rewamped how AbilDataCacheNode clones are erased, allowing ability to get properly cleanup first and then removing cloned base.
  6. Fixed UnitAddAbility allowing addition of duplicate abilities, only Ex version was supposed to do it.

UjAPI v1.1.33.332

11 Jun 14:15
cab88a6

Choose a tag to compare

Release:

  1. Fully rewritten CBuff creation and base copying, it was barely functioning previously and got totally broken after recent update.
  2. CAbility/CBuff clone checking now uses simpler method, this should avoid additional memory allocation.
  3. CBuff::GetParentBase rewritten to use simpler method, this also avoids memory allocation.
  4. Rewritten CAbility::CloneClear, now it properly cleans up UI part as well, it used to miss it.
  5. CAbility::CloneClear is now used whenever ability is removed.
  6. CAbility::CloneClear is now used whenever a buff ends/is removed.
  7. CAbility::CloneClear addition now prevents in-game memory leak, which was cleaned upon game over.
    Note: UI clones were still leaking, which is now fixed.
  8. AntiHack updated for 1.27a, removed faulty offset and fixed incorrect value for another offset.
  9. For the last time fixed 1.28f (it broke after recent code optimisation).
    Note: as 1.28f seems to be as dead as 1.24e, it most likely will be abandoned, as it brings more pain than it's useful for.

UjAPI v1.1.33.331

04 Jun 07:55
3efb9fc

Choose a tag to compare

  1. Fixed CAbility cloning process that got broken by the previous hotfix. (This time for sure, for sure!)

UjAPI v1.1.33.330

03 Jun 08:09
8b9cdcb

Choose a tag to compare

Release:

  1. Fixed issue that caused game to instantly close, this was related to vtable overriding of CAbilityAttributeBonus.
    Note: those who used map size unlocker did not experience this issue.
  2. Reworked how abilities are handled, now if you remove owner of the ability/buff and then return it, it will actually retain all custom data.

UjAPI v1.1.33.329

02 Jun 18:29
5e7f6d1

Choose a tag to compare

Release:

  1. Fixed incorrect CAbility data cloning, this time for sure.

UjAPI v1.1.33.328

01 Jun 15:38
e6c58d2

Choose a tag to compare

Release:

  1. Fully rewritten processing of CAbilityAttributeBonus, now Setting its data/changing owner should be handled correctly.
  2. Fixed CAbility::CloneBase/CAbility::CloneBaseEx instead affecting global AbilDataCacheNode instead.