Kyzerdrood
New Member
- Reaction score
- 3
hey everyone, i made a post earlier, which im going to go post in right after this, about me needing the Flash Point skill from the Magician in TBR.
basically what it does, is when u cast something, it creates two circles of explosions outside the unit doing damage.
anyway, i asked the map creator of the map, and he recently lost his unprotected maps and couldnt give me the spell, but would if he could.
so im not patient and dont want to wait for him to get his maps back, so i just opened the script in jasscraft and got the spell.
Problem is, he said it leaks badly.
And, when i imported it, it has a two second delay or so before it acually happens, it instantly spawns fire effects but takes a few seconds to do the damage and explosions.
im new with jass and i dont know whats causing the delay and how to fix the leaks, i would +rep anyone who could make this leakless, and show me what to do to get rid of the delay.
Idk if i can rep, i think i can, and ill try to rep anyone who helps.
Heres the code
its a big jumble lol
Trigger
basically what it does, is when u cast something, it creates two circles of explosions outside the unit doing damage.
anyway, i asked the map creator of the map, and he recently lost his unprotected maps and couldnt give me the spell, but would if he could.
so im not patient and dont want to wait for him to get his maps back, so i just opened the script in jasscraft and got the spell.
Problem is, he said it leaks badly.
And, when i imported it, it has a two second delay or so before it acually happens, it instantly spawns fire effects but takes a few seconds to do the damage and explosions.
im new with jass and i dont know whats causing the delay and how to fix the leaks, i would +rep anyone who could make this leakless, and show me what to do to get rid of the delay.
Idk if i can rep, i think i can, and ill try to rep anyone who helps.
Heres the code
its a big jumble lol
Trigger
JASS:
//TESH.scrollpos=51
//TESH.alwaysfold=0
function notin takes nothing returns nothing
local unit udg_flashpointCaster
local real udg_flashpointMana=0
local trigger gg_trg_flashpoint=null
endfunction
function Trig_flashpoint_Conditions takes nothing returns boolean
if(not(GetSpellAbilityId()==039;A0K7039;))then
return false
endif
return true
endfunction
function Trig_flashpoint_Func001002003 takes nothing returns boolean
return(IsPlayerEnemy(GetOwningPlayer(GetFilterUnit()),GetOwningPlayer(GetTriggerUnit()))==true)
endfunction
function Trig_flashpoint_Func002002 takes nothing returns nothing
call UnitDamageTargetBJ(GetTriggerUnit(),GetEnumUnit(),I2R(udg_damageBonus[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]),ATTACK_TYPE_NORMAL,DAMAGE_TYPE_MAGIC)
endfunction
function Trig_flashpoint_Func004C takes nothing returns boolean
if(not(IsUnitType(GetSpellAbilityUnit(),UNIT_TYPE_HERO)==true))then
return false
endif
return true
endfunction
function Trig_flashpoint_Func005Func002C takes nothing returns boolean
return true
endfunction
function Trig_flashpoint_Func009002 takes nothing returns nothing
call RemoveUnit(GetEnumUnit())
endfunction
function Trig_flashpoint_Actions takes nothing returns nothing
set udg_group1=GetUnitsInRangeOfLocMatching(600.00,GetUnitLoc(GetTriggerUnit()),Condition(function Trig_flashpoint_Func001002003))
call ForGroupBJ(udg_group1,function Trig_flashpoint_Func002002)
set udg_flashpointCaster=GetTriggerUnit()
if(Trig_flashpoint_Func004C())then
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=11
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set bj_forLoopBIndex=1
set bj_forLoopBIndexEnd=18
loop
exitwhen bj_forLoopBIndex>bj_forLoopBIndexEnd
set udg_point1=GetUnitLoc(GetTriggerUnit())
set udg_point2=PolarProjectionBJ(udg_point1,350.00,((I2R(GetForLoopIndexA())*90.00)+(I2R(GetForLoopIndexB())*5.00)))
call CreateNUnitsAtLoc(1,039;h01S039;,GetOwningPlayer(GetTriggerUnit()),udg_point2,bj_UNIT_FACING)
set udg_point2=PolarProjectionBJ(udg_point1,350.00,((I2R(GetForLoopIndexA())*180.00)+(I2R(GetForLoopIndexB())*5.00)))
call CreateNUnitsAtLoc(1,039;h01S039;,GetOwningPlayer(GetTriggerUnit()),udg_point2,bj_UNIT_FACING)
set udg_point2=PolarProjectionBJ(udg_point1,350.00,((I2R(GetForLoopIndexA())*270.00)+(I2R(GetForLoopIndexB())*5.00)))
call CreateNUnitsAtLoc(1,039;h01S039;,GetOwningPlayer(GetTriggerUnit()),udg_point2,bj_UNIT_FACING)
set udg_point2=PolarProjectionBJ(udg_point1,350.00,((I2R(GetForLoopIndexA())*360.00)+(I2R(GetForLoopIndexB())*5.00)))
call CreateNUnitsAtLoc(1,039;h01S039;,GetOwningPlayer(GetTriggerUnit()),udg_point2,bj_UNIT_FACING)
call RemoveLocation(udg_point1)
call RemoveLocation(udg_point2)
set bj_forLoopBIndex=bj_forLoopBIndex+1
endloop
call TriggerSleepAction(0.01)
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
else
endif
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=10
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set udg_nuclear_flame_level=GetUnitAbilityLevelSwapped(039;A0K7039;,GetTriggerUnit())
if(Trig_flashpoint_Func005Func002C())then
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=16
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call CreateNUnitsAtLoc(1,039;h01T039;,GetOwningPlayer(GetTriggerUnit()),GetUnitLoc(GetTriggerUnit()),bj_UNIT_FACING)
call SetUnitAbilityLevelSwapped(039;A0K8039;,GetLastCreatedUnit(),udg_nuclear_flame_level)
call UnitApplyTimedLifeBJ(2.00,039;BTLF039;,GetLastCreatedUnit())
call IssuePointOrderLocBJ(GetLastCreatedUnit(),"impale",PolarProjectionBJ(GetUnitLoc(GetTriggerUnit()),100.00,udg_nuclear_flame_area))
set udg_nuclear_flame_area=(udg_nuclear_flame_area+25.00)
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
else
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call TriggerSleepAction(0.70)
call TriggerSleepAction(0.50)
set udg_group1=GetUnitsOfTypeIdAll(039;h01S039;)
call ForGroupBJ(udg_group1,function Trig_flashpoint_Func009002)
call DestroyGroup(udg_group1)
endfunction
function InitTrig_flashpoint takes nothing returns nothing
set gg_trg_flashpoint=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(gg_trg_flashpoint,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(gg_trg_flashpoint,Condition(function Trig_flashpoint_Conditions))
call TriggerAddAction(gg_trg_flashpoint,function Trig_flashpoint_Actions)
endfunction