CustomGames.ru - Dota 2 пользовательские игры

урон в секунду (суицид)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн den4iccc

  • 276
  • Мощь: 4
урон в секунду (суицид)
« : 02-05-2016, 22:42:12 »
какой модификатор отвечает за урон в секунду хочу сделать скил который бы мог наносить урон в секунду владельцу скила в стиле вонючки пуджа

Оффлайн EnDronist

  • 222
  • Мощь: 1
  • Перфекционист-максималист
Re: урон в секунду (суицид)
« Ответ #1 : 03-05-2016, 01:24:42 »
den4iccc, developer.valvesoftware.com/...odifiers - Все модификаторы.
Знаешь, как действует Радик?
Код
"item_radiance"
{
   // General
   //-------------------------------------------------------------------------------------------------------------
   "BaseClass"                  "item_datadriven"
   "ID"                     "1372"  //Valve's version of this item uses the ID "137".
   "AbilityBehavior"               "DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IGNORE_CHANNEL"
   "Model"                     "models/props_gameplay/red_box.vmdl"
   "Effect"                  "particles/generic_gameplay/dropped_item.vpcf"
   "AbilityTextureName"               "item_radiance"
   
   // Item Info
   //-------------------------------------------------------------------------------------------------------------
   "ItemCost"                  "6500"
   "ItemShopTags"               "damage"
   "ItemQuality"               "epic"
   "ItemAliases"               "radiance"
   "ItemDeclarations"            "DECLARE_PURCHASES_TO_TEAMMATES | DECLARE_PURCHASES_IN_SPEECH | DECLARE_PURCHASES_TO_SPECTATORS"
   
   "AbilitySpecial"
   {
      "01"
      {
         "var_type"            "FIELD_INTEGER"
         "bonus_damage"         "75"
      }
      "02"
      {
         "var_type"            "FIELD_INTEGER"
         "blind_pct"         "17"
      "03"
      {
         "var_type"            "FIELD_INTEGER"
         "aura_radius"         "700"
      }
      "04"
      {
         "var_type"            "FIELD_INTEGER"
         "aura_damage_per_second"   "65"
      }
      "05"
      {
         "var_type"            "FIELD_INTEGER"
         "aura_damage_interval"      "1"
   }
   
   "OnSpellStart"  //Switch to the inactive version of Radiance.
   {
      "RunScript"
      {
         "ScriptFile"         "items/item_radiance.lua"
         "Function"         "item_radiance_on_spell_start"
      }
   }
   
   "Modifiers"
   {
      "modifier_item_radiance"
      {
         "Passive"         "1"
         "IsHidden"         "1"
         "Attributes"       "MODIFIER_ATTRIBUTE_MULTIPLE"
         
         "Properties"
         {
            "MODIFIER_PROPERTY_PREATTACK_BONUS_DAMAGE"   "%bonus_damage"
            "MODIFIER_PROPERTY_EVASION_CONSTANT"      "%blind_pct"
         }
      }
      "modifier_item_radiance_aura_emitter"
      {
         "Passive"            "1"
         "IsHidden"            "1"
         "EffectName"         "particles/items2_fx/radiance_owner.vpcf"
         "EffectAttachType"      "follow_origin"
         "ControlPoints"
                     {
                         "01"    "0 0 2000"
         }
         "Aura"                "modifier_item_radiance_aura"
         "Aura_Radius"          "%aura_radius"
         "Aura_Teams"          "DOTA_UNIT_TARGET_TEAM_ENEMY"
         "Aura_Types"          "DOTA_UNIT_TARGET_HERO | DOTA_UNIT_TARGET_BASIC"
         "Aura_Flags"          "DOTA_UNIT_TARGET_FLAG_MAGIC_IMMUNE_ENEMIES"
         "Aura_ApplyToCaster"    "0"
      }
      "modifier_item_radiance_aura"
      {
         "Passive"         "0"
         "IsHidden"         "1"
         "IsBuff"         "0"
         "IsDebuff"         "1"
         "IsPurgable"      "0"
         "EffectName"         "particles/items2_fx/radiance.vpcf"
         "EffectAttachType"      "follow_origin"
         "ControlPoints"
                     {
                         "01"    "0 0 2000"
         }
         "ThinkInterval"       "%aura_damage_interval"
         "OnIntervalThink"
         {
            "RunScript"
            {
               "ScriptFile"      "items/item_radiance.lua"
               "Function"      "modifier_item_radiance_aura_on_interval_think"
               "AuraDamageInterval"   "%aura_damage_interval"
               "AuraDamagePerSecond"   "%aura_damage_per_second"
            }
         }
         
      }
   }
}
"item_radiance_inactive"
{
   // General
   //-------------------------------------------------------------------------------------------------------------
   "BaseClass"                  "item_datadriven"
   "ID"                     "1372"  //Valve's version of this item uses the ID "137".
   "AbilityBehavior"            "DOTA_ABILITY_BEHAVIOR_IMMEDIATE | DOTA_ABILITY_BEHAVIOR_NO_TARGET | DOTA_ABILITY_BEHAVIOR_IGNORE_CHANNEL"
   "Model"                     "models/props_gameplay/red_box.vmdl"
   "Effect"                  "particles/generic_gameplay/dropped_item.vpcf"
   "AbilityTextureName"         "item_radiance_inactive"
   
   // Item Info
   //-------------------------------------------------------------------------------------------------------------
   "ItemCost"                  "6500"
   "ItemShopTags"               "damage"
   "ItemQuality"               "epic"
   "ItemAliases"               "radiance"
   "ItemDeclarations"            "DECLARE_PURCHASES_TO_TEAMMATES | DECLARE_PURCHASES_IN_SPEECH | DECLARE_PURCHASES_TO_SPECTATORS"
   "ItemPurchasable"            "0"
   
   "AbilitySpecial"
   {
      "01"
      {
         "var_type"            "FIELD_INTEGER"
         "bonus_damage"         "75"
      }
      "02"
      {
         "var_type"            "FIELD_INTEGER"
         "aura_radius"         "700"
      }
      "03"
      {
         "var_type"            "FIELD_INTEGER"
         "aura_damage_per_second"   "65"
      }
      "04"
      {
         "var_type"            "FIELD_INTEGER"
         "aura_damage_interval"      "1"
   }
   
   "OnSpellStart"  //Switch to the active version of Radiance.
   {
      "RunScript"
      {
         "ScriptFile"         "items/item_radiance.lua"
         "Function"         "item_radiance_inactive_on_spell_start"
      }
   }
   
   "Modifiers"
   {
      "modifier_item_radiance_inactive"
      {
         "Passive"         "1"
         "IsHidden"         "1"
         "Attributes"       "MODIFIER_ATTRIBUTE_MULTIPLE"
         
         "Properties"
         {
            "MODIFIER_PROPERTY_BASEATTACK_BONUSDAMAGE"   "%bonus_damage"
            "MODIFIER_PROPERTY_EVASION_CONSTANT"      "%blind_pct"
         }
      }
   }
}
Урон здесь наносится от модификатора "modifier_item_radiance_aura" , который работает от lua-скрипта. Lua-скрипт вычисляет урон и интервал его нанесения:
Код
function swap_to_item(keys, ItemName)
   for i=0, 5, 1 do  --Fill all empty slots in the player's inventory with "dummy" items.
      local current_item = keys.caster:GetItemInSlot(i)
      if current_item == nil then
         keys.caster:AddItem(CreateItem("item_dummy", keys.caster, keys.caster))
      end
   end
   
   keys.caster:RemoveItem(keys.ability)
   keys.caster:AddItem(CreateItem(ItemName, keys.caster, keys.caster))  --This should be put into the same slot that the removed item was in.
   
   for i=0, 5, 1 do  --Remove all dummy items from the player's inventory.
      local current_item = keys.caster:GetItemInSlot(i)
      if current_item ~= nil then
         if current_item:GetName() == "item_dummy_datadriven" then
            keys.caster:RemoveItem(current_item)
         end
      end
   end
end


function modifier_item_radiance_aura_on_interval_think(keys)
   local damage_to_deal = keys.AuraDamagePerSecond * keys.AuraDamageInterval   --This gives us the damage per interval.
   ApplyDamage({victim = keys.target, attacker = keys.caster, damage = damage_to_deal, damage_type = DAMAGE_TYPE_MAGICAL,})
end


function item_radiance_on_spell_start(keys)
   swap_to_item(keys, "item_radiance_inactive_datadriven")
end


function item_radiance_inactive_on_spell_start(keys)
   swap_to_item(keys, "item_radiance")
end
« Последнее редактирование: 03-05-2016, 01:30:38 от EnDronist »
Ням
Мой аддон: steamcommunity.com/...ils/?id=671144274
[свернуть]

Оффлайн Илья

  • Супермодератор
  • 1904
  • Мощь: 16
Re: урон в секунду (суицид)
« Ответ #2 : 03-05-2016, 01:49:52 »
Вот стандартные модификаторы.

А вот,к  примеру, того же радика: modifier_item_radiance