1. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  2. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. The Lich King demands your service! We've reached the 19th edition of the Icon Contest. Come along and make some chilling servants for the one true king.
    Dismiss Notice
  4. The 4th SFX Contest has started. Be sure to participate and have a fun factor in it.
    Dismiss Notice
  5. The poll for the 21st Terraining Contest is LIVE. Be sure to check out the entries and vote for one.
    Dismiss Notice
  6. The results are out! Check them out.
    Dismiss Notice
  7. Don’t forget to sign up for the Hive Cup. There’s a 555 EUR prize pool. Sign up now!
    Dismiss Notice
  8. The Hive Workshop Cup contest results have been announced! See the maps that'll be featured in the Hive Workshop Cup tournament!
    Dismiss Notice
  9. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Producer Update: Natives List

Discussion in 'Patch & Reforged Discussion' started by Kam, Dec 7, 2017.

  1. Maximal

    Maximal

    Joined:
    Apr 13, 2016
    Messages:
    325
    Resources:
    3
    Maps:
    3
    Resources:
    3
    Just unbelievable! I still hope for good replacement of mem hack though.
     
  2. MyPad

    MyPad

    Spell Reviewer

    Joined:
    May 9, 2014
    Messages:
    1,324
    Resources:
    7
    Models:
    1
    Icons:
    2
    Spells:
    3
    JASS:
    1
    Resources:
    7
    *Shed tears of joy and sadness*
    (No more damage detection systems :( )

    (Yes to dynamic object data! :) )
     
  3. chobibo

    chobibo

    Joined:
    Sep 24, 2005
    Messages:
    2,700
    Resources:
    0
    Resources:
    0
    No more damage detection systems? Cool!
     
  4. MyPad

    MyPad

    Spell Reviewer

    Joined:
    May 9, 2014
    Messages:
    1,324
    Resources:
    7
    Models:
    1
    Icons:
    2
    Spells:
    3
    JASS:
    1
    Resources:
    7
    ^^

    Well, I only remembered that the damage event is on the moment before damage. Detection of actual damage events are not really going to be affected. (I feel the sadness of having a cherished, polished, well-rounded code specifically for damage detection being reduced to just detecting after-damage events, but that's just me)
     
  5. Avahor

    Avahor

    Joined:
    Sep 29, 2008
    Messages:
    282
    Resources:
    7
    Skins:
    4
    Maps:
    3
    Resources:
    7
    :eek: hyped.
    1.27...
    128 mb... Extensión
    Kam working on blizzard!!!
    1.29 Will you make mi heart explode!
     
  6. Kyrbi0

    Kyrbi0

    Joined:
    Jul 29, 2008
    Messages:
    7,913
    Resources:
    1
    Models:
    1
    Resources:
    1
    Wait, what are you talking about?
     
  7. MyPad

    MyPad

    Spell Reviewer

    Joined:
    May 9, 2014
    Messages:
    1,324
    Resources:
    7
    Models:
    1
    Icons:
    2
    Spells:
    3
    JASS:
    1
    Resources:
    7
    Oops, should have been *after*, not *actual*, though I have reason to believe both mean the same thing.
     
  8. Kam

    Kam

    Joined:
    Aug 3, 2004
    Messages:
    2,630
    Resources:
    23
    Models:
    8
    Icons:
    2
    Maps:
    13
    Resources:
    23
    Don't expect all the natives please, but there are quite a few. =)
     
  9. Kaijyuu

    Kaijyuu

    Joined:
    Jun 2, 2004
    Messages:
    848
    Resources:
    0
    Resources:
    0
    I'll have you know I expect all the listed natives, PLUS all the ones I thought of but never told anyone about.
     
  10. Dr Super Good

    Dr Super Good

    Spell Reviewer

    Joined:
    Jan 18, 2005
    Messages:
    25,617
    Resources:
    3
    Maps:
    1
    Spells:
    2
    Resources:
    3
    We understand. Without knowing how WC3 works it is hard to make suggestions that are sensible/viable to implement.

    Personally I would be ecstatic just to be able to use triggers to modify unit properties like maximum life/mana, regeneration, attack damage, etc. The lack of such functionality has greatly affected/limited map developers for a very long time.

    I would even settle for just having the local declared local handle variable reference counter leak on return bug fixed. That would mean no more annoying "set u = null" at the end of functions.
     
  11. Spellbound

    Spellbound

    Joined:
    Jan 9, 2005
    Messages:
    1,954
    Resources:
    16
    Icons:
    1
    Skins:
    5
    Spells:
    9
    JASS:
    1
    Resources:
    16
    Amen.
     
  12. Raised

    Raised

    Joined:
    May 8, 2016
    Messages:
    56
    Resources:
    0
    Resources:
    0
    I need an event which triggers at buff application/expiration, ability to apply buffs directly (permanent and timed), ability to get/set buff's tooltips and level, ability to get/set buff fields regarding attachment models and attachment points.
    Code (vJASS):
    gameevent EVENT_UNIT_BUFF_APPLIED
    gameevent EVENT_UNIT_BUFF_EXPIRED //Triggers when buff expires or gets removed

    GetEventBuffApplied takes nothing returns integer //Returns buff's code/type/whatever
    GetEventBuffExpired takes nothing returns integer //GetUnitBuffLevel must remain responsible at the same thread

    function UnitApplyBuff takes unit u, integer buffId, real time, boolean permanent returns nothing //Applies specified buff for specified time period. If "permanent" flag is checked, ignores the timeout and sets buff permanent
    function UnitRemoveBuff takes unit u, integer buffId returns nothing
    function IsUnitBuffPermanent takes unit u, integer buffId returns boolean //Returns true if specified buff is permanent.

    function SetUnitBuffTimeout takes unit u, integer buffId, real timeout returns nothing //Makes already existing buff timed
    function GetUnitBuffTimeout takes unit u, integer buffId returns real //Returns buff's timeout either default or which was set by UnitApplyBuffConstant or SetUnitBuffTimeout.
    function GetUnitBuffElapsed takes unit u, integer buffId returns real //Returns buff's elapsed time regarding timeout either default or which was set by UnitApplyBuffConstant or SetUnitBuffTimeout.
    function GetUnitBuffRemaining takes unit u, integer buffId returns real //Returns buff's remaining time regarding timeout either default or which was set by UnitApplyBuffConstant or SetUnitBuffTimeout.

    function SetUnitBuffLevel takes unit u, integer buffId, integer level returns nothing
    function GetUnitBuffLevel takes unit u, integer buffId returns integer

    function SetUnitBuffTooltip takes unit u, integer buffId, string tooltip returns nothing
    function GetUnitBuffTooltip takes unit u, integer buffId returns string
    Can someone explain to me what is the difference between ApplySpellEffect and ApplySpellEffectPoint and why the last one takes that much parameters if all we need are x and y.
     
    Last edited: Mar 14, 2018
  13. Spellbound

    Spellbound

    Joined:
    Jan 9, 2005
    Messages:
    1,954
    Resources:
    16
    Icons:
    1
    Skins:
    5
    Spells:
    9
    JASS:
    1
    Resources:
    16
    Casting abilities independent of a unit can be tricky to pull off, so applying buff via triggers might be hard to so. It would be neat to have though.

    The idea behind ApplySpellEffect is similar to Immediate/Point/Target orders. Eg:

    ApplySpellEffect are for spells like Thunderclap, Roar, Taunt, etc
    ApplySpellEffectPoint are for spells like Carrion Swarm, Earthquake, Blizzard, Pocket Factory, etc, aka any spell that has a direction.

    I guess something like Blizzard technically has no direction, but it is a point-target spell. ApplySpellEffect is also potentially just part of ApplySpellEffectPoint and not needed (eg you leave the xcast and ycast arguments as 0 and only use the xtarget and ytarget), but I figured I'd include it just in case.

    The whole idea behind applying spells without a caster needs to be explored more. Any feedback and suggestions on how this can be achieved would be welcome.
     
  14. Raised

    Raised

    Joined:
    May 8, 2016
    Messages:
    56
    Resources:
    0
    Resources:
    0
    Indeed. I forgot. Second point is required for spells affected by caster's position. Here's my idea then.
    Code (vJASS):
    function ApplySpellEffectPoint takes integer abilcode, unit caster, real x, real y, boolean emitCast returns nothing
    function ApplySpellEffectTarget takes integer abilcode, unit caster, unit target, boolean emitCast returns nothing
    //emitCast boolean makes it so that caster behaves like he's an actual caster (gets the proper order/animation, gets his mana drained, etc)
    Caster is required anyway. All those functions don't run if spell can't be applied (because of allowed targets or spell base) or caster == null.
     
    Last edited: Mar 17, 2018
  15. LeP

    LeP

    Joined:
    Feb 13, 2008
    Messages:
    451
    Resources:
    0
    Resources:
    0
    how about allowing code arrays
     
  16. DoctorGester

    DoctorGester

    Joined:
    Dec 6, 2009
    Messages:
    76
    Resources:
    3
    Maps:
    2
    JASS:
    1
    Resources:
    3
  17. Raised

    Raised

    Joined:
    May 8, 2016
    Messages:
    56
    Resources:
    0
    Resources:
    0
    I need an ability to modify the damage before it gets applied.
    Code (vJASS):
       function SetEventDamage takes real newValue returns nothing
       //This should rewrite the damage for an event
    This should be handy if u need to create an ability which blocks some amount or percent of damage.
     
    Last edited: Jan 31, 2018
  18. HappyTauren

    HappyTauren

    Joined:
    Nov 3, 2006
    Messages:
    8,413
    Resources:
    87
    Models:
    61
    Icons:
    23
    Packs:
    1
    Tutorials:
    2
    Resources:
    87
    And all of this is user code and possible to do now.
     
  19. MyPad

    MyPad

    Spell Reviewer

    Joined:
    May 9, 2014
    Messages:
    1,324
    Resources:
    7
    Models:
    1
    Icons:
    2
    Spells:
    3
    JASS:
    1
    Resources:
    7
    This would be most useful when you wish to block an insanely high amount of damage, and the cheat-death ability is not sufficient.
     
  20. Kaijyuu

    Kaijyuu

    Joined:
    Jun 2, 2004
    Messages:
    848
    Resources:
    0
    Resources:
    0
    It's too bad triggers don't allow return values or such a wacky workaround wouldn't be necessary.