- Joined
- Jul 20, 2009
- Messages
- 835
JASS:
local unit au=GetTriggerUnit()
local unit su=GetEventDamageSource()
local integer tdmg=R2I(GetEventDamage())
local integer pi=GetPlayerId(GetOwningPlayer(au))
local real x=GetUnitX(au)+25*Cos(180.*.0174532)
local real y=GetUnitY(au)+25*Sin(180.*.0174532)
local texttag txt
local real xvel =.04*Cos(90.*.0174532)
local real yvel =.04*Sin(90.*.0174532)
if GetLocalPlayer()==GetOwningPlayer(su) or GetLocalPlayer()==GetOwningPlayer(au) then
if udg_showdmg[pi] and tdmg>0 then
set txt=CreateTextTag()
if IsUnitType(au,UNIT_TYPE_HERO) then
if GetRandomReal(1,100)<=udg_evade[pi] then
call SetUnitState(au,UNIT_STATE_LIFE,GetUnitState(au,UNIT_STATE_LIFE)+tdmg)
call SetTextTagText(txt,"^"+"evasion"+"^",.02)
call SetTextTagColor(txt,40,40,40,0)
else
call SetTextTagText(txt,I2S(tdmg),.02)
call SetTextTagColor(txt,130,00,00,0)
call SetUnitState(au,UNIT_STATE_LIFE,GetUnitState(au,UNIT_STATE_LIFE)+udg_block[pi])
endif
else
if GetRandomReal(1,100)<=udg_ACchance[pi] then
set tdmg=R2I(.1*udg_ACpower[pi])+tdmg
call SetTextTagText(txt,"*"+I2S(tdmg)+"*",.02)
call SetTextTagColor(txt,255,255,255,0)
call SetUnitState(au,UNIT_STATE_LIFE,GetUnitState(au,UNIT_STATE_LIFE)-.1*udg_SCpower[pi])
else
call SetTextTagText(txt,I2S(tdmg),.02)
endif
endif
endif
endif
call SetTextTagVelocity(txt,xvel,yvel)
call SetTextTagPos(txt,x,y,60)
call SetTextTagPermanent(txt,false)
call SetTextTagLifespan(txt,1)
call SetTextTagFadepoint(txt,0)
call TriggerSleepAction(1)
call DestroyTextTag(txt)
set txt=null
set au=null
set su=null
call DestroyTrigger(GetTriggeringTrigger())
How to use the GetLocalPlayer() in that function so I don't have a desync?