so if target has use block (percent calculate) /shield (percent calculate)/ invulnerable damage cant take it
if you like invulnerable pierce function copy this to fix it
it operative to Attack Damge/Skill Damage/Return Damge function
[spoiler=Fukki CP -> damage balance calculate]
Code: Select all
function Fukki_Damage_Action7 takes unit fu2u,unit fu3u,real fr2r returns nothing
local integer fi2i=GetUnitTypeId(fu3u)
local real fr3r=GetWidgetLife(fu3u)
local real fr4r=LoadReal(fhact[0],255,fi2i)
local real fr5r=0
if fr3r>0then
if fr4r<=0then
call Fukki_Damage_Action19(fu2u,fu3u,fr2r)
else
call Fukki_Damage_Action19(fu2u,fu3u,fr2r+((fr2r*fr4r)/100))
endif
set fr5r=GetWidgetLife(fu3u)
set fr3r=((fr3r-fr5r)/fr2r)*100
if fr5r>0then
if fr3r<1then
call SetWidgetLife(act_u3u,fr5r-fr2r)
elseif fr3r<100then
set fr3r=100-fr3r
if fr3r>fr4r then
set fr5r=fr4r+(fr3r-fr4r)
else
set fr5r=fr4r+(fr4r-fr3r)
endif
call SaveReal(fhact[0],255,fi2i,fr5r)
elseif fr3r>100then
call SaveReal(fhact[0],255,fi2i,fr4r-(fr3r-100))
endif
endif
endif
endfunction