function GetDamage(spell, unit)
if spell == _Q and (isReady(_Q) or qActive) and not HasItem(3025) and not HasItem(3100) and not HasItem(3057) and not HasItem(3078) then
return myHero:CalcDamage(unit, ((((myHero:GetSpellData(_Q).level * 20) + 10) + myHero.totalDamage) + qStacks))
elseif spell == _Q and (isReady(_Q) or qActive) and (HasItem(3057) or sheenActive) then
return myHero:CalcDamage(unit, myHero.damage) + myHero:CalcDamage(unit, ((((myHero:GetSpellData(_Q).level * 20) + 10) + myHero.totalDamage) + qStacks))
elseif spell == _Q and (isReady(_Q) or qActive) and (HasItem(3025) or fActive) then
return myHero:CalcDamage(unit, myHero.damage) + myHero:CalcDamage(unit, ((((myHero:GetSpellData(_Q).level * 20) + 10) + myHero.totalDamage) + qStacks))
elseif spell == _Q and (isReady(_Q) or qActive) and (HasItem(3100) or lActive) then
return myHero:CalcMagicDamage(unit, ((myHero.damage * 0.75) + (myHero.ap * 0.5))) + myHero:CalcDamage(unit, ((((myHero:GetSpellData(_Q).level * 20) + 10) + myHero.totalDamage) + qStacks))
elseif spell == _Q and (isReady(_Q) or qActive) and (HasItem(3078) or tActive) then
return myHero:CalcDamage(unit, (myHero.damage * 2)) + myHero:CalcDamage(unit, ((((myHero:GetSpellData(_Q).level * 20) + 10) + myHero.totalDamage) + qStacks))
elseif spell == _E and isReady(_E) then
return myHero:CalcMagicDamage(unit, (((myHero:GetSpellData(_E).level * 40) + 15) + (myHero.ap * 0.6)))
else
return 0
end
end
это мой код, чтобы вернуть х урон от заклинаний на х врагов, однако в то время как она работает, как предполагалось, кажется неэффективным и некрасиво и я хотел бы, чтобы работать немного по-другому, и я m не уверен, как закодировать его как таковой.Ищете уборщик более эффективный способ
Что я хотел бы это сделать, если я, например, GetDamage(all)
или что-то похоже, я хотел бы его вернуть общий ущерб я могу сделать данный isReady(spell)
возвращает истинный, т.е. если заклинание q
и e
готовы было бы вернуть в общей сложности q
и e
только, или если все были готовы, то он вернет все, кроме того, если мне нужно только знать повреждение r, я все еще мог бы сделать GetDamage(_R)
.
Есть ли более чистый способ сделать это, используя таблицу или более эффективный способ получить результаты, которые мне нужны? Потому что в настоящее время использование GetDamage(spell) + GetDamage(spell2) + GetDamage(spell3)
и т. Д. Выглядит очень плохое кодирование.
Спасибо, но это самый эффективный способ кодирования этой функции, или вы считаете, что существует более чистый способ? – loveroflua
@loveroflua - Ответ обновлен. –
Отлично, это именно то, что я искал спасибо – loveroflua