Добавлен , опубликован
Способ реализации:
Lua
Версия Warcraft:
Рекомендуется использовать доработанную версию.
Наработка, позволяющая изменять бонусные характеристики юнита в диапазоне +-4096. По сути является BonusMod переписанной на lua.
Типы праметров:
  • 1 Сила
  • 2 Ловкость
  • 3 Интеллект
  • 4 Урон
  • 5 Броня
  • 6 Регенерация здоровья
  • 7 Регенерация маны
  • 8 Модификатор видимости
Список функций
---@param target unit
---@param mod integer
function UnitClearBonus (target, mod) end

---@param target unit
---@param mod integer
---@param ammount integer
---@return boolean
function UnitSetBonus (target, mod, ammount) end

---@param target unit
---@param mod integer
---@return integer
function UnitGetBonus (target, mod) end

---@param target unit
---@param mod integer
---@param ammount integer
---@return boolean
function UnitAddBonus (target, mod, ammount) end
Перенос в свою карту
Способности
  • Все нестандартные способности. Их много, но простого способа переноса я пока не нашёл.
Триггеры
  • BonusMod
Код
do
	local POWERS   = { 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 }
	local MAX, MIN = POWERS[#POWERS], -POWERS[#POWERS]
	
	local ABILITY  = {
		--STR: 1 [1-13]
		FourCC('ZxF0'), -- +1
		FourCC('ZxF1'), -- +2
		FourCC('ZxF2'), -- +4
		FourCC('ZxF3'), -- +8
		FourCC('ZxF4'), -- +16
		FourCC('ZxF5'), -- +32
		FourCC('ZxF6'), -- +64
		FourCC('ZxF7'), -- +128
		FourCC('ZxF8'), -- +256
		FourCC('ZxF9'), -- +512
		FourCC('ZxFa'), -- +1024
		FourCC('ZxFb'), -- +2048
		FourCC('ZxFc'), -- -4096
		-- AGI 2 [14-26]
		FourCC('ZxG0'), -- +1
		FourCC('ZxG1'), -- +2
		FourCC('ZxG2'), -- +4
		FourCC('ZxG3'), -- +8
		FourCC('ZxG4'), -- +16
		FourCC('ZxG5'), -- +32
		FourCC('ZxG6'), -- +64
		FourCC('ZxG7'), -- +128
		FourCC('ZxG8'), -- +256
		FourCC('ZxG9'), -- +512
		FourCC('ZxGa'), -- +1024
		FourCC('ZxGb'), -- +2048
		FourCC('ZxGc'), -- -4096
		-- INT 3 [27-39]
		FourCC('ZxH0'), -- +1
		FourCC('ZxH1'), -- +2
		FourCC('ZxH2'), -- +4
		FourCC('ZxH3'), -- +8
		FourCC('ZxH4'), -- +16
		FourCC('ZxH5'), -- +32
		FourCC('ZxH6'), -- +64
		FourCC('ZxH7'), -- +128
		FourCC('ZxH8'), -- +256
		FourCC('ZxH9'), -- +512
		FourCC('ZxHa'), -- +1024
		FourCC('ZxHb'), -- +2048
		FourCC('ZxHc'), -- -4096
		-- DAMAGE 4 [40-52]
		FourCC('ZxB0'), -- +1
		FourCC('ZxB1'), -- +2
		FourCC('ZxB2'), -- +4
		FourCC('ZxB3'), -- +8
		FourCC('ZxB4'), -- +16
		FourCC('ZxB5'), -- +32
		FourCC('ZxB6'), -- +64
		FourCC('ZxB7'), -- +128
		FourCC('ZxB8'), -- +256
		FourCC('ZxB9'), -- +512
		FourCC('ZxBa'), -- +1024
		FourCC('ZxBb'), -- +2048
		FourCC('ZxBc'), -- -4096
		-- ARMOR 5 [53-65]
		FourCC('ZxA0'), -- +1
		FourCC('ZxA1'), -- +2
		FourCC('ZxA2'), -- +4
		FourCC('ZxA3'), -- +8
		FourCC('ZxA4'), -- +16
		FourCC('ZxA5'), -- +32
		FourCC('ZxA6'), -- +64
		FourCC('ZxA7'), -- +128
		FourCC('ZxA8'), -- +256
		FourCC('ZxA9'), -- +512
		FourCC('ZxAa'), -- +1024
		FourCC('ZxAb'), -- +2048
		FourCC('ZxAc'), -- -4096
		-- HP 6 [66-78]
		FourCC('ZxE0'), -- +1
		FourCC('ZxE1'), -- +2
		FourCC('ZxE2'), -- +4
		FourCC('ZxE3'), -- +8
		FourCC('ZxE4'), -- +16
		FourCC('ZxE5'), -- +32
		FourCC('ZxE6'), -- +64
		FourCC('ZxE7'), -- +128
		FourCC('ZxE8'), -- +256
		FourCC('ZxE9'), -- +512
		FourCC('ZxEa'), -- +1024
		FourCC('ZxEb'), -- +2048
		FourCC('ZxEc'), -- -4096
		-- MP 7 [79-91]
		FourCC('ZxC0'), -- +1
		FourCC('ZxC1'), -- +2
		FourCC('ZxC2'), -- +4
		FourCC('ZxC3'), -- +8
		FourCC('ZxC4'), -- +16
		FourCC('ZxC5'), -- +32
		FourCC('ZxC6'), -- +64
		FourCC('ZxC7'), -- +128
		FourCC('ZxC8'), -- +256
		FourCC('ZxC9'), -- +512
		FourCC('ZxCa'), -- +1024
		FourCC('ZxCb'), -- +2048
		FourCC('ZxCc'), -- -4096
		-- SIGHT 8 [92-104]
		FourCC('ZxC0'), -- +1
		FourCC('ZxC1'), -- +2
		FourCC('ZxC2'), -- +4
		FourCC('ZxC3'), -- +8
		FourCC('ZxC4'), -- +16
		FourCC('ZxC5'), -- +32
		FourCC('ZxC6'), -- +64
		FourCC('ZxC7'), -- +128
		FourCC('ZxC8'), -- +256
		FourCC('ZxC9'), -- +512
		FourCC('ZxCa'), -- +1024
		FourCC('ZxCb'), -- +2048
		FourCC('ZxCc') -- -4096
	}
	local TYPES    = #ABILITY / #POWERS
	
	---@param target unit
	---@param mod integer
	function UnitClearBonus (target, mod)
		if type(mod) ~= 'number' or mod < 1 or mod >= TYPES then
			return print('UnitGetBonus: Invalid mod', mod)
		end
		
		for i = 1, #POWERS do
			UnitRemoveAbility(target, ABILITY[(mod - 1) * #POWERS + i])
		end
	end
	
	---@param target unit
	---@param mod integer
	---@param ammount integer
	---@return boolean
	function UnitSetBonus (target, mod, ammount)
		if type(mod) ~= 'number' or mod < 1 or mod >= TYPES then
			print('UnitSetBonus: Invalid mod', mod)
			return false
		elseif type(ammount) ~= 'number' or ammount < MIN or ammount > MAX then
			print('UnitSetBonus: Bonus too high or low', ammount)
			return false
		end
		
		local ability = ABILITY[(mod - 1) * #POWERS + #POWERS]
		if ammount < 0 then
			ammount = MAX + ammount
			UnitAddAbility(target, ability)
			UnitMakeAbilityPermanent(target, true, ability)
		else
			UnitRemoveAbility(target, ability)
		end
		
		for i = #POWERS - 1, 1, -1 do
			ability = ABILITY[(mod - 1) * #POWERS + i]
			if ammount >= POWERS[i] then
				UnitAddAbility(target, ability)
				UnitMakeAbilityPermanent(target, true, ability)
				ammount = ammount - POWERS[i]
			else
				UnitRemoveAbility(target, ability)
			end
		end
		
		return true
	end
	
	---@param target unit
	---@param mod integer
	---@return integer
	function UnitGetBonus (target, mod)
		local ammount = 0
		
		if type(mod) ~= 'number' or mod < 1 or mod >= TYPES then
			return print('UnitGetBonus: Invalid mod', mod)
		end
		
		if GetUnitAbilityLevel(target, ABILITY[(mod - 1) * #POWERS + #POWERS]) > 0 then
			ammount = MIN
		end
		
		for i = 1, #POWERS do
			if GetUnitAbilityLevel(target, ABILITY[(mod - 1) * #POWERS + i]) > 0 then
				ammount = ammount + POWERS[i]
			end
		end
		
		return ammount
	end
	
	---@param target unit
	---@param mod integer
	---@param ammount integer
	---@return boolean
	function UnitAddBonus (target, mod, ammount)
		return UnitSetBonus(target, mod, UnitGetBonus(target, mod) + ammount)
	end
end
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
5
Этот мод конечно неплохой,но все же хочется сделать мод на подобии "захват юнита"
ТОесть ты выбрал вражеского юнита,прописал команду и он перешел перед твое командование,
Сделать разоединение союза - тоесть например -unally 4-8 тоесть если написать то эти игроки не будут в союзе
Просто хочется более "фановых" модов
НО!Впринципе этот мод очень хороший,ничего не имею против,каким-нибудь могущественным картоделам может эта идея понравится,если захотите можете её воплотить,думаю будет реально забавно (пусть эти моды и ломают механику,но чисто поугарать над фигней в соло режимах всё же хочется)
33
Ахахах, Krabs, как бы тебе объяснить так по культурней, что это не тот мод о котором подумал ты... это проста наработка дающая определённый функционал (написано выше), а бонус мод - оригинальной название с хайва ( и тут имеется в виду МОД - изменение(модификейшен) бонусного атрибута).
А то что написал ты, моды да, но они достаточно простые и делаются на гуи и не достойны какой либо отдельной наработки, (хотя чую NazarPunk уже пошёл делать)
30
хотя чую NazarPunk уже пошёл делать
Так делал уже, нужно только подпилить напильником под свои нужды))
11
NazarPunk, я так понимаю что других вариантов реализовать подобное не появилось?

NazarPunk, пробовал сменить характеристики способности, но не хочет их менять (
22
но зачем он? Если у варкрафт и так есть нативки на все нужные параметры =)

логика хм!
33
но зачем он? Если у варкрафт и так есть нативки на все нужные параметры =)
так как по прежнему не работают нативки на смену характеристик способностей, и то что тут ошибка есть, является доказательством, что никто не использует эту систему и все попорежденму ковыряют РО, создавая кучу абил на все случаи жизни
Так вот, что за ошибка?
А конкретно неработоспособность 8 Мода - Радиуса видимости
		if type(mod) ~= 'number' or mod < 1 or mod >= TYPES then
			return print('UnitGetBonus: Invalid mod', mod)
		end
mod >= TYPES условие не обрабатывает 8 мод надо либо тут сделать mod > TYPES
либо вместо
local TYPES    = #ABILITY / #POWERS
поставить
local TYPES    = 1+(#ABILITY / #POWERS)
Я это обнаружил при попытке добавления 9 мода - скорости атаки
27
мне кажется мана реген неправильна работает. или совсем не работает. используете абилку маски соби
раскрыть
MANA_REGEN_SobiMask =((base_mana_regen + mana_regen_Intellect + другие бонусы типа чародейской ауры)*p) - реген от одной абилки. Если вообще нет никакого регена (реген != 0, главное чтоб был хотя бы один реген), то не будет работать реген и от маски. теперь даже отрицательный реген может получится, если указано отрицательное значение коэффициента. ВНИМАНИЕ: в этой формуле MANA_REGEN_SobiMask не учитывается реген от других соби масок, если у героя их несколько. Учитывают базовый реген, реген от инты +другие регены
MANA_REGEN_Common = mana_regen_Intellect + MANA_REGEN_SobiMask + другие бонусы типа чародейской ауры - общий реген (так как у героя работает только реген от инты и от других бонусов, а вот базовый реген не учитывается. Так как базовый реген не работает на герое)
MANA_REGEN_Common = mana_regen_Intellect + MANA_REGEN_SobiMask1 + MANA_REGEN_SobiMask2 + другие бонусы типа чародейской ауры - общий реген ((если абилок от маски соби несколько, они суммируются вот так)
Какие бонусы есть в игре? Это пассивки (чародейская аура, аура фонтана, маска соби не учитывается), активных заклинании с постепенным восстановлением не много (рев, леденящий крик, омоложение не учитывается,
base_mana_regen - базовый реген, который указан в РО юнита "Характеристики - Восстановление маны". Работает только у обычных юнитов, тестировал этот момент у героя. У героя показывает реген от интеллекта (базовый не работает у героя), но когда он одевает маску соби учитывается базовый реген. Благодаря базовому регену, можно сделать героя с уникальным регеном.
mana_regen_Intellect = Intellect * k - реген от интеллекта (где Intellect - кол-во интеллекта героя, k - константа "Характеристики героя: увеличение скорости восстановления за единицу разума", которая за каждую единицу маны восстанавливает заданное число)
p - процент от абилки

какие параметры не ввожу для регена маны, реакции никакой

найдена ошибка
заменить
		-- MP 7 [79-91]
		FourCC('ZxC0'), -- +1
		FourCC('ZxC1'), -- +2
		FourCC('ZxC2'), -- +4
		FourCC('ZxC3'), -- +8
		FourCC('ZxC4'), -- +16
		FourCC('ZxC5'), -- +32
		FourCC('ZxC6'), -- +64
		FourCC('ZxC7'), -- +128
		FourCC('ZxC8'), -- +256
		FourCC('ZxC9'), -- +512
		FourCC('ZxCa'), -- +1024
		FourCC('ZxCb'), -- +2048
		FourCC('ZxCc'), -- -4096
на это
	-- regen MP 7 [79-91]
	FourCC('ZxD0'), -- +1
	FourCC('ZxD1'), -- +2
	FourCC('ZxD2'), -- +4
	FourCC('ZxD3'), -- +8
	FourCC('ZxD4'), -- +16
	FourCC('ZxD5'), -- +32
	FourCC('ZxD6'), -- +64
	FourCC('ZxD7'), -- +128
	FourCC('ZxD8'), -- +256
	FourCC('ZxD9'), -- +512
	FourCC('ZxDa'), -- +1024
	FourCC('ZxDb'), -- +2048
	FourCC('ZxDc'), -- -4096
27
большая часть филдов рефорджете не работает. работают только геты (get), с них что-то да можно получить. А сеты (set) могут не работать, работают только set на хп/мана реген, армор, и у некоторых атрибутов героя. Нельзя видимо просто изменить поле
рабочие нативки (не все тут)
--[[ нативки рефорджета

--защита (работает норм).
native BlzGetUnitArmor takes unit whichUnit returns real --считывает базовый+бонус
native BlzSetUnitArmor takes unit whichUnit, real armorAmount returns nothing

native BlzGetUnitBaseDamage takes unit whichUnit, integer weaponIndex returns integer
native BlzGetUnitDiceNumber takes unit whichUnit, integer weaponIndex returns integer
native BlzGetUnitDiceSides takes unit whichUnit, integer weaponIndex returns integer
native BlzSetUnitBaseDamage takes unit whichUnit, integer baseDamage, integer weaponIndex returns nothing
native BlzSetUnitDiceNumber takes unit whichUnit, integer diceNumber, integer weaponIndex returns nothing
native BlzSetUnitDiceSides takes unit whichUnit, integer diceSides, integer weaponIndex returns nothing

native BlzGetUnitAttackCooldown takes unit whichUnit, integer weaponIndex returns real
native BlzSetUnitAttackCooldown takes unit whichUnit, real cooldown, integer weaponIndex returns nothing

native BlzGetUnitMaxHP takes unit whichUnit returns integer
native BlzSetUnitMaxHP takes unit whichUnit, integer hp returns nothing

native BlzGetUnitMaxMana takes unit whichUnit returns integer
native BlzSetUnitMaxMana takes unit whichUnit, integer mana returns nothing

native BlzUnitHideAbility takes unit whichUnit, integer abilId, boolean flag returns nothing

native BlzGetUnitAbilityManaCost takes unit whichUnit, integer abilId, integer level returns integer
native BlzSetUnitAbilityManaCost takes unit whichUnit, integer abilId, integer level, integer manaCost returns nothing

native BlzGetUnitAbilityCooldown takes unit whichUnit, integer abilId, integer level returns real
native BlzGetUnitAbilityCooldownRemaining takes unit whichUnit, integer abilId returns real
native BlzSetUnitAbilityCooldown takes unit whichUnit, integer abilId, integer level, real cooldown returns nothing

native BlzUnitHideAbility takes unit whichUnit, integer abilId, boolean flag returns nothing
native BlzUnitDisableAbility takes unit whichUnit, integer abilId, boolean flag, boolean hideUI returns nothing


BlzGetUnitRealField(GetTriggerUnit(), UNIT_RF_CAST_BACK_SWING)
BlzGetUnitRealField(GetTriggerUnit(), UNIT_RF_CAST_POINT)

]]
добавление функции
do
	local InitGlobalsOrigin = InitGlobals
	function InitGlobals()
		InitGlobalsOrigin()

        function GetUnitDefenseType(unit)
            return BlzGetUnitIntegerField(unit, UNIT_IF_DEFENSE_TYPE)
        end
        function GetUnitAttackType(unit,index)
            return BlzGetUnitWeaponIntegerField(unit, UNIT_WEAPON_IF_ATTACK_ATTACK_TYPE, index)
        end
        function GetUnitAcquisitionRange(unit)
            return BlzGetUnitRealField(unit, UNIT_RF_ACQUISITION_RANGE)
        end
        function GetUnitSightRadius(unit)
            return BlzGetUnitRealField(unit, UNIT_RF_SIGHT_RADIUS)
        end
        
        
        function IsAttackUnitEnabled(unit,index)
            return BlzGetUnitWeaponBooleanField(unit, UNIT_WEAPON_BF_ATTACKS_ENABLED,index)
        end
        

        --общие параметры атрибутов: базовый+бонус (бонус можно исключить)
        function GetHeroAttributeStr(hero, includeBonuses)
            return GetHeroStr(hero, includeBonuses)
        end
        function GetHeroAttributeAgi(hero, includeBonuses)
            return GetHeroAgi(hero, includeBonuses)
        end
        function GetHeroAttributeInt(hero, includeBonuses)
            return GetHeroInt(hero, includeBonuses)
        end
        
        --базовые атрибуты героя
        function GetHeroStr_base(hero)
            return BlzGetUnitIntegerField(hero, UNIT_IF_STRENGTH)
        end
        function GetHeroAgi_base(hero)
            return BlzGetUnitIntegerField(hero, UNIT_IF_AGILITY)
        end
        function GetHeroInt_base(hero)
            return BlzGetUnitIntegerField(hero, UNIT_IF_INTELLIGENCE)
        end
        --бонусные атрибуты героя
        function GetHeroStr_bonus(hero)
            return BlzGetUnitIntegerField(hero, UNIT_IF_STRENGTH_WITH_BONUS)-GetHeroStr_base(hero)
        end
        function GetHeroAgi_bonus(hero)
            return BlzGetUnitIntegerField(hero, UNIT_IF_AGILITY_WITH_BONUS)-GetHeroAgi_base(hero)
        end
        function GetHeroInt_bonus(hero)
            return BlzGetUnitIntegerField(hero, UNIT_IF_INTELLIGENCE_WITH_BONUS)-GetHeroInt_base(hero)
        end
        
        --установить базовые (белые) атрибуты героя
        function SetHeroBaseStr(hero, value)
            SetHeroStr(hero, value, true)
        end
        function SetHeroBaseAgi(hero, value)
            SetHeroAgi(hero, value, true)
        end
        function SetHeroBaseInt(hero, value)
            SetHeroInt(hero, value, true)
        end
        --установить бонусные (зеленые) атрибуты героя
        function SetHeroBonusStr(hero, value)
            UnitClearBonus (hero, 1)
            UnitSetBonus (hero, 1, value)
        end
        function SetHeroBonusAgi(hero, value)
            UnitClearBonus (hero, 2)
            UnitSetBonus (hero, 2, value)
        end
        function SetHeroBonusInt(hero, value)
            UnitClearBonus (hero, 3)
            UnitSetBonus (hero, 3, value)
        end
        --добавить бонусные (зеленые) атрибуты героя
        function AddHeroBonusStr(hero, value)
            UnitAddBonus (target, 1, ammount)
        end
        function AddHeroBonusAgi(hero, value)
            UnitAddBonus (target, 2, ammount)
        end
        function AddHeroBonusInt(hero, value)
            UnitAddBonus (target, 3, ammount)
        end
        
        --основной атрибут героя (1-str, 3-agi, 2-int). влияет на атаку
        function GetHeroPrimaryAttribute(hero)
            return BlzGetUnitIntegerField(hero, UNIT_IF_PRIMARY_ATTRIBUTE)
        end
        function SetHeroPrimaryAttribute(hero, value) --установка не работает
            BlzSetUnitIntegerField( hero, UNIT_IF_PRIMARY_ATTRIBUTE, value)
        end
        

        function GetHeroStrPerLevel(hero) 
            return BlzGetUnitRealField(hero, UNIT_RF_STRENGTH_PER_LEVEL)
        end
        function GetHeroAgiPerLevel(hero) 
            return BlzGetUnitRealField(hero, UNIT_RF_AGILITY_PER_LEVEL)
        end
        function GetHeroIntPerLevel(hero) 
            return BlzGetUnitRealField(hero, UNIT_RF_INTELLIGENCE_PER_LEVEL)
        end

        --base regen hp/sec
        function GetUnitBaseRegenHP(unit)
            return BlzGetUnitRealField(unit, UNIT_RF_HIT_POINTS_REGENERATION_RATE)
        end
        function SetUnitBaseRegenHP(unit, value) 
            BlzSetUnitRealFieldBJ( unit, UNIT_RF_HIT_POINTS_REGENERATION_RATE, value )
        end
        --base regen mana/sec
        function GetUnitBaseRegenMana(unit)
            return BlzGetUnitRealField(unit, UNIT_RF_MANA_REGENERATION)
        end
        function SetUnitBaseRegenMana(unit, value)
            return BlzSetUnitRealField( unit, UNIT_RF_MANA_REGENERATION, value )
        end
        --bonus regen hp/sec
        function GetUnitBonusRegenHP(unit)
            return UnitGetBonus (unit, 6)
        end
        --bonus % увеличение mana regen от base regen
        function GetUnitBonusRegenMana(unit)
            return UnitGetBonus (unit, 7)
        end
        
        function SetUnitHP(unit,value)
            SetUnitState(unit, UNIT_STATE_LIFE, RMaxBJ(0,value))
        end
        function SetUnitMana(unit,value)
            SetUnitState(unit, UNIT_STATE_MANA, RMaxBJ(0,value))
        end
        
        function GetUnitBaseAttackSpeed(unit)
            if IsUnitType(unit, UNIT_TYPE_HERO) then
                return 1.00 + (GetHeroAttributeAgi(unit, false)/100)
            else
                return 1.00
            end
        end
        
        function GetUnitBonusAttackSpeed(unit)
            return UnitGetBonus (unit, 9)
        end
        
        function GetUnitAttackSpeed(unit, includeBonuses)
            if not includeBonuses then
                return GetUnitBaseAttackSpeed(unit) + GetUnitBonusAttackSpeed(unit)
            else
                return GetUnitBaseAttackSpeed(unit)
            end
        end
        
        function GetUnitBonusArmor(unit)
            return UnitGetBonus (unit, 5)
        end
        function GetUnitBaseArmor(unit)
            return BlzGetUnitArmor(unit)-GetUnitBonusArmor(unit)
        end
        
        
        
        

        TimerStart(CreateTimer(),0.5,true,function()
            print("основной атрибут: "..GetHeroPrimaryAttribute(HERO))
            
            --print("FFF str: "..GetHeroAttributeStr(HERO, true))
            --print("base str: "..GetHeroStr_base(HERO))
            --print("permament str: "..GetHeroStr_permament(HERO))
            --print("bonus str: "..GetHeroStr_bonus(HERO))
            
            --print("BaseRegenHP: "..GetUnitBaseRegenHP(HERO).." hp/sec")
            --print("BonusRegenHP: "..GetUnitBonusRegenHP(HERO).." hp/sec")
            --print("BaseRegenMana: "..GetUnitBaseRegenMana(HERO).." mana/sec")
            --print("BonusRegenMana: "..GetUnitBonusRegenMana(HERO)/100..." % от регена")
        end)
        
        local t = CreateTrigger()
        TriggerRegisterPlayerChatEvent( t, Player(0), "-change ", false )
        TriggerAddAction( t, function()
            local k = S2I(SubStringBJ(GetEventPlayerChatString(),9, StringLength(GetEventPlayerChatString())))
            
            print(k)
            --SetUnitBaseRegenHP(HERO, k)
            --SetUnitBaseRegenMana(HERO, k)
            
            --SetHeroBaseStr(HERO, GetHeroStr_base(HERO)+k, true)
            --SetHeroAgi_bonus(HERO, k)
            
            --SetHeroPrimaryAttribute(HERO, k)
            
            print("end")
        end)
        

        
        
end
end
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.