⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 draw magic, effects etc..vb.svn-base

📁 MirUnleashed vb.net Module modMainServer Public WithEvents Socket As New WinsockServer Pub
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
Imports Microsoft.DirectX
Imports Microsoft.DirectX.Direct3D

Module MirMagic
    Dim TempX, TempY As Integer

    Public Sub DrawActorHumEffect(ByVal Image As Integer)

        Dim Render As Boolean
        If ActorLook() >= 18 And ActorLook() < 22 Then
            'get first image not the 10000000000000th one 
            Image = Image - (18 * 600)

            'If Actor.Look > 18 Then Image = Image - 600

            If WIL_HumEffectImage.ImageLoaded(Image) = False Then
                WIL_HumEffectImage.ImageLoaded(Image) = True
                LoadWILHumEffectImage(Image)
            End If

            Render = True
        End If

        If Render = True Then
            GameSprite.Begin(SpriteFlags.AlphaBlend)

            D3D.RenderState.SourceBlend = Blend.SourceColor
            D3D.RenderState.DestinationBlend = Blend.One

            TempX = (GameWidth / 2) - 30 + WIL_HumEffectImage.ImageX(Image)
            TempY = (GameHeight / 2) - 72 + WIL_HumEffectImage.ImageY(Image)


            If WIL_HumEffectImage.ImageLoaded(Image) = True Then GameSprite.Draw(WIL_HumEffectImage.ImageTexture(Image), Rectangle.Empty, New Microsoft.DirectX.Vector3(0, 0, 0), New Microsoft.DirectX.Vector3(TempX, TempY, 0), Color.White)
            GameSprite.End()
        End If
    End Sub

    Public Sub DrawPlayerHumEffect(ByVal Index As Integer, ByVal Image As Integer, ByVal BaseX As Single, ByVal BaseY As Single)

        Dim Render As Boolean
        If PlayerLook(Index) >= 18 And PlayerLook(Index) < 22 Then
            'get first image not the 10000000000000th one 
            Image = Image - (18 * 600)

            'If Actor.Look > 18 Then Image = Image - 600


            If WIL_HumEffectImage.ImageLoaded(Image) = False Then
                WIL_HumEffectImage.ImageLoaded(Image) = True
                LoadWILHumEffectImage(Image)
            End If

            Render = True
        End If

        If Render = True Then
            GameSprite.Begin(SpriteFlags.AlphaBlend)

            D3D.RenderState.SourceBlend = Blend.SourceColor
            D3D.RenderState.DestinationBlend = Blend.One

            TempX = (GameWidth / 2) + (48 * (Player(Index).CurrentX - BaseX)) - 30 + WIL_HumEffectImage.ImageX(Image)
            TempY = (GameHeight / 2) + (32 * (Player(Index).CurrentY - BaseY)) - 72 + WIL_HumEffectImage.ImageY(Image)


            If WIL_HumEffectImage.ImageLoaded(Image) = True Then GameSprite.Draw(WIL_HumEffectImage.ImageTexture(Image), Rectangle.Empty, New Microsoft.DirectX.Vector3(0, 0, 0), New Microsoft.DirectX.Vector3(TempX, TempY, 0), Color.White)
            GameSprite.End()
        End If
    End Sub

    Public Sub DrawMagic(ByVal Index As Integer)
        Dim TempX As Integer
        Dim TempY As Integer
        Dim TempInt As Integer
        Dim BaseX As Single
        Dim BaseY As Single

        BaseX = Actor.CurrentX
        BaseY = Actor.CurrentY

        If Magic(Index).FollowPlayer = True And (Magic(Index).FollowPlayerID) = Actor.ServerID Then
            Magic(Index).X = Actor.X
            Magic(Index).Y = Actor.Y
            Magic(Index).CordX = Actor.CurrentX
            Magic(Index).CordY = Actor.CurrentY
        ElseIf Magic(Index).FollowPlayer = True And Player(PlayerGameIndex(Magic(Index).FollowPlayerID)).Exist = True Then
            Magic(Index).X = Player(PlayerGameIndex(Magic(Index).FollowPlayerID)).X
            Magic(Index).Y = Player(PlayerGameIndex(Magic(Index).FollowPlayerID)).Y
            Magic(Index).CordX = Player(PlayerGameIndex(Magic(Index).FollowPlayerID)).CurrentX
            Magic(Index).CordY = Player(PlayerGameIndex(Magic(Index).FollowPlayerID)).CurrentY
        ElseIf Magic(Index).FollowMob = True Then
            Magic(Index).X = Mob(MobGameIndex(Magic(Index).FollowPlayerID)).X
            Magic(Index).Y = Mob(MobGameIndex(Magic(Index).FollowPlayerID)).Y
            Magic(Index).CordX = Mob(MobGameIndex(Magic(Index).FollowPlayerID)).CordX
            Magic(Index).CordY = Mob(MobGameIndex(Magic(Index).FollowPlayerID)).CordY
        End If

        TempInt = Magic(Index).StartFrame + Magic(Index).Animation

        D3D.RenderState.AlphaBlendEnable = True

        D3D.RenderState.SourceBlend = Blend.SourceColor
        D3D.RenderState.DestinationBlend = Blend.One

        If WIL_MagicImage(Magic(Index).MagicFile).ImageLoaded(TempInt) = False Then
            WIL_MagicImage(Magic(Index).MagicFile).ImageLoaded(TempInt) = True
            LoadWILMagicImage(Magic(Index).MagicFile, TempInt)
        End If

        TempX = (GameWidth / 2) + (48 * (Magic(Index).CordX - BaseX)) - 30 + WIL_MagicImage(Magic(Index).MagicFile).ImageX(TempInt)
        TempY = (GameHeight / 2) + (32 * (Magic(Index).CordY - BaseY)) - 75 + WIL_MagicImage(Magic(Index).MagicFile).ImageY(TempInt) + 8 - 10

        If WIL_MagicImage(Magic(Index).MagicFile).ImageLoaded(TempInt) = True Then GameSprite.Draw(WIL_MagicImage(Magic(Index).MagicFile).ImageTexture(TempInt), Rectangle.Empty, New Microsoft.DirectX.Vector3(0, 0, 0), New Microsoft.DirectX.Vector3(TempX, TempY, 0), Color.White)

    End Sub


    Public Sub AddMagic(ByVal MagicFile As Short, ByVal MagicStart As Integer, ByVal MagicEnd As Integer, ByVal CordX As Short, ByVal CordY As Short, ByVal LinkedToPlayer As Boolean, ByVal LinkedToMob As Boolean, ByVal LinkedToPlayerID As Integer, ByVal LinkedToMobID As Integer, ByVal MagicLight As Short, ByVal TickMiss As Short, Optional ByVal SpecialType As Integer = 0)

        Dim I As Integer

        For I = 0 To 1000

            If Magic(I).Exist = False Then
                Magic(I).Exist = True
                Magic(I).TickMiss = TickMiss
                Magic(I).CordX = CordX
                Magic(I).CordY = CordY
                Magic(I).X = CordX
                Magic(I).Y = CordY
                Magic(I).EndFrame = MagicEnd
                Magic(I).StartFrame = MagicStart
                Magic(I).MagicFile = MagicFile
                Magic(I).Light = MagicLight
                Magic(I).FollowMob = LinkedToMob
                Magic(I).FollowPlayer = LinkedToPlayer
                Magic(I).FollowMobID = LinkedToMobID
                Magic(I).FollowPlayerID = LinkedToPlayerID

                Magic(I).Animation = 0
                TotalMagic = TotalMagic + 1

                If Magic(I).Light > 0 Then
                    Magic(I).LightIndex = AddLight(6, 0, 0, I)
                End If

                Exit For
            End If

        Next I

    End Sub

    Public Sub RemoveMagic(ByVal Index As Integer)
        Magic(Index).Exist = False

        If Magic(Index).Light > 0 Then
            RemoveLight(Magic(Index).LightIndex)
        End If

        TotalMagic = TotalMagic - 1
    End Sub

    Public Sub MakeLevelUpMagic(ByVal PlayerServerID As Integer)
        'PlaySound("levelup.wav")

        If PlayerServerID = Actor.ServerID Then
            AddMagic(2, 1190, 1210, Actor.X, Actor.Y, True, False, PlayerServerID, 0, 1, 2)
            MagicFogColour = Color.FromArgb(15, 60, 15, 165)
        ElseIf Player(PlayerGameIndex(PlayerServerID)).Exist = True Then
            AddMagic(2, 1190, 1210, Player(PlayerGameIndex(PlayerServerID)).X, Player(PlayerGameIndex(PlayerServerID)).Y, True, False, PlayerServerID, 0, 1, 2)
        End If
    End Sub

    Public Sub MakeHealingMagicPart1(ByVal PlayerServerID As Integer)
        If PlayerServerID = Actor.ServerID Then
            AddMagic(1, 200, 209, Actor.X, Actor.Y, True, False, PlayerServerID, 0, 1, 2)
        End If
    End Sub

    Public Sub MakeFlameFieldMagic(ByVal CordX As Short, ByVal CordY As Short)
        'PlaySound("M45-0.wav")
        AddMagic(2, 910, 932, CordX, CordY, True, False, Actor.ServerID, 0, 2, 1)
        MagicFogColour = Color.FromArgb(1, 255, 0, 0)
    End Sub

    Public Sub MakeThunderStormMagic(ByVal CordX As Short, ByVal CordY As Short)
        'PlaySound("M24-1.wav")
        AddMagic(1, 1680, 1689, CordX, CordY, True, False, Actor.ServerID, 0, 2, 1)
        MagicFogColour = Color.FromArgb(1, 0, 0, 241)
    End Sub

    Public Sub MakeThunderBoltMagic1(ByVal CordX As Short, ByVal CordY As Short)
        AddMagic(2, 20, 22, CordX, CordY, True, False, 0, 0, 2, 2)
        MagicFogColour = Color.FromArgb(1, 0, 0, 241)
    End Sub

    Public Sub MakeThunderBoltMagic2(ByVal CordX As Short, ByVal CordY As Short)
        'PlaySound("M11-2.WAV")
        AddMagic(2, 10, 14, CordX, CordY, False, False, 0, 0, 2, 1)
        MagicFogColour = Color.FromArgb(1, 0, 0, 241)
    End Sub

    Public Sub MakeFlameDisrupterMagic1(ByVal CordX As Short, ByVal CordY As Short)
        AddMagic(1, 131, 136, CordX, CordY, False, False, 0, 0, 2, 1)
    End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -