Forum Rules

  • No flaming or derogatory remarks, directly or through insinuation.
  • No discussion, sharing or referencing illegal software such as hacks, keygen, cracks and pirated software.
  • No offensive contents, including but not limited to, racism, gore or pornography.
  • No excessive spam/meme, i.e. copious one liners in a short period of time, typing with all caps or posting meme responses (text/image).
  • No trolling, including but not limited to, flame incitation, user provocation or false information distribution.
  • No link spamming or signature advertisements for content not specific to Dota 2.
  • No Dota 2 key requests, sell, trade etc.
  • You may not create multiple accounts for any purpose, including ban evasion, unless expressly permitted by a moderator.

  • Please search before posting. One thread per issue. Do not create another thread if there is an existing one already.
  • Before posting anything, make sure you check out all sticky threads (e.g., this). Do not create new threads about closed ones.
  • It is extremely important that you post in correct forum section.

  • Balance discussion only in Misc.
  • All art related (such as hero model) feedbacks go to Art Feedback Forum.
  • All matchmaking feedback should go here: Matchmaking Feedback
  • All report/low priority issues should go here: Commend/Report/Ban Feedback
  • No specific workshop item feedback. These should go to workshop page of that item.
  • When posting in non-bugs section (such as this), use [Bugs], [Discussion] or [Suggestion] prefix in your thread name.

In case you object some action by a moderator, please contact him directly through PM and explain your concerns politely. If you are still unable to resolve the issue, contact an administrator. Do not drag these issues in public.

All rules are meant to augment common sense, please use them when not conflicted with aforementioned policies.
See more
See less

[Suggestion] Add more illusion creation functionality

  • Filter
  • Time
  • Show
Clear All
new posts

  • [Suggestion] Add more illusion creation functionality


    Currently, creating illusions is a bit wonky, and presents us some difficulties, at least using the only method I know of:

    1. Spawn the illusion using CreateHeroByName(), based on the hero you're copying. At this point, the illusion is not considered an illusion yet, and spawns as a hero entity, which grants hero kill bounty on death, triggers OnHeroSpawn events, among other undesired behaviors.

    2. Make the unit an illusion by using MakeIllusion() and applying the "modifier_illusion" modifier, which controls outgoing/incoming damage modifiers, duration, etc.

    After those two steps, the unit is already considered an illusion (complete with the blue-ish illusion tint for allies), but depending on the behavior you expect out of your illusion-creating ability/item/condition, it still has several "flaws":

    - Its HP is full (instead of following the caster's);
    - It spawns without any cosmetics;
    - It does not inherit modifiers currently active on its owner (including modifiers which should be normally inherited by illusions);
    - It is level one;
    - All its abilities are unlearned;
    - It has no items;
    - It has no owning player;

    All of those issues can be fixed, but they demand a lot of tinkering with - especially modifier inheritance, and defining which abilities should work or not on spawned illusions.

    I'd suggest introducing a function somewhat like CreateIllusionFromUnit(table Properties), where the properties table would allow us to input things like:

    - handle Unit
    - handle Owner
    - vector SpawnPosition
    - bool InheritAbilities
    - bool InheritItems
    - bool InheritModifiers
    - bool InheritCurrentHP
    - float Duration
    - int BonusOutgoingDamage
    - int BonusIncomingDamage

    As illusion creation is such a staple of Dota since wc3, I think this would be useful for modmakers. What do you think?

    Best regards!

  • #2