System UAC - Unit Aura Control

Discussion in 'Systems and Snippets' started by Romek, Nov 25, 2008.

  1. Romek

    Romek Super Moderator Staff Member

    Ratings:
    +961 / 0 / -0
    The new version won't use GetHandleId in any way except for keys for hashtables.
    So there won't be any realistic limits, and there won't be a need for PUI.

    So.. Why do you guys want PUI? :confused:
     
  2. Romek

    Romek Super Moderator Staff Member

    Ratings:
    +961 / 0 / -0
    Major Updates:
    • 3.0
      • Complete rewrite of script. It's now more efficient, stable and virtually limitless.
      • Code is also littered with comments.
      • Renamed most methods:
        • UnitEnter -> unitEnter
        • UnitLeave -> unitLeave
        • UnitPeriodic -> unitPeriodic
        • OrFilter% -> orFilter%
        • AndFilter% -> andFilter%
        • MainDeath -> mainDeath
        • MainRevive -> mainRevive
        • TimerLoop -> timerLoop
        • MainUnit -> main
      • Added optional use of mainUnit instead of main
      • Some additional features have been removed (such as effects)
      • Added support for optional extensions
        • Created UAC Effects
        • Created UAC Filters
      • Created new readme
      • Added more safety and debugging options
      • pausing now works as it should
      • This should be the last major update. (Enough with the interface changes (sorry!))

    Should be no more interface changes. Sorry about these ones. :p
    This may also be the final version. (Though I'll probably end up fixing some errors and making new extensions).

    The documentation is now a separate document. =)
     
  3. Terrabull

    Terrabull Veteran Member (Done that)

    Ratings:
    +38 / 0 / -0
    I am using this system in my map, but I am having a few problems.

    For some reason if I set it .neutral = false my allied units can't be effected by the aura.

    I get effects popping up on my characters even if I set .enableeffects = false

    I have buffs w/ grant an effect, but for some reason it's overwritten by this system.
    Compounding the problem is that when it puts an effect on a unit, that effect never goes away.
     
    • Like Like x 1
  4. Romek

    Romek Super Moderator Staff Member

    Ratings:
    +961 / 0 / -0
    Fixed.

    The effects extension had a silly error, and it doesn't seem as though _PASSIVE alliance detects neutral units; so I used a different method.

    UACEffects - 1.1
    UACFilters - 1.1
     
  5. Rommel

    Rommel New Member

    Ratings:
    +13 / 0 / -0
    Hi Rommel, is this compatible with patch 1.24b ?
     
    • Like Like x 1
  6. Romek

    Romek Super Moderator Staff Member

    Ratings:
    +961 / 0 / -0
    Yes
     
  7. Rommel

    Rommel New Member

    Ratings:
    +13 / 0 / -0
    Hmm, i tried this with patch 1.24
    Your sample (Artic Freeze) does not work !
     
  8. Romek

    Romek Super Moderator Staff Member

    Ratings:
    +961 / 0 / -0
    It seems to be a problem with the filters again (nothing to do with patches).
    It's awfully annoying that there's no direct way of determining whether or not a unit is neutral to a player.

    I'll do a bit of testing soon to find a good way of finding that out.
     
  9. Troll-Brain

    Troll-Brain You can change this now in User CP.

    Ratings:
    +85 / 0 / -0
    IsUnitAlly, can't be used ?
    An unit which is not an ally, neither an enemy should be a neutral one.
     
  10. Romek

    Romek Super Moderator Staff Member

    Ratings:
    +961 / 0 / -0
    Neutral units seem to be considered as allies. :thdown:
     
  11. Troll-Brain

    Troll-Brain You can change this now in User CP.

    Ratings:
    +85 / 0 / -0
    Same for IsPlayerAlly/Enemy ?
     
    • Like Like x 1
  12. Romek

    Romek Super Moderator Staff Member

    Ratings:
    +961 / 0 / -0
    Yup. :thdown:
    I'll mess around with the Alliance Types, and see what I come up with.
     
  13. Romek

    Romek Super Moderator Staff Member

    Ratings:
    +961 / 0 / -0
  14. Terrabull

    Terrabull Veteran Member (Done that)

    Ratings:
    +38 / 0 / -0
    Okay, having another problem.
    There are three units, and one ability with three levels each corresponding to one unit.
    When a unit is damaged by the ability, the aura that is associated with that unit is added to the damaged unit.
    Using the periodic trigger the aura checks to see if the unit already has the ability or a higher level of the ability on it, if so, it does nothing. If it has a lower level ability, it raises the level of the ability.

    Expected Results:
    The damaged unit should get the proper aura from the attacking unit. This aura should never be duplicated, even if two different units w/ the aura-making ability are attacking the same unit.

    Actual Results:
    The unit being attacked gets all the auras of the attacking units.
     
  15. 13lade619

    13lade619 is now a game developer :)

    Ratings:
    +399 / 0 / -0
    what happened to TICKER???

    Code:
    ticker is not a member of UAC___UACInterface
    EDIT:

    i have to ask, why did you remove them? it was awesome, i used it in all my spells based on UAC.
    'cmon....
     
    • Like Like x 1
  16. Romek

    Romek Super Moderator Staff Member

    Ratings:
    +961 / 0 / -0
    Ohh, I must've forgotten to add them again whilst I was recoding.

    • 3.1
      • Readded Tickers

    JASS:
    .
            ________________
             real ticker        'ticker' is, in seconds, how often the periodic functions of UAC are called for the
            ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯    particular instance. This includes the frequency at which units can become affected
                or unaffected, and how often unitPeriodic and timerLoop are called. This is automatically rounded down
                to a multiple of TIMEOUT. This is TIMEOUT by default. 
                
                set data.ticker = data.ticker + TIMEOUT
     
    • Like Like x 1
  17. 13lade619

    13lade619 is now a game developer :)

    Ratings:
    +399 / 0 / -0
    yessss... thanks, man..

    well sry for the 'raged' post... i was going mad till about now 'cause i couldnt find the thing that was wrong with my map..
    now i found it, at the same time you added tickers again :D.
     
  18. Rommel

    Rommel New Member

    Ratings:
    +13 / 0 / -0
    Ok, now the system works quite well, thanks Romek :D
     
  19. SanKakU

    SanKakU Member

    Ratings:
    +21 / 0 / -0
    i'm not sure i understand so let me ask...what does using/adding the tickers do? what if for example you wanted the aura to stun the units with the aura every 3 seconds? you need to times that 0.03125 by about a 100. doing something with the data.ticker will do that? what are you supposed to do, exactly?
     
  20. Furby

    Furby Current occupation: News poster

    Ratings:
    +140 / 0 / -0
    You are implementing same module two times in one struct.

    That does compile but doesn't actually work. :(

    http://www.wc3c.net/vexorian/jasshelpermanual.html#module
    This causes effects of Effect Module to never disappear from affected units when (non-hero) unit dies.

    EDIT: I miss onRemove method which would be called when aura gets destroyed.
     

Share This Page