- Joined
- Sep 16, 2008
- Messages
- 47
GUI
Jass
I tried to create backstab spell in GUI.
Look at triggers. When i cast this spelll it isn't backstab. It's Frontstab. How to fix it?
-
function Trig_Backstab_Conditions takes nothing returns boolean
-
if ( not ( GetSpellAbilityId() == 'A002' ) ) then
-
return false
-
-
endif
-
return true
-
-
endfunction
-
function Trig_Backstab_Func011C takes nothing returns boolean
-
if ( not ( IsUnitType(udg_Backstab_Caster, UNIT_TYPE_MELEE_ATTACKER) == true ) ) then
-
return false
-
-
endif
-
if ( not ( RAbsBJ(( ModuloReal(AngleBetweenPoints(udg_Backstab_CasterPositon, udg_Backstab_TargetPosition), 360.00) - ModuloReal(GetUnitFacing(udg_Backstab_Target), 360.00) )) < udg_Backstab_MaxA ) ) then
-
return false
-
-
endif
-
if ( not ( RAbsBJ(( ModuloReal(AngleBetweenPoints(udg_Backstab_CasterPositon, udg_Backstab_TargetPosition), 360.00) - ModuloReal(GetUnitFacing(udg_Backstab_Target), 360.00) )) > udg_Backstab_MinA ) ) then
-
return false
-
-
endif
-
return true
-
-
endfunction
-
function Trig_Backstab_Actions takes nothing returns nothing
-
set udg_Backstab_Caster = GetTriggerUnit()
-
set udg_Backstab_Target = GetSpellTargetUnit()
-
set udg_Backstab_MaxA = 240.00
-
set udg_Backstab_MinA = 120.00
-
set udg_Backstab_CasterPositon = GetUnitLoc(udg_Backstab_Caster)
-
set udg_Backstab_TargetPosition = GetUnitLoc(udg_Backstab_Target)
-
set udg_Backstab_Ability = 'A002'
-
set udg_Backstab_AbilityLevel = GetUnitAbilityLevelSwapped(udg_Backstab_Ability, udg_Backstab_Caster)
-
set udg_Backstab_Damage = ( 100 * udg_Backstab_AbilityLevel )
-
set udg_Backstab_Angle = AngleBetweenPoints(udg_Backstab_CasterPositon, udg_Backstab_TargetPosition)
-
if ( Trig_Backstab_Func011C() ) then
-
call DisplayTimedTextToForce( GetPlayersAll(), 0.01, "TRIGSTR_083" )
-
call SetUnitAnimationByIndex (udg_Backstab_Caster, 8)
-
call UnitDamageTargetBJ( udg_Backstab_Caster, udg_Backstab_Target, I2R(udg_Backstab_Damage), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
-
-
else
-
endif
-
call RemoveLocation (udg_Backstab_CasterPositon)
-
call RemoveLocation (udg_Backstab_TargetPosition)
-
-
endfunction
-
//===========================================================================
-
function InitTrig_Backstab takes nothing returns nothing
-
set gg_trg_Backstab = CreateTrigger( )
-
call TriggerRegisterAnyUnitEventBJ( gg_trg_Ba
-
JASS:
function Trig_Backstab_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A002' ) ) then
return false
endif
return true
endfunction
function Trig_Backstab_Func011C takes nothing returns boolean
if ( not ( IsUnitType(udg_Backstab_Caster, UNIT_TYPE_MELEE_ATTACKER) == true ) ) then
return false
endif
if ( not ( RAbsBJ(( ModuloReal(AngleBetweenPoints(udg_Backstab_CasterPositon, udg_Backstab_TargetPosition), 360.00) - ModuloReal(GetUnitFacing(udg_Backstab_Target), 360.00) )) < udg_Backstab_MaxA ) ) then
return false
endif
if ( not ( RAbsBJ(( ModuloReal(AngleBetweenPoints(udg_Backstab_CasterPositon, udg_Backstab_TargetPosition), 360.00) - ModuloReal(GetUnitFacing(udg_Backstab_Target), 360.00) )) > udg_Backstab_MinA ) ) then
return false
endif
return true
endfunction
function Trig_Backstab_Actions takes nothing returns nothing
set udg_Backstab_Caster = GetTriggerUnit()
set udg_Backstab_Target = GetSpellTargetUnit()
set udg_Backstab_MaxA = 240.00
set udg_Backstab_MinA = 120.00
set udg_Backstab_CasterPositon = GetUnitLoc(udg_Backstab_Caster)
set udg_Backstab_TargetPosition = GetUnitLoc(udg_Backstab_Target)
set udg_Backstab_Ability = 'A002'
set udg_Backstab_AbilityLevel = GetUnitAbilityLevelSwapped(udg_Backstab_Ability, udg_Backstab_Caster)
set udg_Backstab_Damage = ( 100 * udg_Backstab_AbilityLevel )
set udg_Backstab_Angle = AngleBetweenPoints(udg_Backstab_CasterPositon, udg_Backstab_TargetPosition)
if ( Trig_Backstab_Func011C() ) then
call DisplayTimedTextToForce( GetPlayersAll(), 0.01, "TRIGSTR_083" )
call SetUnitAnimationByIndex (udg_Backstab_Caster, 8)
call UnitDamageTargetBJ( udg_Backstab_Caster, udg_Backstab_Target, I2R(udg_Backstab_Damage), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
else
endif
call RemoveLocation (udg_Backstab_CasterPositon)
call RemoveLocation (udg_Backstab_TargetPosition)
endfunction
//===========================================================================
function InitTrig_Backstab takes nothing returns nothing
set gg_trg_Backstab = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Ba
I tried to create backstab spell in GUI.
Look at triggers. When i cast this spelll it isn't backstab. It's Frontstab. How to fix it?
Last edited: