遊客 :  加入家族 | 註冊 | 登入 | 會員

測式子版分類用 » 測試文章

Delta Weapon(delta4)

管理員
帖子 5
發表於 2013-11-26 14:36
#1 私人訊息  頂部 
As a whole, we have been assaulted. Our integrity and our way of life have been deeply challenged.
Never before have entire worlds been so drained of life, never before have men gone so mad, never before have the sick and twisted held their heads so high amongst the righteous and vital.
Yet never before in our grand history has humanity stood so united.

Tonight, we are finally poised to unify all humanity under one flag.
Tonight, we are committing ourselves to security, stability, and sanity.
Tonight, I speak for all men.

Let those who hate and destroy tremble. Let those who yearn for a better time rejoice; for that time is fast incoming.
With the final signature by Representative Mjin Yao, we will no longer be Americans, no longer be Russians, no longer be Chinese or Martian or from Sjelt Inda, no longer rich, no longer poor, no longer anything but this;
Human.

Our charter in its most basic form reads thus:
1. Advance the cause of human happiness.
2. Ensure the security of all things ours.


The flag of United Security Initiative.


Delta Weapon(delta4)

管理員
帖子 5
發表於 2013-11-26 14:38
#2 私人訊息  頂部 

Delta Weapon(delta4)

管理員
帖子 5
發表於 2013-11-26 14:40
#3 私人訊息  頂部 
<div align=center><object><embed src='http://www.GamesForWork.com/games/swf/R-Type - Stage 02_November_11th_2011.swf' quality='autohigh' wmode='direct'  width='768' height='512' name='gameObj' align='middle' allowScriptAccess='always' allowFullScreen='false' type='application/x-shockwave-flash' pluginspage='http://www.adobe.com/go/getflashplayer'/></object><br><font face=verdana size=1><a href='http://www.gamesforwork.com/' target='_blank'>10 daily games at gamesforwork.com</a></font></div>

文章內不能使用HTML代碼.

[ 本帖最後由 delta4 於 2013-11-26 14:46 編輯 ]
Delta Weapon(delta4)

管理員
帖子 5
發表於 2013-11-26 14:48
#4 私人訊息  頂部 

Delta Weapon(delta4)

管理員
帖子 5
發表於 2013-11-26 17:18
#5 私人訊息  頂部 


function IC_Loop takes nothing returns nothing
    local real T = 0
    local integer i = 1
    local unit U
    local unit U1
    local real x
    local real y
    local integer ix = 1
    local integer level
    loop
        exitwhen i > udg_IC_Counter
        if LoadBoolean(udg_IC_HA, i, 4) then
            set T = LoadReal(udg_IC_HA, i, 1)
            call SaveReal(udg_IC_HA, i, 1, T - 0.03125)
            if T <= 0.03125 then
                if LoadBoolean(udg_IC_HA, i, -1) then
                    set level = LoadInteger(udg_IC_HA, i, 0)
                    set x = LoadReal(udg_IC_HA, i, 2)
                    set y = LoadReal(udg_IC_HA, i, 3)
                    set U1 = LoadUnitHandle(udg_IC_HA, i, 5)
                    set U = CreateUnit(GetOwningPlayer(U1), udg_IC_Dummy, x, y, 0)
                    set udg_KB3D_AllowOutSiding = true
                    set udg_KB3D_Angle = 0
                    set udg_KB3D_AoE = udg_IC_AoE[level]
                    set udg_KB3D_AoEEndDamage = udg_IC_EndDamage[level]
                    set udg_KB3D_DamageType = udg_IC_DType
                    set udg_KB3D_AttackType = udg_IC_AType
                    set udg_KB3D_Damager = U1
                    set udg_KB3D_DestroyTree = udg_IC_DestroyTree
                    set udg_KB3D_AoEKB = true
                    set udg_KB3D_Range = 1
                    set udg_KB3D_Speed = 1/(udg_IC_Delay[level])
                    set udg_KB3D_Unit = U
                    set udg_KB3D_UnpathableStop = false
                    set udg_KB3D_Zoffset = 0
                    set udg_KB3D_KillatEnd = true
                    set udg_KB3D_iKB = false
                    set udg_KB3D_AoEDamage = udg_IC_DPS[level]
                    set udg_KB3D_D_MAGIC_IMMINUE = udg_IC_Target_Magic_Imminue
                    set udg_KB3D_D_ALLY = udg_IC_Target_Allies
                    set udg_KB3D_D_MECHANICAL = udg_IC_Target_Mechanicals
                    set udg_KB3D_D_STRUCTURE = udg_IC_Target_Structures
                    call TriggerEvaluate( udg_KB3D_Registration )
                    //
                    set U = CreateUnit(GetOwningPlayer(U1), udg_IC_Dummy, x, y, GetRandomReal(0,360))
                    call SaveEffectHandle(udg_IC_HA, i, 2, AddSpecialEffectTarget(udg_IC_MissileFx, U, "origin"))
                    call SaveReal(udg_IC_HA, i, 1, udg_IC_Delay[level])
                    call SaveReal(udg_IC_HA, i, 0, udg_IC_Delay[level])
                    call SaveReal(udg_IC_HA, i, 6, x)
                    call SaveReal(udg_IC_HA, i, 7, y)
                    call SavePlayerHandle(udg_IC_HA, i, 8, GetOwningPlayer(U1))
                    call SaveInteger(udg_IC_HA, i, 3, level)
                    call SaveBoolean(udg_IC_HA, i, -1, false)
                    call SetUnitFlyHeight(U, udg_IC_Zoffset[level], 0)
                    call SetUnitFlyHeight(U, 0, udg_IC_Zoffset[level]/(udg_IC_Delay[level]))
                    call SetUnitScale(U, 2, 0, 0)
                    call UnitApplyTimedLife(U, 'BTLF', udg_IC_Delay[level])
                    call RemoveSavedHandle(udg_IC_HA, i, 5)
                else
                    set level = LoadInteger(udg_IC_HA, i, 3)
                    set x = LoadReal(udg_IC_HA, i, 6)
                    set y = LoadReal(udg_IC_HA, i, 7)
                    call SaveBoolean(udg_IC_HA, i, 4, false)
                    call DestroyEffect(LoadEffectHandle(udg_IC_HA, i, 2))
                    set U = CreateUnit(Player(15), udg_IC_Dummy, x, y, 0)
                    call SetUnitScale(U, udg_IC_AoE[level]*0.008, 0, 0)
                    call DestroyEffect(AddSpecialEffectTarget(udg_IC_Fx1, U, "origin"))
                    call KillUnit(U)
                    //Boulders
                    loop
                        exitwhen ix == udg_IC_Shards[level]
                        set udg_KB3D_Angle = GetRandomReal(0,360)
                        set U = CreateUnit(LoadPlayerHandle(udg_IC_HA, i, 8), udg_IC_Dummy, x, y, udg_KB3D_Angle)
                        set udg_KB3D_AllowOutSiding = true
                        set udg_KB3D_AoE = udg_IC_DAoE[level]
                        set udg_KB3D_AoEEndDamage = udg_IC_SpreadDamage[level]
                        set udg_KB3D_DamageType = udg_IC_DType
                        set udg_KB3D_AttackType = udg_IC_AType
                        set udg_KB3D_Damager = U
                        set udg_KB3D_TrailFx = udg_IC_Fx2
                        set udg_KB3D_Fx_Attach = "origin"
                        set udg_KB3D_DestroyTree = udg_IC_DestroyTree
                        set udg_KB3D_Range = GetRandomReal(udg_IC_XAoE[level]/4, udg_IC_XAoE[level])
                        set udg_KB3D_Speed = 450
                        set udg_KB3D_Unit = U
                        set udg_KB3D_D_MAGIC_IMMINUE = udg_IC_Target_Magic_Imminue
                        set udg_KB3D_D_ALLY = udg_IC_Target_Allies
                        set udg_KB3D_D_MECHANICAL = udg_IC_Target_Mechanicals
                        set udg_KB3D_D_STRUCTURE = udg_IC_Target_Structures
                        set udg_KB3D_UnpathableStop = false
                        set udg_KB3D_Zoffset = udg_IC_Zoffset[level]/1.5
                        set udg_KB3D_EndFx = udg_IC_Fx3
                        set udg_KB3D_KillatEnd = true
                        set udg_KB3D_iKB = udg_IC_iKB_IntelligentTargeting
                        call TriggerEvaluate( udg_KB3D_Registration )
                        set ix = ix + 1
                    endloop
                    call FlushChildHashtable(udg_IC_HA, i)
                    set udg_IC_Instances = udg_IC_Instances - 1
                    if udg_IC_Instances == 0 then
                        call PauseTimer(udg_IC_Timer)
                        set udg_IC_Counter = 0
                    endif
                endif
            endif
        endif
        set i = i + 1
    endloop
    set U1 = null
    set U = null
endfunction

function IC_Cast takes nothing returns boolean
    local unit U
    local unit u1
    local integer level
    local integer i
    local real x
    local real y
    if GetSpellAbilityId() == udg_IC_Ability then
        set i = 0
        set U = GetTriggerUnit()
        set level = GetUnitAbilityLevel(U, udg_IC_Ability)
        set x = GetSpellTargetX()
        set y = GetSpellTargetY()
        set udg_IC_Instances = udg_IC_Instances + 1
        set udg_IC_Counter = udg_IC_Counter + 1
        call SaveInteger(udg_IC_HA, udg_IC_Counter, 0, level)
        call SaveReal(udg_IC_HA, udg_IC_Counter, 1, udg_IC_Delay[level])
        call SaveReal(udg_IC_HA, udg_IC_Counter, 2, x)
        call SaveReal(udg_IC_HA, udg_IC_Counter, 3, y)
        call SaveBoolean(udg_IC_HA, udg_IC_Counter, 4, true)
        call SaveBoolean(udg_IC_HA, udg_IC_Counter, -1, true)
        call SaveUnitHandle(udg_IC_HA, udg_IC_Counter, 5, U)
        set u1 = CreateUnit(Player(15), udg_IC_Dummy, x, y, 0)
        call SetUnitScale(u1, udg_IC_AoE[level]*0.008, 0, 0)
        call DestroyEffect(AddSpecialEffectTarget(udg_IC_Fx1, u1, "origin"))
        call KillUnit(u1)
        loop
            exitwhen i == udg_IC_Flames[level]
            //Register the KB3D
            set u1 = CreateUnit(GetTriggerPlayer(), udg_IC_Dummy, x, y, 0)
            set udg_KB3D_AllowOutSiding = true
            set udg_KB3D_Angle = 360/udg_IC_Flames[level] * i
            set udg_KB3D_AoE = udg_IC_DAoE[level]
            set udg_KB3D_Arc = udg_IC_Delay[level]*4
            set udg_KB3D_AoEDamage = udg_IC_DPS[level]
            set udg_KB3D_DamageType = udg_IC_DType
            set udg_KB3D_AttackType = udg_IC_AType
            set udg_KB3D_Damager = U
            set udg_KB3D_DestroyTree = udg_IC_DestroyTree
            set udg_KB3D_Range = udg_IC_Delay[level]*udg_IC_AoE[level]*2
            set udg_KB3D_Speed = udg_IC_AoE[level]
            set udg_KB3D_TrailFx = udg_IC_MissileFx
            set udg_KB3D_Fx_Attach = "origin"
            set udg_KB3D_Unit = u1
            set udg_KB3D_iKB = udg_IC_iKB_IntelligentTargeting
            set udg_KB3D_UnpathableStop = false
            set udg_KB3D_Zoffset = udg_IC_Zoffset[level]
            set udg_KB3D_KillatTime = udg_IC_Delay[level]
            set udg_KB3D_D_MAGIC_IMMINUE = udg_IC_Target_Magic_Imminue
            set udg_KB3D_D_ALLY = udg_IC_Target_Allies
            set udg_KB3D_D_MECHANICAL = udg_IC_Target_Mechanicals
            set udg_KB3D_D_STRUCTURE = udg_IC_Target_Structures
            call TriggerEvaluate( udg_KB3D_Registration )
            set i = i + 1
        endloop
        if (udg_IC_Counter == 1) then
            call TimerStart(udg_IC_Timer, 0.031250000, true, function IC_Loop )
        endif
        set U = null
        set u1 = null
    endif
    return false
endfunction

//===========================================================================
function InitTrig_Infernal_Cyclone takes nothing returns nothing
    local trigger T = CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ(T, EVENT_PLAYER_UNIT_SPELL_EFFECT)
    call TriggerAddCondition( T, Condition( function IC_Cast ) )
    set udg_IC_HA = InitHashtable()
endfunction