|
发表于 2007-7-7 13:30:32
|
显示全部楼层
话说……要技能的话你自己直接破地图不就行了
激.双岚阵
function Trig_g4_Conditions takes nothing returns boolean
return(GetSpellAbilityId()=='A006')and(IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO))
endfunction
function Trig_g4_Func033C takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A006',GetTriggerUnit())==1)
endfunction
function Trig_g4_Func034C takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A006',GetTriggerUnit())==2)
endfunction
function Trig_g4_Func038001 takes nothing returns boolean
return(IsUnitAliveBJ(udg_YU333))
endfunction
function Trig_g4_Actions takes nothing returns nothing
set udg_YU222=GetSpellAbilityUnit()
set udg_YU333=GetSpellTargetUnit()
set udg_YU444=GetUnitDefaultFlyHeight(udg_YU333)
call SetUnitInvulnerable(udg_YU333,true)
call SetUnitInvulnerable(GetTriggerUnit(),true)
call UnitAddAbility(udg_YU222,'Amrf')
call UnitAddAbility(udg_YU333,'Amrf')
call UnitRemoveAbility(udg_YU222,'Amrf')
call UnitRemoveAbility(udg_YU333,'Amrf')
call SetUnitFlyHeight(udg_YU333,100.,1000000000.)
call SetUnitTimeScalePercent(udg_YU222,100.)
call SetUnitFlyHeight(udg_YU333,600.,150.)
call SetUnitFlyHeight(udg_YU222,500.,120.)
set udg_YU111=.0
call PauseUnit(udg_YU333,true)
call PauseUnit(udg_YU222,true)
call EnableTrigger(gg_trg_g5)
call PolledWait(4.)
call DisableTrigger(gg_trg_g5)
call ResetUnitAnimation(udg_YU222)
call SetUnitTimeScalePercent(udg_YU222,100.)
call SetUnitAnimationWithRarity(udg_YU222,"Attack Slam",RARITY_FREQUENT)
call PolledWait(.4)
call SetUnitFlyHeight(udg_YU333,.0,1200.)
call SetUnitFlyHeight(udg_YU222,.0,600.)
call EnableTrigger(gg_trg_g6)
call PolledWait(.5)
call DisableTrigger(gg_trg_g6)
call PauseUnit(udg_YU222,false)
call SetUnitInvulnerable(udg_YU333,false)
call SetUnitInvulnerable(GetTriggerUnit(),false)
call AddSpecialEffectTargetUnitBJ("origin",udg_YU333,"war3mapImported\\\\Ram.mdx")
if(Trig_g4_Func033C())then
call UnitDamageTargetBJ(udg_YU222,udg_YU333,1300.,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_MAGIC)
endif
if(Trig_g4_Func034C())then
call UnitDamageTargetBJ(udg_YU222,udg_YU333,1600.,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_MAGIC)
endif
call PolledWait(.01)
call PauseUnit(udg_YU333,false)
call SetUnitFlyHeight(udg_YU333,udg_YU444,(udg_YU444*2.))
if(Trig_g4_Func038001())then
call ResetUnitAnimation(udg_YU333)
endif
endfunction
function Trig_g5_Actions takes nothing returns nothing
set udg_YU111=(udg_YU111+GetRandomReal(30.,80.))
call SetUnitPositionLocFacingLocBJ(udg_YU222,PolarProjectionBJ(GetUnitLoc(udg_YU333),75.,udg_YU111),GetUnitLoc(udg_YU333))
call AddSpecialEffectTargetUnitBJ("chest",udg_YU333,"Objects\\\\Spawnmodels\\\\Human\\\\HumanBlood\\\\BloodElfSpellThiefBlood.mdl")
call SetUnitAnimationWithRarity(udg_YU222,"Attack walk stand spin",RARITY_FREQUENT)
call SetUnitAnimationWithRarity(udg_YU333,"death",RARITY_FREQUENT)
endfunction
function Trig_g6_Actions takes nothing returns nothing
call SetUnitPositionLocFacingBJ(udg_YU333,PolarProjectionBJ(GetUnitLoc(udg_YU333),25.,AngleBetweenPoints(GetUnitLoc(udg_YU222),GetUnitLoc(udg_YU333))),AngleBetweenPoints(GetUnitLoc(udg_YU333),GetUnitLoc(udg_YU222)))
endfunction
炎龙剑
function Trig_C5_Conditions takes nothing returns boolean
return(GetSpellAbilityId()=='A094')and(IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO))
endfunction
function Trig_C5_Func020C takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A094',GetTriggerUnit())==1)
endfunction
function Trig_C5_Func021C takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A094',GetTriggerUnit())==2)
endfunction
function Trig_C5_Actions takes nothing returns nothing
set udg_TK5=GetSpellTargetUnit()
set udg_TK2=GetSpellAbilityUnit()
call SetUnitInvulnerable(GetTriggerUnit(),true)
call SetUnitInvulnerable(udg_TK5,true)
call PauseUnit(udg_TK2,true)
call PauseUnit(udg_TK5,true)
call SetUnitPathing(udg_TK2,false)
call AddSpecialEffectTargetUnitBJ("weapon",udg_TK2,"Abilities\\\\Weapons\\\\PhoenixMissile\\\\Phoenix_Missile.mdl")
set udg_TK4=bj_lastCreatedEffect
set udg_TK3=bj_lastCreatedEffect
call EnableTrigger(gg_trg_NH)
call PolledWait(2)
call DisableTrigger(gg_trg_NH)
call SetUnitPositionLocFacingLocBJ(udg_TK2,udg_TK1,GetUnitLoc(udg_TK5))
call PolledWait(.1)
call SetUnitAnimation(udg_TK2,"slam")
call ResetUnitAnimation(udg_TK5)
call PolledWait(1.)
call SetUnitInvulnerable(udg_TK5,false)
if(Trig_C5_Func020C())then
call UnitDamageTargetBJ(udg_TK2,udg_TK5,1250.,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_MAGIC)
endif
if(Trig_C5_Func021C())then
call UnitDamageTargetBJ(udg_TK2,udg_TK5,1500.,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_MAGIC)
endif
call AddSpecialEffectLocBJ(GetUnitLoc(udg_TK5),"Objects\\\\Spawnmodels\\\\Other\\\\NeutralBuildingExplosion\\\\NeutralBuildingExplosion.mdl")
call AddSpecialEffectLocBJ(GetUnitLoc(udg_TK5),"Abilities\\\\Spells\\\\Human\\\\FlameStrike\\\\FlameStrike1.mdl")
call AddSpecialEffectLocBJ(PolarProjectionBJ(GetUnitLoc(udg_TK5),100.,0),"Objects\\\\Spawnmodels\\\\Other\\\\NeutralBuildingExplosion\\\\NeutralBuildingExplosion.mdl")
call AddSpecialEffectLocBJ(PolarProjectionBJ(GetUnitLoc(udg_TK5),50.,45.),"Objects\\\\Spawnmodels\\\\Human\\\\SmallFlameSpawn\\\\SmallFlameSpawn.mdl")
call AddSpecialEffectLocBJ(PolarProjectionBJ(GetUnitLoc(udg_TK5),100.,90.),"Objects\\\\Spawnmodels\\\\Other\\\\NeutralBuildingExplosion\\\\NeutralBuildingExplosion.mdl")
call AddSpecialEffectLocBJ(PolarProjectionBJ(GetUnitLoc(udg_TK5),50.,315.),"Objects\\\\Spawnmodels\\\\Human\\\\SmallFlameSpawn\\\\SmallFlameSpawn.mdl")
call AddSpecialEffectLocBJ(PolarProjectionBJ(GetUnitLoc(udg_TK5),100.,180.),"Objects\\\\Spawnmodels\\\\Other\\\\NeutralBuildingExplosion\\\\NeutralBuildingExplosion.mdl")
call AddSpecialEffectLocBJ(PolarProjectionBJ(GetUnitLoc(udg_TK5),50.,225.),"Objects\\\\Spawnmodels\\\\Human\\\\SmallFlameSpawn\\\\SmallFlameSpawn.mdl")
call AddSpecialEffectLocBJ(PolarProjectionBJ(GetUnitLoc(udg_TK5),100.,270.),"Objects\\\\Spawnmodels\\\\Other\\\\NeutralBuildingExplosion\\\\NeutralBuildingExplosion.mdl")
call AddSpecialEffectLocBJ(PolarProjectionBJ(GetUnitLoc(udg_TK5),50.,135.),"Objects\\\\Spawnmodels\\\\Human\\\\SmallFlameSpawn\\\\SmallFlameSpawn.mdl")
call DestroyEffect(udg_TK3)
call PauseUnit(udg_TK2,false)
call PauseUnit(udg_TK5,false)
call SetUnitInvulnerable(GetTriggerUnit(),false)
call SetUnitPathing(udg_TK2,true)
endfunction
新阴流最终秘剑.转
function Trig_h8_Conditions takes nothing returns boolean
return(GetSpellAbilityId()=='A07Q')and(IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO))
endfunction
function Trig_h8_Func022C takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A07Q',GetTriggerUnit())==1)
endfunction
function Trig_h8_Func023C takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A07Q',GetTriggerUnit())==2)
endfunction
function Trig_h8_Actions takes nothing returns nothing
set udg_U999=GetSpellTargetUnit()
set udg_U333=GetTriggerUnit()
call CreateFogModifierRadiusLocBJ(true,GetTriggerPlayer(),FOG_OF_WAR_VISIBLE,GetUnitLoc(GetSpellTargetUnit()),1000.)
set udg_U222=bj_lastCreatedFogModifier
call SetUnitInvulnerable(GetSpellTargetUnit(),true)
call PauseUnit(GetSpellTargetUnit(),true)
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=5
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call CreateNUnitsAtLoc(1,'o014',GetTriggerPlayer(),GetUnitLoc(GetTriggerUnit()),GetUnitFacing(GetTriggerUnit()))
call SetUnitVertexColorBJ(bj_lastCreatedUnit,'d','d','d',(20.*I2R((bj_forLoopAIndex-1))))
set udg_U111[bj_forLoopAIndex]=bj_lastCreatedUnit
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call ShowUnitHide(GetTriggerUnit())
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=5
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetUnitPositionLocFacingLocBJ(udg_U111[bj_forLoopAIndex],PolarProjectionBJ(GetUnitLoc(udg_U999),200.,(72.*I2R(bj_forLoopAIndex))),GetUnitLoc(udg_U999))
call SetUnitVertexColorBJ(udg_U111[bj_forLoopAIndex],'d','d','d',.0)
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call PolledWait(.2)
set bj_forLoopBIndex=1
set bj_forLoopBIndexEnd=3
loop
exitwhen bj_forLoopBIndex>bj_forLoopBIndexEnd
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=5
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetUnitAnimation(udg_U111[bj_forLoopAIndex],"spin")
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call StartTimerBJ(udg_U444,true,.07)
call SetUnitAnimation(udg_U999,"death")
call AddSpecialEffectTargetUnitBJ("origin",udg_U999,"Objects\\\\Spawnmodels\\\\Human\\\\HumanLargeDeathExplode\\\\HumanLargeDeathExplode.mdl")
call PolledWait(.35)
call SetUnitAnimation(udg_U999,"death")
call DisableTrigger(gg_trg_g3)
call DisableTrigger(gg_trg_g2)
call DisableTrigger(gg_trg_g0)
call DisableTrigger(gg_trg_g1)
call PauseTimerBJ(true,udg_U444)
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=5
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetUnitPositionLocFacingLocBJ(udg_U111[bj_forLoopAIndex],PolarProjectionBJ(GetUnitLoc(udg_U999),200.,(GetUnitFacing(udg_U111[bj_forLoopAIndex])+72.)),GetUnitLoc(udg_U999))
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call PolledWait(.25)
set bj_forLoopBIndex=bj_forLoopBIndex+1
endloop
call ResetUnitAnimation(udg_U999)
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=5
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetUnitPositionLocFacingLocBJ(udg_U111[bj_forLoopAIndex],PolarProjectionBJ(GetUnitLoc(udg_U999),400.,GetUnitFacing(udg_U999)),GetUnitLoc(udg_U999))
call SetUnitVertexColorBJ(udg_U111[bj_forLoopAIndex],'d','d','d',(20.*I2R((bj_forLoopAIndex-1))))
call SetUnitTimeScalePercent(udg_U111[bj_forLoopAIndex],70.)
call ResetUnitAnimation(udg_U111[bj_forLoopAIndex])
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=5
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetUnitAnimation(udg_U111[bj_forLoopAIndex],"ready")
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call PolledWait(.3)
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=5
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetUnitAnimation(udg_U111[bj_forLoopAIndex],"slam")
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call StartTimerBJ(udg_U444,true,.07)
call PolledWait(.3)
call AddSpecialEffectTargetUnitBJ("origin",udg_U999,"Objects\\\\Spawnmodels\\\\Human\\\\HumanBlood\\\\HumanBloodKnight.mdl")
call CinematicFadeBJ(2,1.,"ReplaceableTextures\\\\CameraMasks\\\\DiagonalSlash_mask.blp",100.,0,0,50.)
call SetUnitInvulnerable(udg_U999,false)
if(Trig_h8_Func022C())then
call UnitDamageTargetBJ(udg_U333,udg_U999,1450.,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_MAGIC)
endif
if(Trig_h8_Func023C())then
call UnitDamageTargetBJ(udg_U333,udg_U999,1800.,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_MAGIC)
endif
call PauseUnit(udg_U999,false)
call PolledWait(.7)
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=5
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetUnitAnimation(udg_U111[bj_forLoopAIndex],"ready")
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call DisableTrigger(gg_trg_g3)
call DisableTrigger(gg_trg_g2)
call DisableTrigger(gg_trg_g0)
call DisableTrigger(gg_trg_g1)
call PauseTimerBJ(true,udg_U444)
call SetUnitPositionLocFacingBJ(udg_U333,GetUnitLoc(udg_U111[1]),GetUnitFacing(udg_U111[1]))
call PolledWait(.25)
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=5
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call RemoveUnit(udg_U111[bj_forLoopAIndex])
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call DestroyFogModifier(udg_U222)
call ShowUnitShow(udg_U333)
endfunction |
|