#Working with Custom Kez Abilities.

1 messages · Page 1 of 1 (latest)

unborn condor
#

Hi guys, since its a new hero I don't really expect any answers but just wanting to document the development and see any opinions.

I am trying to give a unit Kez's passive abilities which is on the same ability key. It seems that if you give the Sai passive 'kez_shodo_sai' without the ability to switch to the Sai's the passive doesn't trigger its on-hit effects.

#

modded shodo_sai to give it the ability to level it and see it on castbar:

  //=================================================================================================================
    // Kez: Shodo Sai
    //=================================================================================================================
    "modded_kez_shodo_sai"
    {
        // General
        //------------------------------------------------------------------------------------------------------------- 
        "BaseClass"                     "kez_shodo_sai"
        "AbilityBehavior"               "DOTA_ABILITY_BEHAVIOR_POINT | DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_IGNORE_BACKSWING | DOTA_ABILITY_BEHAVIOR_DONT_CANCEL_MOVEMENT | DOTA_ABILITY_BEHAVIOR_SHOW_IN_GUIDES"
        "SpellDispellableType"          "SPELL_DISPELLABLE_YES_STRONG"
        "SpellImmunityType"             "SPELL_IMMUNITY_ENEMIES_YES"
        "FightRecapLevel"               "1"
        "HasShardUpgrade"               "1"
        "AbilitySound"                  "Hero_Kez.Sai.Proc"
        "LinkedAbility"                 "kez_shodo_sai_parry_cancel"
#

Kez triggering the passive

#

as expected, if i give kez_switch_weapons ability and switch to sais, i can trigger the effect:

coarse pulsar
unborn condor
#

I'm just thinking now, if I want to implement the ability on a hero without going into Sai mode, I would have to recreate it/script it.

#

troll_warlord_switch_stance does not trigger the effect, it must be kez_switch_weapons:
(not that it would work but just testing)

#

What my issue is that I gave the hero both passives but the Katana passive does not trigger when the Sai mode is active.
even when "LinkedAbility" "" is declared in kez_kazurai_katana.

#

like im trying to give the unit both passives at the same time

#

🙂

crimson shoal
#

it's hard-coded, you dont know the detail of its implementation
you dont know how it works, how it distinguish the weapon
in this case I recommend remaking these abilities
not much difficult in form

unborn condor
#

ty sir o7

coarse pulsar
#

There's also something good about recreating the scripts - you get more control over the exact behavior from them rather than having hacks

indigo ferry
#

yeah maybe I'll finish Kez sometime later, he has so much interaction to check to properly replicate in lua.
my hunch is that all the passives are stored in the switch weapon ability, since all other 4 Sai are swapped with 4 Katana abilities, which might make the Sai 3rd don't work during Katana mode

tranquil inlet
indigo ferry
#

huh I thought I had it, apparently only first 2. I dont do mods lately so its not really updated, maybe when I have some time and motivation.

#

you can do that yourself, it should be:

  1. onCast: give active_buff, strong dispel
  2. has passive modifier passive_buff

active_buff:

  1. AbsoluteNoDamage property, record the damage, heal according to damage

passive_buff:

  1. ontakedamage, check threshold, activate if not broken
unborn condor
unborn condor
indigo ferry
maiden briar
#

The neutrals abilities are all really basic anyway right?

coarse pulsar
#

Dota IMBA has it as well and so does Bosshunter

unborn condor
#

I was just thinking/wondering, how does rubick steal kez’s abilities without needing to switch form and yet i cant inherit the ability

#

Will demo/test now

#

rubick can steal it but it doesnt proc the mark passive to bash/crit

#

ofc rubick can still parry to proc a mark and bash

#

and morphling cannot trigger the proc with attacks either

crimson shoal
#

the time you spend figuring it out is enough to remake a new one

unborn condor
#

hahahah

simple axle
#

Probably the same way as he does for rest abilities. Countless checks for certain abilities in spell steal code and additional work to add all required things/adjust ability (like luna ulti working without beams present) for stealed abilities

maiden briar
#

Luna ult is funny because its based on luna herself so if she doesnt skill beam then rubicks ult doesnt do anything

unborn condor
#

Oh lmao

indigo ferry
#

of course, normally a hero will have a full kit of said abilities, but Spell Steal isolates the ability from the rest of the kit and expect it to work.

#

So, when implementing an ability, volvo janitors supposed to test how the ability should behave if it is being isolated and put on another hero

#

that is exactly why in my library, I use different hero bodies for the recreated abilities, to see that it should also work regardless of the hero (except animations and such). and also the reason I separate each ability in their own folder, so they each supposed to work on their own without the rest of the kit

coarse pulsar
coarse pulsar
#

But yeah, this is a good practice to make sure abilities work for any hero and doesn't rely on a specific hero or other abilities to work.

indigo ferry
# coarse pulsar This is also not exactly correct, in some cases abilities are checked when stole...

that is what I said with "volvo janitors supposed to test how the ability should behave if it is being isolated and put on another hero"
It is not Spell Steal/Morph/Ability Draft 's job to tune in the stolen/morphed/drafted ability so that it works,
but it is the target ability itself that are expected to work when isolated and stolen. This includes additional code, change references, or even just give another new ability instead.