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 haven't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. The reforging of the races is complete. Come see the 14th Techtree Contest Results.
    Dismiss Notice
  4. It's time to choose your horse in the race - the 32nd Modeling Contest Poll is up!
    Dismiss Notice
  5. 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.

[Feedback] Request Features for JASS and the World Editor

Discussion in 'Patch & Reforged Discussion' started by TriggerHappy, Aug 23, 2018.

  1. Nudl9

    Nudl9

    Joined:
    Nov 9, 2006
    Messages:
    2,259
    Resources:
    28
    Icons:
    11
    Skins:
    1
    Maps:
    16
    Resources:
    28
    I don't know, i don't think last hitting = ownership is really a cause for concern.
    Just pull back your units if you don't want to give/take ownership.
    The alternative is to release the unit as neutral victim.
    From my experience with Warcraft Royale, the way neutral victim works at the moment is pretty clunky and gives ownership to the unit walking into range, not counting units already in range.

    Here is an idea how teams could solve the unit distribution:
    -Two allied players enter creep camp and attack it.
    -The "jailor" creep releases the cage upon death, releasing the unit inside.
    -The now free unit changes ownership to the (owner of the unit) closest to the cage, the condition being that the unit belongs to someone in the team that last hit the "jailor" creep.
    -Last hitting still matter, but it's easier for teams to decide who gets the cage by simply having a unit closer to the cage. Sort of like how the closest hero can pick up items faster.
     
  2. deepstrasz

    deepstrasz

    Map Reviewer

    Joined:
    Jun 4, 2009
    Messages:
    13,696
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Still pretty random as small units like Ghouls, Footmen might get there to attack the ranged creeps. Items, you can give to an ally, units, currently not without them still belonging to the owner and without the owner sharing control of all units and still having food slots occupied.
     
  3. Nudl9

    Nudl9

    Joined:
    Nov 9, 2006
    Messages:
    2,259
    Resources:
    28
    Icons:
    11
    Skins:
    1
    Maps:
    16
    Resources:
    28
    What's random about it?
    If a HU player and an NE player were allied and crept a "unit drop camp" together, then the NE player would simply move the archer up towards the cage and press hold position.
    Regardless of who last hit the NE player would recieve the caged unit.
    That would be the proximity solution, which is slightly more complicated, but more fair.

    The simple solution is just last hit = ownership. Basicly if two players crept a camp, the one who didn't desire the unit would just attack the other creeps to avoid last hitting. Of course you can steal it from your allies, but then again stupid behavior has always been possible in teams, like item stealing, xp leeching, teamkilling, etc. Again nothing random with those things, except the fact that you might play with random allies that can be stupid/toxic.
     
  4. deepstrasz

    deepstrasz

    Map Reviewer

    Joined:
    Jun 4, 2009
    Messages:
    13,696
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Not convinced. What about a rune type item (key) dropped from the camp leader which a hero takes so that the cage opens with the newly converted neutral unit?
     
  5. Nudl9

    Nudl9

    Joined:
    Nov 9, 2006
    Messages:
    2,259
    Resources:
    28
    Icons:
    11
    Skins:
    1
    Maps:
    16
    Resources:
    28
    Well it's practically the same thing, you could drop an item shaped like a key powerup which unlocks the cage.
    The difference would be that you don't gain the benefit from last hitting with Coil or Crit.
     
  6. deepstrasz

    deepstrasz

    Map Reviewer

    Joined:
    Jun 4, 2009
    Messages:
    13,696
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Well, that would kill the randomness or danger for the last hit not to be intended and whomsoever takes the key rune will have the neutral unit under control.
    An interesting mechanic would be for the rune to not be visible or allowed to be taken by an enemy hero.
     
  7. Nudl9

    Nudl9

    Joined:
    Nov 9, 2006
    Messages:
    2,259
    Resources:
    28
    Icons:
    11
    Skins:
    1
    Maps:
    16
    Resources:
    28
    If it can't be creepjacked that ruins the point.
     
  8. deepstrasz

    deepstrasz

    Map Reviewer

    Joined:
    Jun 4, 2009
    Messages:
    13,696
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Could we get dynamic indexing with more than one index like index of index of index etc.?
     
  9. SharSash

    SharSash

    Joined:
    Feb 17, 2018
    Messages:
    75
    Resources:
    0
    Resources:
    0
    Here's my wish list:
    1. implemented Damage Detection system like:
    Events
    Unit takes damage (generic unit event)
    Conditions
    Damage type of damage taken is Fire equals true
    Attack type type of damage taken is Spell equals true

    Actions


    2. Ability to get unit’s attack damage (not base damage)
    Actions
    Set AttackDamageInteger = Attack damage of triggering unit (including bonuses) <- green numbers

    3. Also ability do search while searching abilities,variables when triggering in GUI.
    4. Auto leak remover so I don’t have to add custom scripts.
    5. Automaking of DISBTN (shaded icons) icons to make map weight less.
    6. Ability to make different types of cliffs on 1 landscape type.
    7. Detetct when attack projectile was finally launched for ranged units, and when attack was landed for all kind of attacks.
    8. Ability to get ability (spell) by it X and Y for a unit that has the ability
    9. Unit - refresh ability cooldown abilty’s (X; Y) for triggering unit

    10. Ability to set ability cooldown remaining:
    Unit - set ability ( ability name ) cooldown remaining = (ability ( ability name or variable ) cooldown remainig for triggering unit arithemetics (cooldown remainig for ability for unit - 1)

    11. Edit as many object editor field via triggers as possible

    12. Extra functionality for “Channel” spell like:
    1) Ability to use any anymation or no animation at all (at the moment forces spell animation)
    2) Fileld like “Interrupts current order: True/False”
    3) Make it possible for channel to put an “empty” buff/debuff
    etc.

    13. For every ability a new fileds like “Buff/Debuff is positive on allies/enemies: True/False”

    14. Detect passive proc
    15. If ability procs and cooldown is set to a value above 0 so ablity won't proc untill cooldown is over (for all passives not oly orb of lightning)

    16. Ability to set for orb-like abilities “orb effect: True/Fasle”

    17.Individual (for a stand alone unit) research uogrades.
     
    Last edited: Oct 22, 2019
  10. knight26

    knight26

    Joined:
    Jul 16, 2007
    Messages:
    1,294
    Resources:
    0
    Resources:
    0
    Quality of life improvement for custom made maps for modders and players:

    -Universal camera control system (-camera ####)
    With the ability to tick/untick while we make maps in the Editor.

    *If you have other suggestions like this, please add to this list.
     
  11. Rui

    Rui

    Joined:
    Jan 7, 2005
    Messages:
    8,506
    Resources:
    8
    Maps:
    8
    Resources:
    8
    Dunno if this has been proposed, but: a Fire While Moving passive! :mwahaha:
     
  12. WereElf

    WereElf

    Joined:
    Jan 2, 2016
    Messages:
    962
    Resources:
    1
    Spells:
    1
    Resources:
    1
    Personally I would love to get a new event "Attack is launched", which happens the moment a unit launches a missile, or for melee units, just as the unit deals its damage, although that would be kind of obsolete, as we can just use "A unit takes damage".
    However, this event will be quite useful for ranged units, as "A unit is attacked" happens too early and can be exploited by spamming the "Stop" order. And "A unit takes damage" happens way too late for ranged units.
    When I was making my Custom Multishot, I originally wanted to use "Attack is launched" event, but due to the lack of one such, I had to use workarounds, that are quite clunky.

    Also, I'd really love to have "Missiles" added to JASS, with functions like
    Code (vJASS):
    function CreateMissileTargeted takes unit source, unit target, real damage, real speed, string model, code onHitFunc returns missile
    function CreateMissileToLocation takes unit source, real targetX, real targetY, real aoe, real damage, real speed, string model, code onHitFunc returns missile

    That will truly make coding some custom spells much easier and lighter (resource wise), and custom libraries will no longer be needed for this purpose.
     
  13. mash

    mash

    Joined:
    Mar 8, 2006
    Messages:
    24
    Resources:
    0
    Resources:
    0
    I think a way to modify in-progress unit auto attack cooldowns would be a great addition. For example, if a unit swings and has a swing cooldown of 2 seconds, I want to be able to reset the cooldown to 0, or maybe increase the cooldown to 5 or any value.

    Code (Text):

    BlzSetUnitCurrentAttackCooldown(unit, cd, weaponIndex)
    BlzGetUnitCurrentAttackCooldown(unit, weaponIndex)
     
     
  14. burner89

    burner89

    Joined:
    Mar 11, 2019
    Messages:
    31
    Resources:
    0
    Resources:
    0
    Please give a skill-shot type ability.
     
  15. Wrda

    Wrda

    Joined:
    Nov 18, 2012
    Messages:
    1,270
    Resources:
    3
    Maps:
    1
    Spells:
    2
    Resources:
    3
    I think something has been said about this already, but I would make a few adjustments and more details:
    Code (vJASS):

    //both would trigger EVENT_MISSILE_LAUNCHED
    native CreateMissile takes unit source, string model returns missile
    //this one doesn't check for projectile launch X/Y/Z offsets from the unit.
    native CreateMissileEx takes real x, real y, real z, string model returns missile

    //this is a missle launch that suicides on widget/point and gets destroyed, and then removed.
    //would trigger EVENT_MISSILE_IMPACT at the target/point, both check for projectile impact Z of the target if any
    native MoveMissileToWidget takes missile whichMissile, widget target, real speed, real arc, real aoe, boolean homing returns nothing
    native MoveMissileToPoint takes missile whichMissile, real targetX, real targetY, real speed, real arc, real aoe returns nothing

    //not sure if this one will be needed, but let's throw it here.
    native SetMissileDamage takes missile whichMissile, real damage, attacktype at, damagetype dt, weapontype wt returns nothing

    //this is here so you can emulate missiles which have a target, but will collide with something on the way.
    native MissileCollideUnits takes missile whichMissile, real collision, boolean onUnits, boolean onBuildings, boolean onHeroes returns nothing
    native MissileCollideDestructables takes missile whichMissile, real collision, boolean onDestructables, boolean onDoodads returns nothing

    //these natives below should make MoveMissileToWidget/Point stop, basically override
    //you'd only use this if you want to make your own missile system, like if you wanted to make the projectile
    //run around the source unit for a while and then use MoveMissileToWidget/Point or not
    native SetMissileX takes missile whichMissile, real newX returns nothing
    native SetMissileY takes missile whichMissile, real newY returns nothing
    native SetMissileZ takes missile whichMissile, real newY returns nothing

    native GetMissileX takes missile whichMissile, returns real
    native GetMissileY takes missile whichMissile, returns real
    native GetMissileZ takes missile whichMissile, returns real

    native GetTriggerMissile takes returns missile
    native GetMissileModel takes missile whichMissile returns string
    native GetMissileSource takes missile whichMissile returns unit
    native GetMissileTarget takes missile whichMissile returns widget

    //Triggers EVENT_MISSILE_IMPACT
    native DestroyMissile takes missile whichMissile returns nothing

    native RemoveMissile takes missile whichMissile returns nothing
     

    Also natives to change colour, animation and size of the missiles.
    There's no way to manipulate doodads, things like doodad enumeration (pick every doodad), creation, removal and others would be absolutely great.

    What would that be like?
     
  16. deepstrasz

    deepstrasz

    Map Reviewer

    Joined:
    Jun 4, 2009
    Messages:
    13,696
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Proper way of connecting the map/camera borders with the sky not to look ugly.
     
  17. UreDe4D

    UreDe4D

    Joined:
    Nov 4, 2006
    Messages:
    1,211
    Resources:
    2
    Maps:
    2
    Resources:
    2
    i would like to have different auras (or maybe also other spells for that matter) based off the same base aura to stack, maybe by setting different IDs and also the ability to choose on whether it's a buff or debuff, when it's shown on units.
     
  18. Tasyen

    Tasyen

    Joined:
    Jul 18, 2010
    Messages:
    1,514
    Resources:
    18
    Tools:
    2
    Maps:
    3
    Spells:
    8
    Tutorials:
    4
    JASS:
    1
    Resources:
    18
    Most abilities when not all do stack when having unique buffIds (in the up to date version).


    I'd like to be able to get the orderId the local player currently wants to order while he is selecting the target for it. This Getter would make it more easy to create custom Frames that can be interacted/targeted with default abilities or items or it can be used to create custom indicator images. Through I think it should be async to not have a negative impact on the gameplay.

    The frame api seem to miss the feature to populate menus/lists with items during game.

    Get the mainfocus unit in group selection.

    Command Button Index used for an ability owned by an unit. This should be the place the ability is shown in the command card. It can differ from the setup position when there are multiple abilities requesting the same slot.

    In 1.31 one can not diretcly access many game frames:
    dayTime clock
    hp/mp (below portrait)
    idle worker button
    chat input
    selected unit group frame
    buffs
    dead zone at the right bottom behind the command buttons
    Inventory Title
    Inventory Background when having something selected that has no inventory
    Background Textures from ConsoleUI (that is only a problem cause of the strong connections to other frames)
    Resource Bar Icons
    Helper Message for Current Action (target has to be hero, select target)
    Unit Hover Info

    GetMouseX/Y on Screen
     
    Last edited: Nov 7, 2019
  19. deepstrasz

    deepstrasz

    Map Reviewer

    Joined:
    Jun 4, 2009
    Messages:
    13,696
    Resources:
    1
    Maps:
    1
    Resources:
    1
    Possibility to choose whether doodads face the sky depending on the orientation of the terrain (how steep it is) or not. Something like air units fly over high terrain.
     
  20. WeirdEditor

    WeirdEditor

    Joined:
    May 10, 2018
    Messages:
    117
    Resources:
    0
    Resources:
    0
    There should be a callback function as the parameter of the Missile function, triggered as the missile hits the target.