//TESH.scrollpos=0
//TESH.alwaysfold=0
function PolledWait2 takes real duration returns nothing
local real timeRemaining
local real st=TimerGetElapsed( bj_gameStartedTimer)
if st <= 0 then
set bj_gameStartedTimer = CreateTimer()
call TimerStart(bj_gameStartedTimer, 1000000, false, null)
endif
if (duration > 0) then
loop
set timeRemaining = duration - TimerGetElapsed( bj_gameStartedTimer) + st
exitwhen timeRemaining <= 0
if (timeRemaining > bj_POLLED_WAIT_SKIP_THRESHOLD) then
call TriggerSleepAction(0.1 * timeRemaining)
else
call TriggerSleepAction(bj_POLLED_WAIT_INTERVAL)
endif
endloop
endif
endfunction
Name | Type | is_array | initial_value |
Ama1 | unitcode | No | |
amaGroup | group | No | |
AmaPoint | location | Yes | |
Angle | real | No | |
BR | boolean | Yes | |
BR_Ability | abilcode | No | |
BR_Caster | unit | Yes | |
BR_CastingPoint | location | Yes | |
BR_Counter_100 | integer | Yes | |
BR_Counter_150 | integer | Yes | |
BR_Damage | real | Yes | |
BR_DamageBase | real | No | |
BR_DamageIncrease | real | No | |
BR_Dummy | unit | Yes | |
BR_DummyUnitType | unitcode | No | |
BR_Duration | real | Yes | |
BR_DurationBase | real | No | |
BR_DurationIncrease | real | No | |
BR_Heal | real | Yes | |
BR_HealBase | real | No | |
BR_HealIncrease | real | No | |
BR_HolyBoltsNumber | integer | No | |
BR_Increment | real | Yes | |
BR_Level | integer | Yes | |
BR_Loop | integer | Yes | |
BR_MaxIndex | integer | No | |
BR_Player | player | Yes | |
BR_RessurectionNumber | integer | No | |
BR_ShouldLoop | boolean | No | |
Caster | unit | No | |
Creep_resp_Int | integer | No | |
Creep_X | real | Yes | |
Creep_Y | real | Yes | |
Deidara_Beauty_Caster | unit | No | |
Deidara_Beauty_Damage | real | No | |
Deidara_Beauty_Dummy | unit | No | |
Deidara_Beauty_Group | group | No | |
Deidara_Beauty_Hash | hashtable | No | |
Deidara_Beauty_Point | location | Yes | |
Deidara_Beauty_Timer | real | No | |
Deidara_C0_Caster | unit | No | |
Deidara_C0_Damage | real | No | |
Deidara_C0_Group | group | No | |
Deidara_C0_Hash | hashtable | No | |
Deidara_C0_Int | integer | No | |
Deidara_C0_Point | location | Yes | |
Deidara_C0_Timer | real | No | |
Deidara_C0_TT | texttag | No | |
Deidara_C1_Damage | real | No | |
Deidara_C1_Group | group | No | |
Deidara_C1_Point | location | Yes | |
Deidara_C2_Group | group | No | |
Deidara_C2_Hash | hashtable | No | |
Deidara_C2_LM_Group | group | No | |
Deidara_C2_LM_Point | location | No | |
Deidara_C2_Point | location | Yes | |
Deidara_C3_Caster | unit | No | |
Deidara_C3_Damage | real | No | |
Deidara_C3_Group | group | No | |
Deidara_C3_Hash | hashtable | No | |
Deidara_C3_Point | location | No | |
Deidara_C3_Timer | real | No | |
Deidara_C4_Caster | unit | No | |
Deidara_C4_Damage | real | No | |
Deidara_C4_Dummy | unit | No | |
Deidara_C4_Group | group | No | |
Deidara_C4_Hash | hashtable | No | |
Deidara_C4_Point | location | Yes | |
Deidara_C4_Timer | real | No | |
Deidara_Clone_Caster | unit | No | |
Deidara_Clone_Damage | real | No | |
Deidara_Clone_Group | group | No | |
Deidara_Clone_Point | location | Yes | |
Deidara_CONF_Dummies_Spells | abilcode | Yes | |
Deidara_CONF_Spells | abilcode | Yes | |
Deidara_CONF_Units | unitcode | Yes | |
Deidara_Flying | unitcode | No | |
Deidara_SEA_Damage | real | No | |
Deidara_SEA_Group | group | No | |
Deidara_SEA_Group2 | group | No | |
Deidara_SEA_Hash | hashtable | No | |
Deidara_SEA_Point | location | Yes | |
Deidara_SEA_Timer | real | No | |
DummyKaton | unit | No | |
DummyMove | location | No | |
DummyPos | location | No | |
EF_Ability | abilcode | No | |
EF_AOE | real | No | |
EF_AttackType | attacktype | No | |
EF_CastDelay | real | No | |
EF_Caster | unit | Yes | |
EF_Color | real | Yes | |
EF_Damage | real | Yes | |
EF_DamageArea | real | No | |
EF_DamageType | damagetype | No | |
EF_Duration | real | Yes | |
EF_EffectModel | string | No | |
EF_Energies | real | Yes | |
EF_Integer | integer | No | |
EF_Level | integer | Yes | |
EF_MaxDistance | real | No | |
EF_MinDistance | real | No | |
EF_Player | player | Yes | |
EF_ReleaseEffect | string | No | |
EF_Size | real | No | |
EF_TargetPoint | location | Yes | |
EF_Time | real | Yes | |
eff | effect | No | |
eff2 | effect | No | |
Effect_Mystic | effect | No | |
EnemyPoint | location | No | |
HealingAttacked | unit | No | |
HealingChance | real | No | |
HealingHeal | real | No | |
HealingPoint | location | No | |
HealingPoint2 | location | No | |
HealingTimer | timer | No | |
Itachi | unit | No | |
Item_Check | integer | No | |
Item_Count | integer | No | |
Item_Effect | string | No | |
Item_Fake | itemcode | Yes | |
Item_LoopA | integervar | No | |
Item_LoopB | integervar | No | |
Item_LoopC | integervar | No | |
Item_Mat1 | itemcode | Yes | |
Item_Mat1Amount | integer | Yes | |
Item_Mat2 | itemcode | Yes | |
Item_Mat2Amount | integer | Yes | |
Item_Mat3 | itemcode | Yes | |
Item_Mat3Amount | integer | Yes | |
Item_Mat4 | itemcode | Yes | |
Item_Mat4Amount | integer | Yes | |
Item_Mat5 | itemcode | Yes | |
Item_Mat5Amount | integer | Yes | |
Item_MatMax | integer | Yes | |
Item_Max | integer | No | |
Item_Point | location | Yes | |
Item_Real | itemcode | Yes | |
Item_RecipeMax | integer | No | |
Item_Result | itemcode | Yes | |
Kunaigroup | group | No | |
LDG_ImpactGroup | group | No | |
LDH_Ability | abilcode | No | |
LDH_AirDamage | real | Yes | |
LDH_AirDamageChance | real | Yes | |
LDH_AirEffectPoint | string | No | |
LDH_AirEffects | string | No | |
LDH_Angle | real | No | |
LDH_Angle2 | real | No | |
LDH_AttackType | attacktype | No | |
LDH_BlastArea | real | Yes | |
LDH_Caster | unit | No | |
LDH_CasterPosition | location | No | |
LDH_Cos | real | No | |
LDH_CurrentDistanceRange | real | No | |
LDH_DamageType | damagetype | No | |
LDH_DestroyTreesAreaLoop | real | Yes | |
LDH_DestroyTreesAreaStart | real | Yes | |
LDH_DistanceRange | real | No | |
LDH_Dummy | unit | No | |
LDH_Dummy2 | unit | No | |
LDH_DummyAbility | abilcode | No | |
LDH_DummyAbility2 | abilcode | No | |
LDH_DummyType | unitcode | No | |
LDH_Effects | string | No | |
LDH_Effects2 | string | No | |
LDH_FinalParabola | real | No | |
LDH_GroupLoop | group | No | |
LDH_GroupStart | group | No | |
LDH_Hash | hashtable | No | |
LDH_ID | integer | No | |
LDH_ImpactArea | real | Yes | |
LDH_ImpactDamage | real | Yes | |
LDH_ImpactEffect | string | No | |
LDH_ImpactPickedUnitEffect | string | No | |
LDH_ImpactUnit | unit | No | |
LDH_Int | integervar | No | |
LDH_Level | integer | No | |
LDH_MaxHeight | real | Yes | |
LDH_MX | real | No | |
LDH_MY | real | No | |
LDH_NumberOfEffects | integer | Yes | |
LDH_PickedTrees | destructable | No | |
LDH_PW | real | No | |
LDH_Sin | real | No | |
LDH_Speed | real | Yes | |
LDH_StartPointEffect | location | No | |
LDH_Target | unit | No | |
LDH_TargetLoopPosition | location | No | |
LDH_TargetPosition | location | No | |
LDH_TreePos | location | No | |
LDH_UnitHarvester | unit | No | |
LDH_X | real | No | |
LDH_Y | real | No | |
MAangle | real | Yes | |
MAcaster | unit | Yes | |
MAcasterloc | location | Yes | |
MAgroup | group | Yes | |
MAindex | integer | No | |
MApickUnit | unit | No | |
MasterSlash_Caster | unit | No | |
MasterSlash_Duration | real | No | |
MasterSlash_Effect | string | Yes | |
MasterSlash_Target | unit | No | |
MAtimer | real | Yes | |
MAunitloc | location | No | |
PickedUnit | location | No | |
Point | location | No | |
Point2 | location | No | |
PunchesAngle | real | No | |
PunchesAngle2 | real | No | |
PunchesCaster | unit | No | |
PunchesE1 | effect | No | |
PunchesE2 | effect | No | |
PunchesPoint | location | Yes | |
PunchesRegion | rect | No | |
PunchesTarget | unit | No | |
R | real | No | |
schs_AvailableHeroes | group | No | |
schs_HeroesRegion | rect | No | |
schs_HeroId | integer | No | |
schs_HeroSummonSFX | string | No | |
schs_HeroUnit | unit | Yes | |
schs_Loop | integervar | No | |
schs_PlayerChosen | boolean | Yes | |
schs_PlayerCurrentSelection | unit | Yes | |
schs_SpawnRegion | rect | No | |
Size | real | No | |
SmashCaster | unit | No | |
SmashDmg | group | No | |
SmashEffect | effect | No | |
SmashPoint | location | Yes | |
Target | unit | No | |
Target2 | unit | No | |
TargetPoint | location | No | |
tempForce | force | No | |
tempId | integer | No | |
TempIndex | integervar | No | |
TempInt | integer | No | |
TempInteger | integervar | No | |
TempInteger2 | integervar | No | |
TempItem | item | No | |
tempLoc | location | No | |
tempPlayer | player | No | |
TempPoint | location | No | |
TempReal | real | No | |
TempTarget | unit | No | |
tempUnit | unit | No | |
TempUnit | unit | No | |
TempUnitGroup | group | No | |
TV_Count | integer | No | |
TV_Data | integer | Yes | |
TV_HeroArray | unitcode | Yes | |
TV_Random | integer | No | |
WaveAngle | real | No | |
WaveCaster | unit | No | |
WaveDmg | group | No | |
WaveDummy | unit | No | |
WaveEffect | effect | No | |
WavePoint | location | Yes | |
WaveRegion | rect | No |
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_C1_INIT_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == udg_Deidara_CONF_Spells[2] ) ) then
return false
endif
return true
endfunction
function Trig_C1_INIT_Actions takes nothing returns nothing
set udg_Deidara_C1_Damage = ( 20.00 * I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) )
set udg_Deidara_C1_Point[1] = GetUnitLoc(GetTriggerUnit())
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Deidara_C1_Point[2] = PolarProjectionBJ(udg_Deidara_C1_Point[1], 200.00, ( I2R(GetForLoopIndexA()) * ( 360.00 / I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ) ))
call CreateNUnitsAtLoc( 1, udg_Deidara_CONF_Units[2], GetTriggerPlayer(), udg_Deidara_C1_Point[1], bj_UNIT_FACING )
call UnitAddAbilityBJ( udg_Deidara_CONF_Dummies_Spells[3], GetLastCreatedUnit() )
call IssueImmediateOrderBJ( GetLastCreatedUnit(), "selfdestructon" )
call SetUnitPathing( GetLastCreatedUnit(), false )
call SetUnitPositionLoc( GetLastCreatedUnit(), udg_Deidara_C1_Point[1] )
call IssuePointOrderLocBJ( GetLastCreatedUnit(), "move", udg_Deidara_C1_Point[2] )
call UnitApplyTimedLifeBJ( 15.00, 'BTLF', GetLastCreatedUnit() )
call GroupAddUnitSimple( GetLastCreatedUnit(), udg_Deidara_C1_Group )
call CreateNUnitsAtLoc( 1, udg_Deidara_CONF_Units[3], GetTriggerPlayer(), udg_Deidara_C1_Point[1], bj_UNIT_FACING )
call UnitAddAbilityBJ( udg_Deidara_CONF_Dummies_Spells[3], GetLastCreatedUnit() )
call IssueImmediateOrderBJ( GetLastCreatedUnit(), "selfdestructon" )
call SetUnitPathing( GetLastCreatedUnit(), false )
call SetUnitPositionLoc( GetLastCreatedUnit(), udg_Deidara_C1_Point[1] )
call SetUnitFlyHeightBJ( GetLastCreatedUnit(), 300.00, 300.00 )
call SetUnitTimeScalePercent( GetLastCreatedUnit(), GetRandomReal(80.00, 120.00) )
call IssuePointOrderLocBJ( GetLastCreatedUnit(), "move", udg_Deidara_C1_Point[2] )
call UnitApplyTimedLifeBJ( 15.00, 'BTLF', GetLastCreatedUnit() )
call GroupAddUnitSimple( GetLastCreatedUnit(), udg_Deidara_C1_Group )
call RemoveLocation(udg_Deidara_C1_Point[2])
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call RemoveLocation(udg_Deidara_C1_Point[1])
endfunction
//===========================================================================
function InitTrig_C1_INIT takes nothing returns nothing
set gg_trg_C1_INIT = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_C1_INIT, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_C1_INIT, Condition( function Trig_C1_INIT_Conditions ) )
call TriggerAddAction( gg_trg_C1_INIT, function Trig_C1_INIT_Actions )
endfunction