[Skills] HealingSpray & ThunderCloud
3 participantes
Página 1 de 1
[Skills] HealingSpray & ThunderCloud
2 Skills de Summon, uma é a voodooward que dá vida para aliados e a outra é uma nuvem que ataca com raios...
Inclui o sistema de pets que é opcional para as skills.
:arrow: LINK PARA DOWNLOAD
se alguem quiser usar ou editar fica a vontade e qualquer duvida fala ae.
EDIT:
Inclui o sistema de pets que é opcional para as skills.
:arrow: LINK PARA DOWNLOAD
se alguem quiser usar ou editar fica a vontade e qualquer duvida fala ae.
EDIT:
- Skills Code:
library HealingSpray initializer Init uses TimerUtils
globals
private constant integer AID = 'A002' //Skill RAWCode
private constant integer UID = 'o000' //WardSummon
private constant integer DAID = 'A003' //WaveSkillDummy
endglobals
private function Cond takes nothing returns boolean
return GetUnitTypeId(GetSummonedUnit()) == UID
endfunction
private function FFilter takes nothing returns boolean
return IsUnitAlly(GetFilterUnit(),GetOwningPlayer(TmpUnit)) and GetWidgetLife(GetFilterUnit()) > 0.405 and not (IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE) or IsUnitType(GetFilterUnit(),UNIT_TYPE_MAGIC_IMMUNE)) and (TmpUnit != GetFilterUnit()) and GetUnitState(GetFilterUnit(),UNIT_STATE_LIFE) < GetUnitState(GetFilterUnit(),UNIT_STATE_MAX_LIFE)
endfunction
private function Cast takes nothing returns nothing
local timer t = GetExpiredTimer()
local unit u = LoadUnitHandle(GlobalTable,GetHandleId(t),1)
local unit u2 = null
local real x3 = GetUnitX(u)
local real y3 = GetUnitY(u)
local boolexpr b = Condition(function FFilter)
if u == null or GetWidgetLife(u) < 0.405 then
call FlushChildHashtable(GlobalTable,GetHandleId(t))
call ReleaseTimer(t)
else
set TmpUnit = u
call GroupEnumUnitsInRange(TmpGroup,x3,y3,666,b)
set bj_wantDestroyGroup = false
set u2 = GroupPickRandomUnit(TmpGroup)
call GroupClear(TmpGroup)
call IssueTargetOrder(u,"healingwave",u2)
endif
call DestroyBoolExpr(b)
set b = null
set u = null
set t = null
set u2 = null
endfunction
private function Act takes nothing returns nothing
local unit u = GetSummonedUnit()
local unit c = GetSummoningUnit()
local timer t = NewTimer()
call UnitAddAbility(u,DAID)
call SetUnitAbilityLevel(u,DAID,GetUnitAbilityLevel(c,AID))
call SaveUnitHandle(GlobalTable,GetHandleId(t),1,u)
call TimerStart(t,2.5,true,function Cast)
set t = null
set u = null
set c = null
endfunction
private function Init takes nothing returns nothing
local trigger t = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(t,EVENT_PLAYER_UNIT_SUMMON)
call TriggerAddCondition(t,Condition(function Cond))
call TriggerAddAction(t,function Act)
endfunction
endlibrary
library ThunderCloud initializer Init uses TimerUtils optional Summon
globals
private constant integer AID = 'A001' //Skill RAWCode
private constant integer UID = 'n000' //CloudSummon
private constant integer DAID = 'A004' //ChainSkillDummy
private constant integer DAID2 = 'A005' //ForkedSkillDummy
endglobals
private function Cond takes nothing returns boolean
return GetUnitTypeId(GetSummonedUnit()) == UID
endfunction
private function FFilter takes nothing returns boolean
return IsUnitEnemy(GetFilterUnit(),GetOwningPlayer(TmpUnit)) and GetWidgetLife(GetFilterUnit()) > 0.405 and not (IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE) or IsUnitType(GetFilterUnit(),UNIT_TYPE_MAGIC_IMMUNE))
endfunction
private function Cast takes nothing returns nothing
local timer t = GetExpiredTimer()
local unit u = LoadUnitHandle(GlobalTable,GetHandleId(t),1)
local unit u2 = null
local real x3 = GetUnitX(u)
local real y3 = GetUnitY(u)
local boolexpr b = Condition(function FFilter)
if u == null or GetWidgetLife(u) < .405 then
call FlushChildHashtable(GlobalTable,GetHandleId(t))
call ReleaseTimer(t)
else
set TmpUnit = u
call GroupEnumUnitsInRange(TmpGroup,x3,y3,555,b)
set bj_wantDestroyGroup = false
set u2 = GroupPickRandomUnit(TmpGroup)
call GroupClear(TmpGroup)
if GetRandomInt(1,2) == 1 then
call IssueTargetOrderBJ(u,"chainlightning",u2)
else
call IssueTargetOrderBJ(u,"forkedlightning",u2)
endif
endif
call DestroyBoolExpr(b)
set b = null
set u = null
set t = null
set u2 = null
endfunction
private function Act takes nothing returns nothing
local unit u = GetSummonedUnit()
local unit c = GetSummoningUnit()
local timer t = NewTimer()
static if Summon then
call SummonAuto(u,c)
endif
call ResetUnitAnimation(u)
call SaveUnitHandle(GlobalTable,GetHandleId(t),1,u)
call UnitAddAbility(u,DAID)
call UnitAddAbility(u,DAID2)
call SetUnitAbilityLevel(u,DAID,GetUnitAbilityLevel(c,AID))
call SetUnitAbilityLevel(u,DAID2,GetUnitAbilityLevel(c,AID))
call TimerStart(t,1.,true,function Cast)
set t = null
set u = null
set c = null
endfunction
private function Init takes nothing returns nothing
local trigger t = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(t,EVENT_PLAYER_UNIT_SUMMON)
call TriggerAddCondition(t,Condition(function Cond))
call TriggerAddAction(t,function Act)
endfunction
endlibrary
Última edição por Damidemon em 2010-11-13, 17:20, editado 1 vez(es)
Re: [Skills] HealingSpray & ThunderCloud
Vou dar uma olhada, é olhando que se aprende.
DarTiN- Número de Posts : 476
Data de inscrição : 25/07/2010
Reputação : 33 Pontos : 25907
Re: [Skills] HealingSpray & ThunderCloud
O text de crédits é muito massa
Pra poder usar as spells tem que ter o JNGP.
Pra poder usar as spells tem que ter o JNGP.
lcc- Número de Posts : 933
Data de inscrição : 13/07/2010
Reputação : 104 Pontos : 26409
Tópicos semelhantes
» [Skills] VÁRIAS SKILLS BY DARTIN
» [Skills] MEUS SKILLS
» Skills Channeling
» [Skills] Techies Spell Pack
» [Skills]Skill pra amigo
» [Skills] MEUS SKILLS
» Skills Channeling
» [Skills] Techies Spell Pack
» [Skills]Skill pra amigo
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|