Почему не удаляется модифер после смерти?

mrlikelot

Продвинутый
24 Июл 2015
168
1
Сразу скажу, что модифер активируется в OnToggleOn. И хотелось бы без lua :)

Код:
"modifier_righthouse"
   {
   	"Passive" "0"
    "IsHidden"        "0"
    "IsDebuff"    "1"
    "Aura"      "modifier_righthouse_aura"
    "Aura_Radius"   "%radius"
    "Aura_Teams"   "DOTA_UNIT_TARGET_TEAM_ENEMY"
    "Aura_Types"   "DOTA_UNIT_TARGET_ALL"
    "Aura_Flags"   "DOTA_UNIT_TARGET_FLAG_NONE"
    "Aura_ApplyToCaster" "0"
   }

   "modifier_righthouse_aura"
   {
    "Passive" "0"
    "IsDebuff"    "1"
    "IsHidden"    "0"
   
    "ThinkInterval"  "0.1"
    "OnIntervalThink"
    {
     "RunScript"
     {
      "ScriptFile"  "heroes/hurricane.lua"
      "Function"   "hurricane"
     }
    }   
   }
 
Последнее редактирование модератором:
А полный код абилки и желательно данного луа

Код:
"ability_hurricane"
 {
  "ID"       "1852"
  "AbilityBehavior"    "DOTA_ABILITY_BEHAVIOR_TOGGLE | DOTA_ABILITY_BEHAVIOR_AOE"
  "BaseClass"      "ability_datadriven"
  "AbilityTextureName"   "jakiro_liquid_fire"


  "AbilityCastPoint"    "0.0"
  "AbilityUnitDamageType"   "DAMAGE_TYPE_PURE"
  "AbilityCastAnimation"   "ACT_DOTA_DISABLED"


  "precache"
  {
   "particle"   "particles/courier_trail_orbit.vpcf"
  }

   "AbilitySpecial"
  {
   "01"
   {
    "var_type"    "FIELD_INTEGER"
    "radius"    "400"
   }
  }

  // Item Info
  
  "OnToggleOn"
  {
   "ApplyModifier"
   {
    "Target"  "CASTER"
    "ModifierName" "modifier_channel_start"
   }
   "ApplyModifier"
   {
    "Target"  "CASTER"
    "ModifierName" "modifier_righthouse"
   }
  }
  "OnToggleOff"
  {
   "RemoveModifier"
   {
     "ModifierName" "modifier_channel_start"
     "Target"    "CASTER"
   }
   "RemoveModifier"
   {
     "ModifierName" "modifier_righthouse"
     "Target"    "CASTER"
   }
  }
  
  
  "Modifiers"
  {
   "modifier_channel_start"
   {
    "IsHidden"			"1"
    "OnCreated"
    {
     "AttachEffect"
     {
      "EffectName"    "particles/courier_trail_orbit.vpcf"
      "EffectAttachType" "follow_origin"
      "Target"      "CASTER"
     }
    }
   }

   "modifier_righthouse"
   {
   	"Passive" "0"
    "IsHidden"        "0"
    "IsDebuff"    "1"
    "Aura"      "modifier_righthouse_aura"
    "Aura_Radius"   "%radius"
    "Aura_Teams"   "DOTA_UNIT_TARGET_TEAM_ENEMY"
    "Aura_Types"   "DOTA_UNIT_TARGET_ALL"
    "Aura_Flags"   "DOTA_UNIT_TARGET_FLAG_NONE"
    "Aura_ApplyToCaster" "0"
    "OnOwnerDied"
    {
      "RemoveModifier"
		   {
		     "ModifierName" "modifier_righthouse"
		     "Target"    "CASTER"
		   }
    }
   }

   "modifier_righthouse_aura"
   {
    "Passive" "0"
    "IsDebuff"    "1"
    "IsHidden"    "0"
   
    "ThinkInterval"  "0.1"
    "OnIntervalThink"
    {
     "RunScript"
     {
      "ScriptFile"  "heroes/hurricane.lua"
      "Function"   "hurricane"
     }
    }   
   }
  }
 }

Код:
function hurricane( keys )
	local caster = keys.caster
	local target = keys.target
	local ability = keys.ability
	local damage = target:GetMaxHealth() * 0.01
	ApplyDamage({
		attacker = caster,
		victim = target,
		ability = ability,
		damage = damage,
		damage_type = DAMAGE_TYPE_PURE
	})
end
 
Последнее редактирование модератором:
Честно не пойму в чём проблема, вот у меня манашилд есть как итем
Код:
"OnToggleOn"
  {
    "FireEffect"
    {
      "EffectName"    "particles/units/heroes/hero_medusa/medusa_mana_shield_cast.vpcf"
      "EffectAttachType" "follow_origin"
      "Target"      "CASTER"
    }
    "ApplyModifier"
    {
      "ModifierName" "item_create_36_shild"
      "Target"    "CASTER"
    }
  }

  "OnToggleOff"
  {
    "FireEffect"
    {
      "EffectName"    "particles/units/heroes/hero_medusa/medusa_mana_shield_end.vpcf"
      "EffectAttachType" "follow_origin"
      "Target"      "CASTER"
    }
    "RemoveModifier"
    {
      "ModifierName" "item_create_36_shild"
      "Target"
      {
        "Center"  "CASTER"
        "Flags"   "DOTA_UNIT_TARGET_FLAG_DEAD"
      }
    }
  }

Не уверен что проверка на Флаг юнита, но попробуй, потому что я проблемы не вижу
 
Последнее редактирование модератором:
Какой модификатор то не удаляется? modifier_righthouse_aura?
 
[quote author=Dangalor link=topic=1402.msg8999#msg8999 date=1490641837]
Честно не пойму в чём проблема, вот у меня манашилд есть как итем
Код:
"OnToggleOn"
  {
    "FireEffect"
    {
      "EffectName"    "particles/units/heroes/hero_medusa/medusa_mana_shield_cast.vpcf"
      "EffectAttachType" "follow_origin"
      "Target"      "CASTER"
    }
    "ApplyModifier"
    {
      "ModifierName" "item_create_36_shild"
      "Target"    "CASTER"
    }
  }

  "OnToggleOff"
  {
    "FireEffect"
    {
      "EffectName"    "particles/units/heroes/hero_medusa/medusa_mana_shield_end.vpcf"
      "EffectAttachType" "follow_origin"
      "Target"      "CASTER"
    }
    "RemoveModifier"
    {
      "ModifierName" "item_create_36_shild"
      "Target"
      {
        "Center"  "CASTER"
        "Flags"   "DOTA_UNIT_TARGET_FLAG_DEAD"
      }
    }
  }

Не уверен что проверка на Флаг юнита, но попробуй, потому что я проблемы не вижу
[/quote]
Не помогло, modifier_righthouse
 
Последнее редактирование модератором:
Я тоже в затруднении, давно на lua модификаторы перешел. Проверь, пашет ли "OnOwnerDied" в твоем случае вообще.
 
Последнее редактирование модератором:
Я тоже в затруднении, давно на lua модификаторы перешел. Проверь, пашет ли "OnOwnerDied" в твоем случае вообще.
Не работает, OnDeath работает, пишет "Debug" в консоль, но модифер всё равно удалять не хочет. Похоже придётся через луа.
 
Последнее редактирование модератором:
Вот тогда код, мб у кого нибудь тоже проблема будет:
Код:
"modifier_righthouse"
   {
   	"Passive" "0"
    "IsHidden"        "0"
    "IsDebuff"    "1"
    "Aura"      "modifier_righthouse_aura"
    "Aura_Radius"   "%radius"
    "Aura_Teams"   "DOTA_UNIT_TARGET_TEAM_ENEMY"
    "Aura_Types"   "DOTA_UNIT_TARGET_ALL"
    "Aura_Flags"   "DOTA_UNIT_TARGET_FLAG_NONE"
    "Aura_ApplyToCaster" "0"
    "OnDeath"
    {
     "RunScript"
     {
       "ScriptFile"  "heroes/kill.lua"
       "Function"   "kill"
     }
    }
   }

Код:
function kill( keys )
	local caster = keys.caster
	caster:RemoveModifierByName("modifier_righthouse")
end
 
Последнее редактирование модератором:
Можешь попробовать в другом модификаторе сделать удаление.

И сделал бы абилку целиком в lua, вместе с аурой. Меньше ошибок бы было.
 
Можешь попробовать в другом модификаторе сделать удаление.

И сделал бы абилку целиком в lua, вместе с аурой. Меньше ошибок бы было.
Думаю мне пока не хочется в луа это писать) Там код большой получается, а я, блин, не могу долбанную обезьяну заставить не прожимать скиллы))
 
Последнее редактирование модератором:
Реклама: