├── .gitattributes ├── .gitignore ├── .tfignore ├── LICENSE ├── Orion Client ├── ApplicationEvents.vb ├── Arvo-Regular.ttf ├── Classes │ └── clsByteBuffer.vb ├── Forms │ ├── frmEditor_Animation.Designer.vb │ ├── frmEditor_Animation.resx │ ├── frmEditor_Animation.vb │ ├── frmEditor_Item.Designer.vb │ ├── frmEditor_Item.resx │ ├── frmEditor_Item.vb │ ├── frmEditor_Map.Designer.vb │ ├── frmEditor_Map.resx │ ├── frmEditor_Map.vb │ ├── frmEditor_MapProperties.Designer.vb │ ├── frmEditor_MapProperties.resx │ ├── frmEditor_MapProperties.vb │ ├── frmEditor_NPC.Designer.vb │ ├── frmEditor_NPC.resx │ ├── frmEditor_NPC.vb │ ├── frmEditor_Resource.Designer.vb │ ├── frmEditor_Resource.resx │ ├── frmEditor_Resource.vb │ ├── frmEditor_Shop.Designer.vb │ ├── frmEditor_Shop.resx │ ├── frmEditor_Shop.vb │ ├── frmEditor_Spell.Designer.vb │ ├── frmEditor_Spell.resx │ ├── frmEditor_Spell.vb │ ├── frmLoad.Designer.vb │ ├── frmLoad.resx │ ├── frmLoad.vb │ ├── frmMainGame.Designer.vb │ ├── frmMainGame.resx │ ├── frmMainGame.vb │ ├── frmMenu.Designer.vb │ ├── frmMenu.resx │ └── frmMenu.vb ├── Modules │ ├── modClientTCP.vb │ ├── modConstants.vb │ ├── modDataBase.vb │ ├── modEnumerations.vb │ ├── modGameEditors.vb │ ├── modGameLogic.vb │ ├── modGeneral.vb │ ├── modGlobals.vb │ ├── modGraphics.vb │ ├── modHandleData.vb │ ├── modINIAccess.vb │ ├── modText.vb │ ├── modTypes.vb │ └── modUpdateUI.vb ├── My Project │ ├── Application.Designer.vb │ ├── Application.myapp │ ├── AssemblyInfo.vb │ ├── Resources.Designer.vb │ ├── Resources.resx │ ├── Settings.Designer.vb │ ├── Settings.settings │ └── app.manifest ├── Orion Client.vbproj ├── app.config ├── csfml-audio-2.dll ├── csfml-graphics-2.dll ├── csfml-window-2.dll ├── data files │ ├── Credits.txt │ ├── config.ini │ ├── graphics │ │ ├── GUI │ │ │ ├── EXPBar.png │ │ │ ├── EXPBarEmpty.png │ │ │ ├── HPBar.png │ │ │ ├── HPBarEmpty.png │ │ │ ├── ManaBar.png │ │ │ └── ManaBarEmpty.png │ │ ├── MapEditorSelect.png │ │ ├── actionbar │ │ │ ├── Character.png │ │ │ ├── Exit.png │ │ │ ├── Inventory.png │ │ │ ├── Options.png │ │ │ ├── Skills.png │ │ │ └── Trade.png │ │ ├── blood.png │ │ ├── characters │ │ │ ├── 1.png │ │ │ └── 2.png │ │ ├── direction.png │ │ ├── misc.png │ │ └── tilesets │ │ │ ├── 1.png │ │ │ ├── 2.png │ │ │ └── 3.png │ └── maps │ │ ├── map1.map │ │ └── map2.map ├── libsndfile-1.dll ├── licenses │ ├── Eclipse Public License v1.1.txt │ ├── Graphics (Macks) License.txt │ ├── SFML License.txt │ └── SIL Open Font License.txt ├── openal32.dll ├── sfmlnet-audio-2.dll ├── sfmlnet-graphics-2.dll └── sfmlnet-window-2.dll ├── Orion Game Engine.sln ├── Orion Server ├── Classes │ └── clsByteBuffer.vb ├── Forms │ ├── frmServer.Designer.vb │ ├── frmServer.resx │ └── frmServer.vb ├── Modules │ ├── modConstants.vb │ ├── modDatabase.vb │ ├── modEnumerations.vb │ ├── modGameLogic.vb │ ├── modGeneral.vb │ ├── modGlobals.vb │ ├── modHandleData.vb │ ├── modINIAccess.vb │ ├── modPlayers.vb │ ├── modServerLoop.vb │ ├── modServerTCP.vb │ ├── modTemps.vb │ └── modTypes.vb ├── My Project │ ├── Application.Designer.vb │ ├── Application.myapp │ ├── AssemblyInfo.vb │ ├── Resources.Designer.vb │ ├── Resources.resx │ ├── Settings.Designer.vb │ └── Settings.settings ├── Orion Server.vbproj └── app.config └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | Thumbs.db 2 | *.obj 3 | *.exe 4 | *.pdb 5 | *.user 6 | *.aps 7 | *.pch 8 | *.vspscc 9 | *_i.c 10 | *_p.c 11 | *.ncb 12 | *.suo 13 | *.sln.docstates 14 | *.tlb 15 | *.tlh 16 | *.bak 17 | *.cache 18 | *.ilk 19 | *.log 20 | [Bb]in 21 | [Dd]ebug*/ 22 | *.lib 23 | *.sbr 24 | obj/ 25 | [Rr]elease*/ 26 | _ReSharper*/ 27 | [Tt]est[Rr]esult* 28 | *.vssscc 29 | $tf*/ 30 | *.db -------------------------------------------------------------------------------- /.tfignore: -------------------------------------------------------------------------------- 1 | \.git -------------------------------------------------------------------------------- /Orion Client/ApplicationEvents.vb: -------------------------------------------------------------------------------- 1 | Namespace My 2 | 3 | ' The following events are available for MyApplication: 4 | ' 5 | ' Startup: Raised when the application starts, before the startup form is created. 6 | ' Shutdown: Raised after all application forms are closed. This event is not raised if the application terminates abnormally. 7 | ' UnhandledException: Raised if the application encounters an unhandled exception. 8 | ' StartupNextInstance: Raised when launching a single-instance application and the application is already active. 9 | ' NetworkAvailabilityChanged: Raised when the network connection is connected or disconnected. 10 | Partial Friend Class MyApplication 11 | 12 | End Class 13 | 14 | End Namespace 15 | 16 | -------------------------------------------------------------------------------- /Orion Client/Arvo-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/Arvo-Regular.ttf -------------------------------------------------------------------------------- /Orion Client/Classes/clsByteBuffer.vb: -------------------------------------------------------------------------------- 1 | '+-----------------------Class--------------------------+ 2 | Imports System.Text 3 | Public Class ByteBuffer 4 | Implements IDisposable 5 | Dim Buff As List(Of Byte) 6 | Dim readBuff As Byte() 7 | Dim readpos As Integer 8 | Dim buffUpdated = False 9 | Public Sub New() 10 | Buff = New List(Of Byte) 11 | readpos = 0 12 | End Sub 13 | Public Function GetReadPos() As Long 14 | GetReadPos = readpos 15 | End Function 16 | Public Function ToArray() As Byte() 17 | Return Buff.ToArray 18 | End Function 19 | Public Function Count() As Integer 20 | Return Buff.Count 21 | End Function 22 | Public Function Length() As Integer 23 | Length = Count() - readpos 24 | End Function 25 | Public Sub Clear() 26 | Buff.Clear() 27 | readpos = 0 28 | End Sub 29 | Public Sub WriteBytes(ByVal Input() As Byte) 30 | Buff.AddRange(Input) 31 | buffUpdated = True 32 | End Sub 33 | 34 | Public Sub WriteShort(ByVal Input As Short) 35 | Buff.AddRange(BitConverter.GetBytes(Input)) 36 | buffUpdated = True 37 | End Sub 38 | Public Sub WriteInteger(ByVal Input As Integer) 39 | Buff.AddRange(BitConverter.GetBytes(Input)) 40 | buffUpdated = True 41 | End Sub 42 | Public Sub WriteLong(ByVal Input As Long) 43 | Buff.AddRange(BitConverter.GetBytes(Input)) 44 | buffUpdated = True 45 | End Sub 46 | Public Sub WriteString(ByVal Input As String) 47 | Buff.AddRange(BitConverter.GetBytes(Input.Length)) 48 | Buff.AddRange(Encoding.ASCII.GetBytes(Input)) 49 | buffUpdated = True 50 | End Sub 51 | Public Function ReadString(Optional ByVal Peek As Boolean = True) As String 52 | Dim Len As Integer = ReadInteger(True) 53 | If buffUpdated Then 54 | readBuff = Buff.ToArray 55 | buffUpdated = False 56 | End If 57 | Dim ret As String = Encoding.ASCII.GetString(readBuff, readpos, Len) 58 | If Peek And Buff.Count > readpos Then 59 | If ret.Length > 0 Then 60 | readpos += Len 61 | End If 62 | End If 63 | Return ret 64 | End Function 65 | Public Function ReadBytes(ByVal Length As Integer, Optional ByRef Peek As Boolean = True) As Byte() 66 | If buffUpdated Then 67 | readBuff = Buff.ToArray 68 | buffUpdated = False 69 | End If 70 | Dim ret() As Byte = Buff.GetRange(readpos, Length).ToArray 71 | If Peek Then readpos += Length 72 | Return ret 73 | End Function 74 | Public Function ReadShort(Optional ByVal peek As Boolean = True) As Short 75 | If Buff.Count > readpos Then 'check to see if this passes the byte count 76 | If buffUpdated Then 77 | readBuff = Buff.ToArray 78 | buffUpdated = False 79 | End If 80 | Dim ret As Short = BitConverter.ToInt16(readBuff, readpos) 81 | If peek And Buff.Count > readpos Then 82 | readpos += 2 83 | End If 84 | Return ret 85 | Else 86 | Throw New Exception("Byte Buffer Past Limit!") 'past byte count throw a new exception 87 | End If 88 | End Function 89 | Public Function ReadInteger(Optional ByVal peek As Boolean = True) As Integer 90 | If Buff.Count > readpos Then 'check to see if this passes the byte count 91 | If buffUpdated Then 92 | readBuff = Buff.ToArray 93 | buffUpdated = False 94 | End If 95 | Dim ret As Integer = BitConverter.ToInt32(readBuff, readpos) 96 | If peek And Buff.Count > readpos Then 97 | readpos += 4 98 | End If 99 | Return ret 100 | Else 101 | Throw New Exception("Byte Buffer Past Limit!") 'past byte count throw a new exception 102 | End If 103 | End Function 104 | Public Function ReadLong(Optional ByVal peek As Boolean = True) As Long 105 | If Buff.Count >= readpos Then 'check to see if this passes the byte count 106 | If buffUpdated Then 107 | readBuff = Buff.ToArray 108 | buffUpdated = False 109 | End If 110 | Dim ret As Long = BitConverter.ToInt64(readBuff, readpos) 111 | If peek And Buff.Count > readpos Then 112 | readpos += 8 113 | End If 114 | Return ret 115 | Else 116 | Throw New Exception("Byte Buffer Past Limit!") 'past byte count throw a new exception 117 | End If 118 | End Function 119 | 120 | Private disposedValue As Boolean = False ' To detect redundant calls 121 | 122 | ' IDisposable 123 | Protected Overridable Sub Dispose(ByVal disposing As Boolean) 124 | If Not Me.disposedValue Then 125 | If disposing Then 126 | Buff.Clear() 127 | End If 128 | readpos = 0 129 | End If 130 | Me.disposedValue = True 131 | End Sub 132 | 133 | #Region " IDisposable Support " 134 | Public Sub Dispose() Implements IDisposable.Dispose 135 | Dispose(True) 136 | GC.SuppressFinalize(Me) 137 | End Sub 138 | #End Region 139 | 140 | End Class 141 | '+-------------------------End Class-------------------+ 142 | 143 | 144 | -------------------------------------------------------------------------------- /Orion Client/Forms/frmEditor_Animation.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /Orion Client/Forms/frmEditor_Animation.vb: -------------------------------------------------------------------------------- 1 | Public Class frmEditor_Animation 2 | 3 | Private Sub scrlSprite0_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlSprite0.ValueChanged, scrlSprite0.Scroll 4 | lblSprite0.Text = "Sprite: " & scrlSprite0.Value 5 | Animation(EditorIndex).Sprite(0) = scrlSprite0.Value 6 | End Sub 7 | 8 | Private Sub scrlSprite1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlSprite1.ValueChanged, scrlSprite1.Scroll 9 | lblSprite1.Text = "Sprite: " & scrlSprite1.Value 10 | Animation(EditorIndex).Sprite(1) = scrlSprite1.Value 11 | End Sub 12 | 13 | Private Sub scrlLoopCount0_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlLoopCount0.ValueChanged 14 | lblLoopCount0.Text = "Loop Count: " & scrlLoopCount0.Value 15 | Animation(EditorIndex).LoopCount(0) = scrlLoopCount0.Value 16 | End Sub 17 | 18 | Private Sub scrlLoopCount1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlLoopCount1.ValueChanged, scrlLoopCount1.Scroll 19 | lblLoopCount1.Text = "Loop Count: " & scrlLoopCount1.Value 20 | Animation(EditorIndex).LoopCount(1) = scrlLoopCount1.Value 21 | End Sub 22 | 23 | Private Sub scrlFrameCount0_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlFrameCount0.ValueChanged 24 | lblFrameCount0.Text = "Frame Count: " & scrlFrameCount0.Value 25 | Animation(EditorIndex).Frames(0) = scrlFrameCount0.Value 26 | End Sub 27 | 28 | Private Sub scrlFrameCount1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlFrameCount1.ValueChanged 29 | lblFrameCount1.Text = "Frame Count: " & scrlFrameCount1.Value 30 | Animation(EditorIndex).Frames(1) = scrlFrameCount1.Value 31 | End Sub 32 | 33 | Private Sub scrlLoopTime0_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlLoopTime0.ValueChanged 34 | lblLoopTime0.Text = "Loop Time: " & scrlLoopTime0.Value 35 | Animation(EditorIndex).looptime(0) = scrlLoopTime0.Value 36 | End Sub 37 | 38 | Private Sub scrlLoopTime1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlLoopTime1.ValueChanged 39 | lblLoopTime1.Text = "Loop Time: " & scrlLoopTime1.Value 40 | Animation(EditorIndex).looptime(1) = scrlLoopTime1.Value 41 | End Sub 42 | 43 | Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click 44 | AnimationEditorOk() 45 | End Sub 46 | 47 | Private Sub txtName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtName.TextChanged 48 | Dim tmpIndex As Long 49 | If EditorIndex = 0 Or EditorIndex > MAX_ANIMATIONS Then Exit Sub 50 | tmpIndex = lstIndex.SelectedIndex 51 | Animation(EditorIndex).Name = Trim$(txtName.Text) 52 | lstIndex.Items.RemoveAt(EditorIndex - 1) 53 | lstIndex.Items.Insert(EditorIndex - 1, EditorIndex & ": " & Animation(EditorIndex).Name) 54 | lstIndex.SelectedIndex = tmpIndex 55 | End Sub 56 | 57 | Private Sub lstIndex_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles lstIndex.MouseClick 58 | AnimationEditorInit() 59 | End Sub 60 | 61 | Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click 62 | Dim tmpIndex As Long 63 | 64 | If EditorIndex = 0 Or EditorIndex > MAX_ANIMATIONS Then Exit Sub 65 | 66 | ClearAnimation(EditorIndex) 67 | 68 | tmpIndex = lstIndex.SelectedIndex 69 | lstIndex.Items.RemoveAt(EditorIndex - 1) 70 | lstIndex.Items.Insert(EditorIndex - 1, EditorIndex & ": " & Animation(EditorIndex).Name) 71 | lstIndex.SelectedIndex = tmpIndex 72 | 73 | AnimationEditorInit() 74 | End Sub 75 | 76 | Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click 77 | AnimationEditorCancel() 78 | End Sub 79 | End Class -------------------------------------------------------------------------------- /Orion Client/Forms/frmEditor_Item.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /Orion Client/Forms/frmEditor_Map.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /Orion Client/Forms/frmEditor_MapProperties.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /Orion Client/Forms/frmEditor_MapProperties.vb: -------------------------------------------------------------------------------- 1 | Imports System.IO 2 | Imports System.Windows.Forms 3 | 4 | Public Class frmEditor_MapProperties 5 | Public cmbNpcs() As cmbNpc 6 | Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click 7 | Me.Dispose() 8 | End Sub 9 | 10 | Private Sub frmEditor_MapProperties_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 11 | Dim X As Long 12 | Dim Y As Long 13 | Dim i As Long 14 | Dim di As New IO.DirectoryInfo(Application.StartupPath & MUSIC_PATH) 15 | Dim aryFi As IO.FileInfo() = di.GetFiles("*.*") 16 | Dim fi As IO.FileInfo 17 | ReDim cmbNpcs(0 To 30) 18 | Dim StartX 19 | Dim StartY 20 | StartX = 6 21 | StartY = 19 22 | 23 | 24 | txtName.Text = Trim$(Map.Name) 25 | ' find the music we have set 26 | lstMusic.Items.Clear() 27 | lstMusic.Items.Add("None") 28 | 29 | For Each fi In aryFi 30 | lstMusic.Items.Add(fi.Name) 31 | Next 32 | 33 | If Trim$(Map.Music) = "None" Then 34 | lstMusic.SelectedIndex = 0 35 | Else 36 | For i = 1 To lstMusic.Items.Count 37 | If lstMusic.Items(i - 1).ToString = Trim$(Map.Music) Then 38 | lstMusic.SelectedIndex = i - 1 39 | Exit For 40 | End If 41 | Next 42 | End If 43 | 44 | ' rest of it 45 | txtUp.Text = CStr(Map.Up) 46 | txtDown.Text = CStr(Map.Down) 47 | txtLeft.Text = CStr(Map.Left) 48 | txtRight.Text = CStr(Map.Right) 49 | cmbMoral.SelectedIndex = Map.Moral 50 | txtBootMap.Text = CStr(Map.BootMap) 51 | txtBootX.Text = CStr(Map.BootX) 52 | txtBootY.Text = CStr(Map.BootY) 53 | 54 | 55 | For i = 1 To 15 56 | cmbNpcs(i) = New cmbNpc 57 | cmbNpcs(i).cmbNpc = New ComboBox 58 | cmbNpcs(i).cmbNpc.Width = 133 59 | cmbNpcs(i).cmbNpc.Height = 21 60 | cmbNpcs(i).cmbNpc.Left = StartX 61 | cmbNpcs(i).cmbNpc.Top = StartY + ((i - 1) * 27) 62 | Me.Controls.Add(cmbNpcs(i).cmbNpc) 63 | cmbNpcs(i).cmbNpc.DropDownStyle = ComboBoxStyle.DropDownList 64 | cmbNpcs(i).cmbNpc.Parent = Me.fraNpcs 65 | Next 66 | StartX = 165 67 | For i = 16 To 30 68 | cmbNpcs(i) = New cmbNpc 69 | cmbNpcs(i).cmbNpc = New ComboBox 70 | cmbNpcs(i).cmbNpc.Width = 133 71 | cmbNpcs(i).cmbNpc.Height = 21 72 | cmbNpcs(i).cmbNpc.Left = StartX 73 | cmbNpcs(i).cmbNpc.Top = StartY + ((i - 16) * 27) 74 | Me.Controls.Add(cmbNpcs(i).cmbNpc) 75 | cmbNpcs(i).cmbNpc.DropDownStyle = ComboBoxStyle.DropDownList 76 | cmbNpcs(i).cmbNpc.Parent = Me.fraNpcs 77 | Next 78 | 79 | For X = 1 To MAX_MAP_NPCS 80 | cmbNpcs(X).cmbNpc.Items.Add("No NPC") 81 | Next 82 | 83 | 84 | For Y = 1 To MAX_NPCS 85 | For X = 1 To MAX_MAP_NPCS 86 | cmbNpcs(X).cmbNpc.Items.Add(Y & ": " & Trim$(Npc(Y).Name)) 87 | Next 88 | Next 89 | 90 | For i = 1 To MAX_MAP_NPCS 91 | cmbNpcs(i).cmbNpc.SelectedIndex = Map.Npc(i) 92 | Next 93 | 94 | lblMap.Text = "Current map: " & GetPlayerMap(MyIndex) 95 | txtMaxX.Text = Map.MaxX 96 | txtMaxY.Text = Map.MaxY 97 | End Sub 98 | 99 | Private Sub btnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOk.Click 100 | Dim i As Long 101 | Dim sTemp As Long 102 | Dim X As Long, x2 As Long 103 | Dim Y As Long, y2 As Long 104 | Dim tempArr(,) As TileRec 105 | 106 | If Not IsNumeric(txtMaxX.Text) Then txtMaxX.Text = Map.MaxX 107 | If Val(txtMaxX.Text) < MAX_MAPX Then txtMaxX.Text = MAX_MAPX 108 | If Val(txtMaxX.Text) > MAX_BYTE Then txtMaxX.Text = MAX_BYTE 109 | If Not IsNumeric(txtMaxY.Text) Then txtMaxY.Text = Map.MaxY 110 | If Val(txtMaxY.Text) < MAX_MAPY Then txtMaxY.Text = MAX_MAPY 111 | If Val(txtMaxY.Text) > MAX_BYTE Then txtMaxY.Text = MAX_BYTE 112 | 113 | With Map 114 | .Name = Trim$(txtName.Text) 115 | If lstMusic.SelectedIndex >= 0 Then 116 | .Music = lstMusic.Items(lstMusic.SelectedIndex).ToString 117 | Else 118 | .Music = vbNullString 119 | End If 120 | .Up = Val(txtUp.Text) 121 | .Down = Val(txtDown.Text) 122 | .Left = Val(txtLeft.Text) 123 | .Right = Val(txtRight.Text) 124 | .Moral = cmbMoral.SelectedIndex 125 | .BootMap = Val(txtBootMap.Text) 126 | .BootX = Val(txtBootX.Text) 127 | .BootY = Val(txtBootY.Text) 128 | 129 | For i = 1 To MAX_MAP_NPCS 130 | If cmbNpcs(i).cmbNpc.SelectedIndex > 0 Then 131 | sTemp = InStr(1, Trim$(cmbNpcs(i).cmbNpc.Text), ":", vbTextCompare) 132 | 133 | If Len(Trim$(cmbNpcs(i).cmbNpc.Text)) = sTemp Then 134 | cmbNpcs(i).cmbNpc.SelectedIndex = 0 135 | End If 136 | End If 137 | Next 138 | 139 | For i = 1 To MAX_MAP_NPCS 140 | .Npc(i) = cmbNpcs(i).cmbNpc.SelectedIndex 141 | Next 142 | 143 | ' set the data before changing it 144 | tempArr = Map.Tile.Clone 145 | x2 = Map.MaxX 146 | y2 = Map.MaxY 147 | ' change the data 148 | .MaxX = Val(txtMaxX.Text) 149 | .MaxY = Val(txtMaxY.Text) 150 | ReDim Map.Tile(0 To .MaxX, 0 To .MaxY) 151 | 152 | If x2 > .MaxX Then x2 = .MaxX 153 | If y2 > .MaxY Then y2 = .MaxY 154 | 155 | For X = 0 To .MaxX 156 | For Y = 0 To .MaxY 157 | ReDim .Tile(X, Y).Layer(0 To MapLayer.Layer_Count - 1) 158 | If X <= x2 Then 159 | If Y <= y2 Then 160 | .Tile(X, Y) = tempArr(X, Y) 161 | End If 162 | End If 163 | Next 164 | Next 165 | 166 | ClearTempTile() 167 | End With 168 | 169 | Me.Visible = False 170 | End Sub 171 | 172 | Private Sub lstMusic_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lstMusic.SelectedIndexChanged 173 | 174 | End Sub 175 | End Class 176 | Public Class cmbNpc 177 | Public WithEvents cmbNpc As ComboBox 178 | 179 | End Class -------------------------------------------------------------------------------- /Orion Client/Forms/frmEditor_NPC.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /Orion Client/Forms/frmEditor_NPC.vb: -------------------------------------------------------------------------------- 1 | Public Class frmEditor_NPC 2 | Private Sub scrlSprite_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlSprite.ValueChanged 3 | lblSprite.Text = "Sprite: " & scrlSprite.Value 4 | Call EditorNpc_DrawSprite() 5 | Npc(EditorIndex).Sprite = scrlSprite.Value 6 | End Sub 7 | 8 | Private Sub scrlRange_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlRange.ValueChanged 9 | lblRange.Text = "Range: " & scrlRange.Value 10 | Npc(EditorIndex).Range = scrlRange.Value 11 | End Sub 12 | 13 | Private Sub cmbBehavior_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbBehaviour.SelectedIndexChanged 14 | Npc(EditorIndex).Behaviour = cmbBehaviour.SelectedIndex 15 | End Sub 16 | 17 | Private Sub cmbFaction_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbFaction.SelectedIndexChanged 18 | Npc(EditorIndex).faction = cmbFaction.SelectedIndex 19 | End Sub 20 | 21 | Private Sub scrlAnimation_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlAnimation.ValueChanged 22 | Dim sString As String 23 | If scrlAnimation.Value = 0 Then sString = "None" Else sString = Trim$(Animation(scrlAnimation.Value).Name) 24 | lblAnimation.Text = "Anim: " & sString 25 | Npc(EditorIndex).Animation = scrlAnimation.Value 26 | End Sub 27 | 28 | Private Sub scrlStr_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlStr.ValueChanged 29 | lblStr.Text = "Str: " & scrlStr.Value 30 | Npc(EditorIndex).Stat(Stats.strength) = scrlStr.Value 31 | End Sub 32 | 33 | Private Sub scrlEnd_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlEnd.ValueChanged 34 | lblEnd.Text = "End: " & scrlEnd.Value 35 | Npc(EditorIndex).Stat(Stats.endurance) = scrlEnd.Value 36 | End Sub 37 | 38 | Private Sub scrlVit_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlVit.ValueChanged 39 | lblVit.Text = "Vit: " & scrlVit.Value 40 | Npc(EditorIndex).Stat(Stats.vitality) = scrlVit.Value 41 | End Sub 42 | 43 | Private Sub scrlWill_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlWill.ValueChanged 44 | lblWill.Text = "Will: " & scrlWill.Value 45 | Npc(EditorIndex).Stat(Stats.willpower) = scrlWill.Value 46 | End Sub 47 | 48 | Private Sub scrlInt_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlInt.ValueChanged 49 | lblInt.Text = "Int: " & scrlInt.Value 50 | Npc(EditorIndex).Stat(Stats.intelligence) = scrlInt.Value 51 | End Sub 52 | 53 | Private Sub scrlSpr_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlSpr.ValueChanged 54 | lblSpr.Text = "Spr: " & scrlSpr.Value 55 | Npc(EditorIndex).Stat(Stats.spirit) = scrlSpr.Value 56 | End Sub 57 | 58 | Private Sub scrlNum_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlNum.ValueChanged 59 | lblNum.Text = "Num: " & scrlNum.Value 60 | 61 | If scrlNum.Value > 0 Then 62 | lblItemName.Text = "Item: " & Trim$(Item(scrlNum.Value).Name) 63 | End If 64 | 65 | Npc(EditorIndex).DropItem = scrlNum.Value 66 | End Sub 67 | 68 | Private Sub scrlValue_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlValue.ValueChanged 69 | lblValue.Text = "Value: " & scrlValue.Value 70 | Npc(EditorIndex).DropItemValue = scrlValue.Value 71 | End Sub 72 | 73 | Private Sub lstIndex_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstIndex.Click 74 | NpcEditorInit() 75 | End Sub 76 | 77 | Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click 78 | NpcEditorOk() 79 | End Sub 80 | 81 | Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click 82 | Dim tmpIndex As Long 83 | 84 | ClearNpc(EditorIndex) 85 | 86 | tmpIndex = lstIndex.SelectedIndex 87 | lstIndex.Items.RemoveAt(EditorIndex - 1) 88 | lstIndex.Items.Insert(EditorIndex - 1, EditorIndex & ": " & Npc(EditorIndex).Name) 89 | lstIndex.SelectedIndex = tmpIndex 90 | 91 | NpcEditorInit() 92 | End Sub 93 | 94 | Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click 95 | Call NpcEditorCancel() 96 | End Sub 97 | 98 | Private Sub txtName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtName.TextChanged 99 | Dim tmpIndex As Long 100 | If EditorIndex = 0 Then Exit Sub 101 | tmpIndex = lstIndex.SelectedIndex 102 | Npc(EditorIndex).Name = Trim$(txtName.Text) 103 | lstIndex.Items.RemoveAt(EditorIndex - 1) 104 | lstIndex.Items.Insert(EditorIndex - 1, EditorIndex & ": " & Npc(EditorIndex).Name) 105 | lstIndex.SelectedIndex = tmpIndex 106 | End Sub 107 | 108 | Private Sub txtSpawnSecs_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSpawnSecs.TextChanged 109 | Npc(EditorIndex).SpawnSecs = txtSpawnSecs.Text 110 | End Sub 111 | 112 | Private Sub txtAttackSay_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAttackSay.TextChanged 113 | Npc(EditorIndex).AttackSay = txtAttackSay.Text 114 | End Sub 115 | 116 | Private Sub txtHP_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtHP.TextChanged 117 | If IsNumeric(txtHP.Text) Then Npc(EditorIndex).HP = txtHP.Text 118 | End Sub 119 | 120 | Private Sub txtEXP_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEXP.TextChanged 121 | If IsNumeric(txtEXP.Text) Then Npc(EditorIndex).EXP = txtEXP.Text 122 | End Sub 123 | 124 | Private Sub txtChance_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtChance.TextChanged 125 | Npc(EditorIndex).DropChance = txtChance.Text 126 | End Sub 127 | End Class -------------------------------------------------------------------------------- /Orion Client/Forms/frmEditor_Resource.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /Orion Client/Forms/frmEditor_Resource.vb: -------------------------------------------------------------------------------- 1 | Public Class frmEditor_Resource 2 | 3 | Private Sub scrlNormalPic_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlNormalPic.ValueChanged 4 | lblNormalPic.Text = "Normal Image: " & scrlNormalPic.Value 5 | EditorResource_DrawSprite() 6 | Resource(EditorIndex).ResourceImage = scrlNormalPic.Value 7 | End Sub 8 | 9 | Private Sub cmbType_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbType.SelectedIndexChanged 10 | Resource(EditorIndex).ResourceType = cmbType.SelectedIndex 11 | End Sub 12 | 13 | Private Sub scrlExhaustedPic_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlExhaustedPic.ValueChanged 14 | lblExhaustedPic.Text = "Exhausted Image: " & scrlExhaustedPic.Value 15 | EditorResource_DrawSprite() 16 | Resource(EditorIndex).ExhaustedImage = scrlExhaustedPic.Value 17 | End Sub 18 | 19 | Private Sub scrlReward_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlReward.ValueChanged 20 | If scrlReward.Value > 0 Then 21 | lblReward.Text = "Item Reward: " & Trim$(Item(scrlReward.Value).Name) 22 | Else 23 | lblReward.Text = "Item Reward: None" 24 | End If 25 | 26 | Resource(EditorIndex).ItemReward = scrlReward.Value 27 | End Sub 28 | 29 | Private Sub scrlTool_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlTool.ValueChanged 30 | Dim Name As String 31 | Name = "" 32 | 33 | Select Case scrlTool.Value 34 | Case 0 35 | Name = "None" 36 | Case 1 37 | Name = "Hatchet" 38 | Case 2 39 | Name = "Rod" 40 | Case 3 41 | Name = "Pickaxe" 42 | End Select 43 | 44 | lblTool.Text = "Tool Required: " & Name 45 | 46 | Resource(EditorIndex).ToolRequired = scrlTool.Value 47 | End Sub 48 | 49 | Private Sub scrlHealth_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlHealth.ValueChanged 50 | lblHealth.Text = "Health: " & scrlHealth.Value 51 | Resource(EditorIndex).Health = scrlHealth.Value 52 | End Sub 53 | 54 | Private Sub scrlRespawn_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlRespawn.ValueChanged 55 | lblRespawn.Text = "Respawn Time (Seconds): " & scrlRespawn.Value 56 | Resource(EditorIndex).RespawnTime = scrlRespawn.Value 57 | End Sub 58 | 59 | Private Sub scrlAnim_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlAnimation.ValueChanged 60 | Dim sString As String 61 | If scrlAnimation.Value = 0 Then sString = "None" Else sString = Trim$(Animation(scrlAnimation.Value).Name) 62 | lblAnim.Text = "Animation: " & sString 63 | Resource(EditorIndex).Animation = scrlAnimation.Value 64 | End Sub 65 | 66 | Private Sub lstIndex_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstIndex.Click 67 | ResourceEditorInit() 68 | End Sub 69 | 70 | Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click 71 | Call ResourceEditorOk() 72 | End Sub 73 | 74 | Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click 75 | Dim tmpIndex As Long 76 | 77 | ClearResource(EditorIndex) 78 | 79 | tmpIndex = lstIndex.SelectedIndex 80 | lstIndex.Items.RemoveAt(EditorIndex - 1) 81 | lstIndex.Items.Insert(EditorIndex - 1, EditorIndex & ": " & Resource(EditorIndex).Name) 82 | lstIndex.SelectedIndex = tmpIndex 83 | 84 | ResourceEditorInit() 85 | End Sub 86 | 87 | Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click 88 | Call ResourceEditorCancel() 89 | End Sub 90 | 91 | Private Sub frmEditor_Resource_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 92 | scrlReward.Maximum = MAX_ITEMS 93 | End Sub 94 | 95 | Private Sub txtName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtName.TextChanged 96 | Dim tmpIndex As Long 97 | 98 | If EditorIndex = 0 Then Exit Sub 99 | tmpIndex = lstIndex.SelectedIndex 100 | Resource(EditorIndex).Name = Trim$(txtName.Text) 101 | lstIndex.Items.RemoveAt(EditorIndex - 1) 102 | lstIndex.Items.Insert(EditorIndex - 1, EditorIndex & ": " & Resource(EditorIndex).Name) 103 | lstIndex.SelectedIndex = tmpIndex 104 | End Sub 105 | 106 | Private Sub txtMessage_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtMessage.TextChanged 107 | Resource(EditorIndex).SuccessMessage = Trim$(txtMessage.Text) 108 | End Sub 109 | 110 | Private Sub txtMessage2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtMessage2.TextChanged 111 | Resource(EditorIndex).EmptyMessage = Trim$(txtMessage2.Text) 112 | End Sub 113 | End Class -------------------------------------------------------------------------------- /Orion Client/Forms/frmEditor_Shop.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /Orion Client/Forms/frmEditor_Shop.vb: -------------------------------------------------------------------------------- 1 | Public Class frmEditor_Shop 2 | 3 | Private Sub txtName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtName.TextChanged 4 | Dim tmpIndex As Long 5 | 6 | If EditorIndex = 0 Then Exit Sub 7 | tmpIndex = lstIndex.SelectedIndex 8 | Shop(EditorIndex).Name = Trim$(txtName.Text) 9 | lstIndex.Items.RemoveAt(EditorIndex - 1) 10 | lstIndex.Items.Insert(EditorIndex - 1, EditorIndex & ": " & Shop(EditorIndex).Name) 11 | lstIndex.SelectedIndex = tmpIndex 12 | End Sub 13 | 14 | Private Sub scrlBuy_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles scrlBuy.Scroll 15 | lblBuy.Text = "Buy Rate: " & scrlBuy.Value & "%" 16 | Shop(EditorIndex).BuyRate = scrlBuy.Value 17 | End Sub 18 | 19 | Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click 20 | Dim Index As Long 21 | Index = lstTradeItem.SelectedIndex + 1 22 | If Index = 0 Then Exit Sub 23 | With Shop(EditorIndex).TradeItem(Index) 24 | .Item = cmbItem.SelectedIndex 25 | .ItemValue = Val(txtItemValue.Text) 26 | .CostItem = cmbCostItem.SelectedIndex 27 | .CostValue = Val(txtCostValue.Text) 28 | End With 29 | Call UpdateShopTrade() 30 | End Sub 31 | 32 | Private Sub btnDeleteTrade_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeleteTrade.Click 33 | Dim Index As Long 34 | Index = lstTradeItem.SelectedIndex + 1 35 | If Index = 0 Then Exit Sub 36 | With Shop(EditorIndex).TradeItem(Index) 37 | .Item = 0 38 | .ItemValue = 0 39 | .CostItem = 0 40 | .CostValue = 0 41 | End With 42 | Call UpdateShopTrade() 43 | End Sub 44 | 45 | Private Sub lstIndex_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstIndex.Click 46 | ShopEditorInit() 47 | End Sub 48 | 49 | Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click 50 | If Len(Trim$(txtName.Text)) = 0 Then 51 | Call MsgBox("Name required.") 52 | Else 53 | Call ShopEditorOk() 54 | End If 55 | End Sub 56 | 57 | Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click 58 | ShopEditorCancel() 59 | End Sub 60 | 61 | Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click 62 | Dim tmpIndex As Long 63 | 64 | ClearShop(EditorIndex) 65 | 66 | tmpIndex = lstIndex.SelectedIndex 67 | lstIndex.Items.RemoveAt(EditorIndex - 1) 68 | lstIndex.Items.Insert(EditorIndex - 1, EditorIndex & ": " & Shop(EditorIndex).Name) 69 | lstIndex.SelectedIndex = tmpIndex 70 | 71 | ShopEditorInit() 72 | End Sub 73 | End Class -------------------------------------------------------------------------------- /Orion Client/Forms/frmEditor_Spell.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /Orion Client/Forms/frmEditor_Spell.vb: -------------------------------------------------------------------------------- 1 | Public Class frmEditor_Spell 2 | 3 | Private Sub txtName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtName.TextChanged 4 | Dim tmpIndex As Long 5 | 6 | If EditorIndex = 0 Then Exit Sub 7 | tmpIndex = lstIndex.SelectedIndex 8 | Spell(EditorIndex).Name = Trim$(txtName.Text) 9 | lstIndex.Items.RemoveAt(EditorIndex - 1) 10 | lstIndex.Items.Insert(EditorIndex - 1, EditorIndex & ": " & Spell(EditorIndex).Name) 11 | lstIndex.SelectedIndex = tmpIndex 12 | End Sub 13 | 14 | Private Sub cmbType_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbType.SelectedIndexChanged 15 | Spell(EditorIndex).Type = cmbType.SelectedIndex 16 | End Sub 17 | 18 | Private Sub scrlMP_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles scrlMP.ValueChanged 19 | If scrlMP.Value > 0 Then 20 | lblMP.Text = "MP Cost: " & scrlMP.Value 21 | Else 22 | lblMP.Text = "MP Cost: None" 23 | End If 24 | Spell(EditorIndex).MPCost = scrlMP.Value 25 | End Sub 26 | 27 | Private Sub scrlLevel_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlLevel.ValueChanged 28 | If scrlLevel.Value > 0 Then 29 | lblLevel.Text = "Level Required: " & scrlLevel.Value 30 | Else 31 | lblLevel.Text = "Level Required: None" 32 | End If 33 | Spell(EditorIndex).LevelReq = scrlLevel.Value 34 | End Sub 35 | 36 | Private Sub scrlAccess_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlAccess.ValueChanged 37 | If scrlAccess.Value > 0 Then 38 | lblAccess.Text = "Access Required: " & scrlAccess.Value 39 | Else 40 | lblAccess.Text = "Access Required: None" 41 | End If 42 | Spell(EditorIndex).AccessReq = scrlAccess.Value 43 | End Sub 44 | 45 | Private Sub cmbClass_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbClass.SelectedIndexChanged 46 | Spell(EditorIndex).ClassReq = cmbClass.SelectedIndex 47 | End Sub 48 | 49 | Private Sub scrlCast_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlCast.ValueChanged 50 | lblCast.Text = "Casting Time: " & scrlCast.Value & "s" 51 | Spell(EditorIndex).CastTime = scrlCast.Value 52 | End Sub 53 | 54 | Private Sub scrlCool_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlCool.ValueChanged 55 | lblCool.Text = "Cooldown Time: " & scrlCool.Value & "s" 56 | Spell(EditorIndex).CDTime = scrlCool.Value 57 | End Sub 58 | 59 | Private Sub scrlIcon_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlIcon.ValueChanged 60 | If scrlIcon.Value > 0 Then 61 | lblIcon.Text = "Icon: " & scrlIcon.Value 62 | Else 63 | lblIcon.Text = "Icon: None" 64 | End If 65 | Spell(EditorIndex).Icon = scrlIcon.Value 66 | EditorSpell_BltIcon() 67 | End Sub 68 | 69 | Private Sub scrlMap_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlMap.ValueChanged 70 | lblMap.Text = "Map: " & scrlMap.Value 71 | Spell(EditorIndex).Map = scrlMap.Value 72 | End Sub 73 | 74 | Private Sub scrlDir_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlDir.ValueChanged 75 | Dim sDir As String 76 | sDir = "" 77 | Select Case scrlDir.Value 78 | Case DIR_UP 79 | sDir = "Up" 80 | Case DIR_DOWN 81 | sDir = "Down" 82 | Case DIR_RIGHT 83 | sDir = "Right" 84 | Case DIR_LEFT 85 | sDir = "Left" 86 | End Select 87 | lblDir.Text = "Dir: " & sDir 88 | Spell(EditorIndex).Dir = scrlDir.Value 89 | End Sub 90 | 91 | Private Sub scrlX_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlX.ValueChanged 92 | lblX.Text = "X: " & scrlX.Value 93 | Spell(EditorIndex).X = scrlX.Value 94 | End Sub 95 | 96 | Private Sub scrlY_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlY.ValueChanged 97 | lblY.Text = "Y: " & scrlY.Value 98 | Spell(EditorIndex).Y = scrlY.Value 99 | End Sub 100 | 101 | Private Sub scrlVital_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlVital.ValueChanged 102 | lblVital.Text = "Vital: " & scrlVital.Value 103 | Spell(EditorIndex).Vital = scrlVital.Value 104 | End Sub 105 | 106 | Private Sub scrlDuration_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlDuration.ValueChanged 107 | lblDuration.Text = "Duration: " & scrlDuration.Value & "s" 108 | Spell(EditorIndex).Duration = scrlDuration.Value 109 | End Sub 110 | 111 | Private Sub scrlInterval_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlInterval.ValueChanged 112 | lblInterval.Text = "Interval: " & scrlInterval.Value & "s" 113 | Spell(EditorIndex).Interval = scrlInterval.Value 114 | End Sub 115 | 116 | Private Sub scrlRange_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlRange.ValueChanged 117 | If scrlRange.Value > 0 Then 118 | lblRange.Text = "Range: " & scrlRange.Value & " tiles." 119 | Else 120 | lblRange.Text = "Range: Self-cast" 121 | End If 122 | Spell(EditorIndex).Range = scrlRange.Value 123 | End Sub 124 | 125 | Private Sub chkAOE_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkAOE.CheckedChanged 126 | If chkAOE.Checked = False Then 127 | Spell(EditorIndex).IsAoE = False 128 | Else 129 | Spell(EditorIndex).IsAoE = True 130 | End If 131 | End Sub 132 | 133 | Private Sub scrlAOE_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlAOE.ValueChanged 134 | If scrlAOE.Value > 0 Then 135 | lblAOE.Text = "AoE: " & scrlAOE.Value & " tiles." 136 | Else 137 | lblAOE.Text = "AoE: Self-cast" 138 | End If 139 | Spell(EditorIndex).AoE = scrlAOE.Value 140 | End Sub 141 | 142 | Private Sub scrlAnimCast_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlAnimCast.ValueChanged 143 | If scrlAnimCast.Value > 0 Then 144 | lblAnimCast.Text = "Cast Anim: " & Trim$(Animation(scrlAnimCast.Value).Name) 145 | Else 146 | lblAnimCast.Text = "Cast Anim: None" 147 | End If 148 | Spell(EditorIndex).CastAnim = scrlAnimCast.Value 149 | End Sub 150 | 151 | Private Sub scrlAnim_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlAnim.ValueChanged 152 | If scrlAnim.Value > 0 Then 153 | lblAnim.Text = "Animation: " & Trim$(Animation(scrlAnim.Value).Name) 154 | Else 155 | lblAnim.Text = "Animation: None" 156 | End If 157 | Spell(EditorIndex).SpellAnim = scrlAnim.Value 158 | End Sub 159 | 160 | Private Sub scrlStun_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles scrlStun.ValueChanged 161 | If scrlStun.Value > 0 Then 162 | lblStun.Text = "Stun Duration: " & scrlStun.Value & "s" 163 | Else 164 | lblStun.Text = "Stun Duration: None" 165 | End If 166 | Spell(EditorIndex).StunDuration = scrlStun.Value 167 | End Sub 168 | 169 | Private Sub lstIndex_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lstIndex.Click 170 | SpellEditorInit() 171 | End Sub 172 | 173 | Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click 174 | SpellEditorOk() 175 | End Sub 176 | 177 | Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click 178 | Dim tmpIndex As Long 179 | 180 | ClearSpell(EditorIndex) 181 | 182 | tmpIndex = lstIndex.SelectedIndex 183 | lstIndex.Items.RemoveAt(EditorIndex - 1) 184 | lstIndex.Items.Insert(EditorIndex - 1, EditorIndex & ": " & Spell(EditorIndex).Name) 185 | lstIndex.SelectedIndex = tmpIndex 186 | 187 | SpellEditorInit() 188 | End Sub 189 | 190 | Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click 191 | SpellEditorCancel() 192 | End Sub 193 | End Class -------------------------------------------------------------------------------- /Orion Client/Forms/frmLoad.Designer.vb: -------------------------------------------------------------------------------- 1 |  _ 2 | Partial Class frmLoad 3 | Inherits System.Windows.Forms.Form 4 | 5 | 'Form overrides dispose to clean up the component list. 6 | _ 7 | Protected Overrides Sub Dispose(ByVal disposing As Boolean) 8 | Try 9 | If disposing AndAlso components IsNot Nothing Then 10 | components.Dispose() 11 | End If 12 | Finally 13 | MyBase.Dispose(disposing) 14 | End Try 15 | End Sub 16 | 17 | 'Required by the Windows Form Designer 18 | Private components As System.ComponentModel.IContainer 19 | 20 | 'NOTE: The following procedure is required by the Windows Form Designer 21 | 'It can be modified using the Windows Form Designer. 22 | 'Do not modify it using the code editor. 23 | _ 24 | Private Sub InitializeComponent() 25 | Me.lblStatus = New System.Windows.Forms.Label 26 | Me.SuspendLayout() 27 | ' 28 | 'lblStatus 29 | ' 30 | Me.lblStatus.Location = New System.Drawing.Point(0, 8) 31 | Me.lblStatus.Name = "lblStatus" 32 | Me.lblStatus.Size = New System.Drawing.Size(280, 13) 33 | Me.lblStatus.TabIndex = 0 34 | Me.lblStatus.TextAlign = System.Drawing.ContentAlignment.MiddleCenter 35 | ' 36 | 'frmLoad 37 | ' 38 | Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) 39 | Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font 40 | Me.ClientSize = New System.Drawing.Size(280, 32) 41 | Me.Controls.Add(Me.lblStatus) 42 | Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None 43 | Me.Name = "frmLoad" 44 | Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen 45 | Me.Text = "frmLoad" 46 | Me.ResumeLayout(False) 47 | 48 | End Sub 49 | Friend WithEvents lblStatus As System.Windows.Forms.Label 50 | End Class 51 | -------------------------------------------------------------------------------- /Orion Client/Forms/frmLoad.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /Orion Client/Forms/frmLoad.vb: -------------------------------------------------------------------------------- 1 | Public Class frmLoad 2 | 3 | Private Sub frmLoad_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 4 | Me.Show() 5 | If started = False Then Call startup() 6 | End Sub 7 | End Class -------------------------------------------------------------------------------- /Orion Client/Forms/frmMainGame.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /Orion Client/Forms/frmMenu.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 17, 17 122 | 123 | 124 | 126, 17 125 | 126 | 127 | 242, 17 128 | 129 | 130 | Welcome to the Orion Client. This is a free open source VB.Net game engine! 131 | 132 | For help or support please visit our site at http://ascensionforums.com. 133 | 134 | This project is based off of Eclipse Origins, feel free to check them out at http://www.eclipseorigins.com . 135 | 136 | -------------------------------------------------------------------------------- /Orion Client/Modules/modEnumerations.vb: -------------------------------------------------------------------------------- 1 | Module modEnumerations 2 | 3 | ' The order of the packets must match with the server's packet enumeration 4 | 5 | ' Packets sent by server to client 6 | Public Enum ServerPackets 7 | SAlertMsg = 1 8 | SLoginOk 9 | SNewCharClasses 10 | SClassesData 11 | SInGame 12 | SPlayerInv 13 | SPlayerInvUpdate 14 | SPlayerWornEq 15 | SPlayerHp 16 | SPlayerMp 17 | SPlayerSp 18 | SPlayerStats 19 | SPlayerData 20 | SPlayerMove 21 | SNpcMove 22 | SPlayerDir 23 | SNpcDir 24 | SPlayerXY 25 | SAttack 26 | SNpcAttack 27 | SCheckforMap 28 | SMapData 29 | SMapItemData 30 | SMapNpcData 31 | SMapDone 32 | SGlobalMsg 33 | SAdminMsg 34 | SPlayerMsg 35 | SMapMsg 36 | SSpawnItem 37 | SItemEditor 38 | SUpdateItem 39 | SREditor 40 | SSpawnNpc 41 | SNpcDead 42 | SNpcEditor 43 | SUpdateNpc 44 | SMapKey 45 | SEditMap 46 | SShopEditor 47 | SUpdateShop 48 | SSpellEditor 49 | SUpdateSpell 50 | SSpells 51 | SLeftMap 52 | SResourceCache 53 | SResourceEditor 54 | SUpdateResource 55 | SSendPing 56 | SDoorAnimation 57 | SActionMsg 58 | SPlayerEXP 59 | SBlood 60 | SAnimationEditor 61 | SUpdateAnimation 62 | SAnimation 63 | SMapNpcVitals 64 | SCooldown 65 | SClearSpellBuffer 66 | SSayMsg 67 | SOpenShop 68 | SResetShopAction 69 | SStunned 70 | SMapWornEq 71 | SBank 72 | SClearTradeTimer 73 | STrade 74 | SCloseTrade 75 | STradeUpdate 76 | STradeStatus 77 | SGameData 78 | ' Make sure SMSG_COUNT is below everything else 79 | SMSG_COUNT 80 | End Enum 81 | 82 | ' Packets sent by client to server 83 | Public Enum ClientPackets 84 | CNewAccount = 1 85 | CDelAccount 86 | CLogin 87 | CAddChar 88 | CUseChar 89 | CSayMsg 90 | CEmoteMsg 91 | CBroadcastMsg 92 | CPlayerMsg 93 | CPlayerMove 94 | CPlayerDir 95 | CUseItem 96 | CAttack 97 | CUseStatPoint 98 | CPlayerInfoRequest 99 | CWarpMeTo 100 | CWarpToMe 101 | CWarpTo 102 | CSetSprite 103 | CGetStats 104 | CRequestNewMap 105 | CMapData 106 | CNeedMap 107 | CMapGetItem 108 | CMapDropItem 109 | CMapRespawn 110 | CMapReport 111 | CKickPlayer 112 | CBanList 113 | CBanDestroy 114 | CBanPlayer 115 | CRequestEditMap 116 | CRequestEditItem 117 | CSaveItem 118 | CRequestEditNpc 119 | CSaveNpc 120 | CRequestEditShop 121 | CSaveShop 122 | CRequestEditSpell 123 | CSaveSpell 124 | CSetAccess 125 | CWhosOnline 126 | CSetMotd 127 | CSearch 128 | CParty 129 | CJoinParty 130 | CLeaveParty 131 | CSpells 132 | CCast 133 | CQuit 134 | CSwapInvSlots 135 | CRequestEditResource 136 | CSaveResource 137 | CCheckPing 138 | CUnequip 139 | CRequestPlayerData 140 | CRequestItems 141 | CRequestNPCS 142 | CRequestResources 143 | CSpawnItem 144 | CTrainStat 145 | CRequestEditAnimation 146 | CSaveAnimation 147 | CRequestAnimations 148 | CRequestSpells 149 | CRequestShops 150 | CRequestLevelUp 151 | CForgetSpell 152 | CCloseShop 153 | CBuyItem 154 | CSellItem 155 | CChangeBankSlots 156 | CDepositItem 157 | CWithdrawItem 158 | CCloseBank 159 | CAdminWarp 160 | CTradeRequest 161 | CAcceptTrade 162 | CDeclineTrade 163 | CTradeItem 164 | CUntradeItem 165 | ' Make sure CMSG_COUNT is below everything else 166 | CMSG_COUNT 167 | End Enum 168 | 169 | 170 | ' Stats used by Players, Npcs and Classes 171 | Public Enum Stats 172 | strength = 1 173 | endurance 174 | vitality 175 | willpower 176 | intelligence 177 | spirit 178 | ' Make sure Stat_Count is below everything else 179 | stat_count 180 | End Enum 181 | 182 | ' Vitals used by Players, Npcs and Classes 183 | Public Enum Vitals 184 | HP = 1 185 | MP 186 | SP 187 | ' Make sure Vital_Count is below everything else 188 | Vital_Count 189 | End Enum 190 | 191 | ' Equipment used by Players 192 | Public Enum Equipment 193 | Weapon = 1 194 | Armor 195 | Helmet 196 | Shield 197 | ' Make sure Equipment_Count is below everything else 198 | Equipment_Count 199 | End Enum 200 | 201 | ' Layers in a map 202 | Public Enum MapLayer 203 | Ground = 1 204 | Mask 205 | Mask2 206 | Fringe 207 | Fringe2 208 | ' Make sure Layer_Count is below everything else 209 | Layer_Count 210 | End Enum 211 | 212 | End Module 213 | -------------------------------------------------------------------------------- /Orion Client/Modules/modGlobals.vb: -------------------------------------------------------------------------------- 1 | Imports System.Net.Sockets 2 | Imports System.Drawing 3 | 4 | Module modGlobals 5 | 'Music + Sound Players 6 | Public SoundPlayer As SFML.Audio.Sound 7 | Public MusicPlayer As SFML.Audio.Music 8 | ' for directional blocking 9 | Public DirArrowX(0 To 4) As Byte 10 | Public DirArrowY(0 To 4) As Byte 11 | 12 | Public TilesetsClr() As Color 13 | 14 | ' trading 15 | Public TradeTimer As Long 16 | Public TradeRequest As Boolean 17 | Public InTrade As Boolean 18 | Public TradeYourOffer(0 To MAX_INV) As PlayerInvRec 19 | Public TradeTheirOffer(0 To MAX_INV) As PlayerInvRec 20 | Public TradeX As Long 21 | Public TradeY As Long 22 | 23 | ' Cache the Resources in an array 24 | Public MapResource() As MapResourceRec 25 | Public Resource_Index As Long 26 | Public Resources_Init As Boolean 27 | 28 | ' inv drag + drop 29 | Public DragInvSlotNum As Integer 30 | Public InvX As Long 31 | Public InvY As Long 32 | 33 | ' bank drag + drop 34 | Public DragBankSlotNum As Integer 35 | Public BankX As Long 36 | Public BankY As Long 37 | 38 | ' gui 39 | Public EqX As Long 40 | Public EqY As Long 41 | Public SpellX As Long 42 | Public SpellY As Long 43 | Public InvItemFrame(0 To MAX_INV) As Byte ' Used for animated items 44 | Public LastItemDesc As Long ' Stores the last item we showed in desc 45 | Public LastSpellDesc As Long ' Stores the last spell we showed in desc 46 | Public LastBankDesc As Long ' Stores the last bank item we showed in desc 47 | Public tmpCurrencyItem As Long 48 | Public InShop As Long ' is the player in a shop? 49 | Public ShopAction As Byte ' stores the current shop action 50 | Public InBank As Long 51 | Public CurrencyMenu As Byte 52 | 53 | ' Player variables 54 | Public MyIndex As Long ' Index of actual player 55 | Public PlayerInv(0 To MAX_INV) As PlayerInvRec ' Inventory 56 | Public PlayerSpells(0 To MAX_PLAYER_SPELLS) As Byte 57 | Public InventoryItemSelected As Integer 58 | Public SpellBuffer As Long 59 | Public SpellBufferTimer As Long 60 | Public SpellCD(0 To MAX_PLAYER_SPELLS) As Long 61 | Public StunDuration As Long 62 | 63 | ' Stops movement when updating a map 64 | Public CanMoveNow As Boolean 65 | 66 | ' Debug mode 67 | Public DEBUG_MODE As Boolean 68 | 69 | ' Game text buffer 70 | Public MyText As String 71 | 72 | ' Controls main gameloop 73 | Public InGame As Boolean 74 | Public isLogging As Boolean 75 | Public MapData As Boolean 76 | Public PlayerData As Boolean 77 | 78 | ' Text variables 79 | Public TexthDC As Long 80 | Public GameFont As Long 81 | 82 | ' Draw map name location 83 | Public DrawMapNameX As Single 84 | Public DrawMapNameY As Single 85 | Public DrawMapNameColor As SFML.Graphics.Color 86 | 87 | ' Game direction vars 88 | Public DirUp As Boolean 89 | Public DirDown As Boolean 90 | Public DirLeft As Boolean 91 | Public DirRight As Boolean 92 | Public ShiftDown As Boolean 93 | Public ControlDown As Boolean 94 | 95 | ' Used for dragging Picture Boxes 96 | Public SOffsetX As Integer 97 | Public SOffsetY As Integer 98 | 99 | ' Map animation #, used to keep track of what map animation is currently on 100 | Public MapAnim As Byte 101 | Public MapAnimTimer As Long 102 | 103 | ' Used to freeze controls when getting a new map 104 | Public GettingMap As Boolean 105 | 106 | ' Used to check if FPS needs to be drawn 107 | Public BFPS As Boolean 108 | Public BLoc As Boolean 109 | 110 | ' FPS and Time-based movement vars 111 | Public ElapsedTime As Long 112 | Public GameFPS As Long 113 | 114 | ' Text vars 115 | Public vbQuote As String 116 | 117 | ' Mouse cursor tile location 118 | Public CurX As Integer 119 | Public CurY As Integer 120 | 121 | ' Game editors 122 | Public Editor As Byte 123 | Public EditorIndex As Long 124 | Public AnimEditorFrame(0 To 1) As Long 125 | Public AnimEditorTimer(0 To 1) As Long 126 | 127 | ' Used to check if in editor or not and variables for use in editor 128 | Public InMapEditor As Boolean 129 | Public EditorTileX As Long 130 | Public EditorTileY As Long 131 | Public EditorTileWidth As Long 132 | Public EditorTileHeight As Long 133 | Public EditorWarpMap As Long 134 | Public EditorWarpX As Long 135 | Public EditorWarpY As Long 136 | Public SpawnNpcNum As Byte 137 | Public SpawnNpcDir As Byte 138 | Public EditorShop As Long 139 | Public EditorTileSelStart As Point 140 | Public EditorTileSelEnd As Point 141 | 142 | ' Used for map item editor 143 | Public ItemEditorNum As Long 144 | Public ItemEditorValue As Long 145 | 146 | ' Used for map key editor 147 | Public KeyEditorNum As Long 148 | Public KeyEditorTake As Long 149 | 150 | ' Used for map key open editor 151 | Public KeyOpenEditorX As Long 152 | Public KeyOpenEditorY As Long 153 | 154 | ' Map Resources 155 | Public ResourceEditorNum As Long 156 | 157 | ' Used for map editor heal & trap & slide tiles 158 | Public MapEditorHealType As Long 159 | Public MapEditorHealAmount As Long 160 | Public MapEditorSlideDir As Long 161 | 162 | ' Maximum classes 163 | Public Max_Classes As Byte 164 | Public Camera As Rectangle 165 | Public TileView As RECT 166 | 167 | ' Pinging 168 | Public PingStart As Long 169 | Public PingEnd As Long 170 | Public Ping As Long 171 | 172 | ' indexing 173 | Public ActionMsgIndex As Byte 174 | Public BloodIndex As Byte 175 | Public AnimationIndex As Byte 176 | 177 | ' fps lock 178 | Public FPS_Lock As Boolean 179 | 180 | ' Editor edited items array 181 | Public Item_Changed(0 To MAX_ITEMS) As Boolean 182 | Public NPC_Changed(0 To MAX_NPCS) As Boolean 183 | Public Resource_Changed(0 To MAX_NPCS) As Boolean 184 | Public Animation_Changed(0 To MAX_ANIMATIONS) As Boolean 185 | Public Spell_Changed(0 To MAX_SPELLS) As Boolean 186 | Public Shop_Changed(0 To MAX_SHOPS) As Boolean 187 | 188 | ' New char 189 | Public newCharSprite As Long 190 | Public newCharClass As Long 191 | 192 | Public TempMapData() As Byte 193 | 194 | End Module 195 | -------------------------------------------------------------------------------- /Orion Client/Modules/modINIAccess.vb: -------------------------------------------------------------------------------- 1 | Option Strict On 2 | Module modINIAccess 3 | 4 | #Region "API Calls" 5 | ' standard API declarations for INI access 6 | ' changing only "As Long" to "As Int32" (As Integer would work also) 7 | Private Declare Unicode Function WritePrivateProfileString Lib "kernel32" _ 8 | Alias "WritePrivateProfileStringW" (ByVal lpApplicationName As String, _ 9 | ByVal lpKeyName As String, ByVal lpString As String, _ 10 | ByVal lpFileName As String) As Int32 11 | 12 | Private Declare Unicode Function GetPrivateProfileString Lib "kernel32" _ 13 | Alias "GetPrivateProfileStringW" (ByVal lpApplicationName As String, _ 14 | ByVal lpKeyName As String, ByVal lpDefault As String, _ 15 | ByVal lpReturnedString As String, ByVal nSize As Int32, _ 16 | ByVal lpFileName As String) As Int32 17 | #End Region 18 | 19 | Public Function INIRead(ByVal INIPath As String, _ 20 | ByVal SectionName As String, ByVal KeyName As String, _ 21 | ByVal DefaultValue As String) As String 22 | ' primary version of call gets single value given all parameters 23 | Dim n As Int32 24 | Dim sData As String 25 | sData = Space$(1024) ' allocate some room 26 | n = GetPrivateProfileString(SectionName, KeyName, DefaultValue, _ 27 | sData, sData.Length, INIPath) 28 | If n > 0 Then ' return whatever it gave us 29 | INIRead = sData.Substring(0, n) 30 | Else 31 | INIRead = "" 32 | End If 33 | End Function 34 | 35 | #Region "INIRead Overloads" 36 | Public Function Getvar(ByVal INIPath As String, _ 37 | ByVal SectionName As String, ByVal KeyName As String) As String 38 | ' overload 1 assumes zero-length default 39 | Return INIRead(INIPath, SectionName, KeyName, "") 40 | End Function 41 | #End Region 42 | 43 | Public Sub PutVar(ByVal INIPath As String, ByVal SectionName As String, ByVal KeyName As String, ByVal TheValue As String) 44 | Call WritePrivateProfileString(SectionName, KeyName, TheValue, INIPath) 45 | End Sub 46 | 47 | Public Sub INIDelete(ByVal INIPath As String, ByVal SectionName As String, _ 48 | ByVal KeyName As String) ' delete single line from section 49 | Call WritePrivateProfileString(SectionName, KeyName, Nothing, INIPath) 50 | End Sub 51 | 52 | Public Sub INIDelete(ByVal INIPath As String, ByVal SectionName As String) 53 | ' delete section from INI file 54 | Call WritePrivateProfileString(SectionName, Nothing, Nothing, INIPath) 55 | End Sub 56 | End Module 57 | -------------------------------------------------------------------------------- /Orion Client/Modules/modUpdateUI.vb: -------------------------------------------------------------------------------- 1 | Imports System.Drawing 2 | 3 | Module modUpdateUI 4 | 5 | Public GameDestroyed As Boolean 6 | Public ReloadFrmMain As Boolean 7 | Public pnlRegisterVisible As Boolean 8 | Public pnlCharCreateVisible As Boolean 9 | Public pnlLoginVisible As Boolean 10 | Public pnlCreditsVisible As Boolean 11 | Public frmmenuvisible As Boolean 12 | Public frmmaingamevisible As Boolean 13 | Public frmloadvisible As Boolean 14 | Public lblnextcharleft As Long 15 | Public cmbclass() As String 16 | Public txtChatAdd As String 17 | Public chkSavePassChecked As Boolean 18 | Public tempUserName As String 19 | Public tempPassword As String 20 | 21 | Public VbKeyRight As Boolean 22 | Public VbKeyLeft As Boolean 23 | Public VbKeyUp As Boolean 24 | Public VbKeyDown As Boolean 25 | Public VbKeyShift As Boolean 26 | Public VbKeyControl As Boolean 27 | 28 | Public picHpWidth As Long 29 | Public picManaWidth As Long 30 | Public picEXPWidth As Long 31 | 32 | Public lblHPText As String 33 | Public lblManaText As String 34 | Public lblEXPText As String 35 | 36 | 'Editors 37 | Public InitMapEditor As Boolean 38 | Public InitItemEditor As Boolean 39 | Public InitResourceEditor As Boolean 40 | Public InitNPCEditor As Boolean 41 | Public InitSpellEditor As Boolean 42 | Public InitShopEditor As Boolean 43 | Public InitAnimationEditor As Boolean 44 | 45 | Public UpdateCharacterPanel As Boolean 46 | 47 | Public NeedToOpenShop As Boolean 48 | Public NeedToOpenShopNum As Long 49 | Public NeedToOpenBank As Boolean 50 | Public NeedToOpenTrade As Boolean 51 | Public NeedtoCloseTrade As Boolean 52 | 53 | Public Tradername As String 54 | 55 | 56 | Sub DrawStatBars() 57 | Dim g As Graphics = Graphics.FromImage(StatBarBackbuffer) 58 | Dim fnt As New Font("Microsoft Sans Serif", 8, FontStyle.Bold) 59 | g.DrawImage(EmptyHPBar, New Point(12, 12)) 60 | g.DrawImage(EmptyManaBar, New Point(12, 35)) 61 | g.DrawImage(EmptyEXPBar, New Point(12, 58)) 62 | g.DrawImage(HPBar, New Rectangle(12, 15, picHpWidth, HPBar.Height), New Rectangle(0, 0, picHpWidth, HPBar.Height), GraphicsUnit.Pixel) 63 | g.DrawImage(ManaBar, New Rectangle(12, 38, picManaWidth, ManaBar.Height), New Rectangle(0, 0, picManaWidth, ManaBar.Height), GraphicsUnit.Pixel) 64 | g.DrawImage(EXPBar, New Rectangle(12, 61, picEXPWidth, EXPBar.Height), New Rectangle(0, 0, picEXPWidth, EXPBar.Height), GraphicsUnit.Pixel) 65 | g.DrawString(lblHPText, fnt, New SolidBrush(Color.Black), 40, 15) 66 | g.DrawString(lblManaText, fnt, New SolidBrush(Color.Black), 40, 38) 67 | g.DrawString(lblEXPText, fnt, New SolidBrush(Color.Black), 40, 63) 68 | g.Dispose() 69 | 70 | g = frmMainGame.picGeneral.CreateGraphics 71 | g.DrawImage(StatBarBackbuffer, New Point(0, 0)) 72 | g.Dispose() 73 | End Sub 74 | End Module 75 | -------------------------------------------------------------------------------- /Orion Client/My Project/Application.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.18444 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | Namespace My 16 | 17 | 'NOTE: This file is auto-generated; do not modify it directly. To make changes, 18 | ' or if you encounter build errors in this file, go to the Project Designer 19 | ' (go to Project Properties or double-click the My Project node in 20 | ' Solution Explorer), and make changes on the Application tab. 21 | ' 22 | Partial Friend Class MyApplication 23 | 24 | _ 25 | Public Sub New() 26 | MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) 27 | Me.IsSingleInstance = false 28 | Me.EnableVisualStyles = true 29 | Me.SaveMySettingsOnExit = true 30 | Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterAllFormsClose 31 | End Sub 32 | 33 | _ 34 | Protected Overrides Sub OnCreateMainForm() 35 | Me.MainForm = Global.OrionClient.frmLoad 36 | End Sub 37 | End Class 38 | End Namespace 39 | -------------------------------------------------------------------------------- /Orion Client/My Project/Application.myapp: -------------------------------------------------------------------------------- 1 |  2 | 3 | true 4 | frmLoad 5 | false 6 | 1 7 | true 8 | 0 9 | true 10 | -------------------------------------------------------------------------------- /Orion Client/My Project/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Reflection 3 | Imports System.Runtime.InteropServices 4 | 5 | ' General Information about an assembly is controlled through the following 6 | ' set of attributes. Change these attribute values to modify the information 7 | ' associated with an assembly. 8 | 9 | ' Review the values of the assembly attributes 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 'The following GUID is for the ID of the typelib if this project is exposed to COM 21 | 22 | 23 | ' Version information for an assembly consists of the following four values: 24 | ' 25 | ' Major Version 26 | ' Minor Version 27 | ' Build Number 28 | ' Revision 29 | ' 30 | ' You can specify all the values or you can default the Build and Revision Numbers 31 | ' by using the '*' as shown below: 32 | ' 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /Orion Client/My Project/Resources.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.18444 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | Imports System 15 | 16 | Namespace My.Resources 17 | 18 | 'This class was auto-generated by the StronglyTypedResourceBuilder 19 | 'class via a tool like ResGen or Visual Studio. 20 | 'To add or remove a member, edit your .ResX file then rerun ResGen 21 | 'with the /str option, or rebuild your VS project. 22 | ''' 23 | ''' A strongly-typed resource class, for looking up localized strings, etc. 24 | ''' 25 | _ 29 | Friend Module Resources 30 | 31 | Private resourceMan As Global.System.Resources.ResourceManager 32 | 33 | Private resourceCulture As Global.System.Globalization.CultureInfo 34 | 35 | ''' 36 | ''' Returns the cached ResourceManager instance used by this class. 37 | ''' 38 | _ 39 | Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager 40 | Get 41 | If Object.ReferenceEquals(resourceMan, Nothing) Then 42 | Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("OrionClient.Resources", GetType(Resources).Assembly) 43 | resourceMan = temp 44 | End If 45 | Return resourceMan 46 | End Get 47 | End Property 48 | 49 | ''' 50 | ''' Overrides the current thread's CurrentUICulture property for all 51 | ''' resource lookups using this strongly typed resource class. 52 | ''' 53 | _ 54 | Friend Property Culture() As Global.System.Globalization.CultureInfo 55 | Get 56 | Return resourceCulture 57 | End Get 58 | Set 59 | resourceCulture = value 60 | End Set 61 | End Property 62 | End Module 63 | End Namespace 64 | -------------------------------------------------------------------------------- /Orion Client/My Project/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /Orion Client/My Project/Settings.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.18444 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | Namespace My 16 | 17 | _ 20 | Partial Friend NotInheritable Class MySettings 21 | Inherits Global.System.Configuration.ApplicationSettingsBase 22 | 23 | Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) 24 | 25 | #Region "My.Settings Auto-Save Functionality" 26 | #If _MyType = "WindowsForms" Then 27 | Private Shared addedHandler As Boolean 28 | 29 | Private Shared addedHandlerLockObject As New Object 30 | 31 | _ 32 | Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) 33 | If My.Application.SaveMySettingsOnExit Then 34 | My.Settings.Save() 35 | End If 36 | End Sub 37 | #End If 38 | #End Region 39 | 40 | Public Shared ReadOnly Property [Default]() As MySettings 41 | Get 42 | 43 | #If _MyType = "WindowsForms" Then 44 | If Not addedHandler Then 45 | SyncLock addedHandlerLockObject 46 | If Not addedHandler Then 47 | AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings 48 | addedHandler = True 49 | End If 50 | End SyncLock 51 | End If 52 | #End If 53 | Return defaultInstance 54 | End Get 55 | End Property 56 | End Class 57 | End Namespace 58 | 59 | Namespace My 60 | 61 | _ 64 | Friend Module MySettingsProperty 65 | 66 | _ 67 | Friend ReadOnly Property Settings() As Global.OrionClient.My.MySettings 68 | Get 69 | Return Global.OrionClient.My.MySettings.Default 70 | End Get 71 | End Property 72 | End Module 73 | End Namespace 74 | -------------------------------------------------------------------------------- /Orion Client/My Project/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Orion Client/My Project/app.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Orion Client/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /Orion Client/csfml-audio-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/csfml-audio-2.dll -------------------------------------------------------------------------------- /Orion Client/csfml-graphics-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/csfml-graphics-2.dll -------------------------------------------------------------------------------- /Orion Client/csfml-window-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/csfml-window-2.dll -------------------------------------------------------------------------------- /Orion Client/data files/Credits.txt: -------------------------------------------------------------------------------- 1 | Creator: 2 | JC Snider (jcsnider) 3 | 4 | Base: 5 | Eclipse Origins v1.1.0 by Robin Perris* 6 | 7 | Graphics/Media Engine: 8 | SFML* 9 | 10 | Font: 11 | Arvo-Regular Font by Anton Koovit* 12 | 13 | Temporary Graphics: 14 | Mack's Graphics* 15 | 16 | Inspiration/Support: 17 | Ambard 18 | Joe a.k.a Irokaiser/Kibbelz 19 | 20 | Testing: 21 | Ambard 22 | Timmah 23 | 24 | *License copies can be found in the license directory. -------------------------------------------------------------------------------- /Orion Client/data files/config.ini: -------------------------------------------------------------------------------- 1 | [Options] 2 | Username=admin 3 | Password= 4 | SavePass=False 5 | IP=localhost 6 | Port= 7001 7 | MenuMusic= 8 | Music= 1 9 | Sound= 1 10 | -------------------------------------------------------------------------------- /Orion Client/data files/graphics/GUI/EXPBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/GUI/EXPBar.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/GUI/EXPBarEmpty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/GUI/EXPBarEmpty.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/GUI/HPBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/GUI/HPBar.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/GUI/HPBarEmpty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/GUI/HPBarEmpty.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/GUI/ManaBar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/GUI/ManaBar.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/GUI/ManaBarEmpty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/GUI/ManaBarEmpty.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/MapEditorSelect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/MapEditorSelect.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/actionbar/Character.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/actionbar/Character.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/actionbar/Exit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/actionbar/Exit.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/actionbar/Inventory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/actionbar/Inventory.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/actionbar/Options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/actionbar/Options.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/actionbar/Skills.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/actionbar/Skills.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/actionbar/Trade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/actionbar/Trade.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/blood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/blood.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/characters/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/characters/1.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/characters/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/characters/2.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/direction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/direction.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/misc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/misc.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/tilesets/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/tilesets/1.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/tilesets/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/tilesets/2.png -------------------------------------------------------------------------------- /Orion Client/data files/graphics/tilesets/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/data files/graphics/tilesets/3.png -------------------------------------------------------------------------------- /Orion Client/libsndfile-1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/libsndfile-1.dll -------------------------------------------------------------------------------- /Orion Client/licenses/Graphics (Macks) License.txt: -------------------------------------------------------------------------------- 1 | License Agreement - REFMAP (Macks) Graphics 2 | Link: (Wayback Archive) https://web.archive.org/web/20120709182546/http://www.tekepon.net/fsm/modules/refmap/index.php?mode=rules 3 | 4 | 5 | The free graphics in this section (hereinafter "our resources") were created by REFMAP. 6 | 7 | You must read and agree to the terms and conditions before downloading our resources. Also, check out FAQ if you have any question(s). 8 | 9 | Our Graphic data 10 | 11 | All of our resources are free, without regard to your game is a shareware or a free-ware. Of course, you can also subscribe your game used our graphic data for a game contest. 12 | 13 | Although our resources are for RPG Tkool 2000*1, you can use them for a original programming game, for your website, for a movie, for a screen saver, etc. 14 | 15 | No special permission to use. 16 | 17 | REFMAP and FSM does not take any responsibility of any damage caused by having used our material. 18 | 19 | Rules of Usage 20 | 21 | Although our resources are distributed as a free material, this does NOT mean "copyright abandoned". It only means "no charge to use" and "no need to ask our permission". All of the right of our graphic data is reserved by REFMAP. 22 | 23 | When you use our resources, please indicate in READ ME file (or in somewhere a player can recognize) author name "REFMAP", URL of this website (http://www.tekepon.net/fsm) and mention of using the resources of REFMAP in your game. Moreover, please clearly forbid extracting image data and using them from your game. 24 | 25 | Please write in your READ ME file like this: 26 | 27 | "Some (All) of graphic data in this software are free game resources distributed by REFMAP(http://www.tekepon.net/fsm). 28 | You must not use the graphic data which is in this software, for the purpose except playing this game. When you want to get these resources, go to the website above." 29 | What we forbid 30 | 31 | NEVER sell our graphic data without regard to alerted resources or not. (You can sell your game in which use our resources, but DON'T sell our resources themselves. You can alter our graphic data and distribute alerted one on your website as free resources, but don't sell them even if they looks completely original). 32 | 33 | NEVER distribute secondly. (Don't make our data be able to download in other websites. We don't affiliate any game resources posting websites.) 34 | 35 | When you want alter the resources 36 | 37 | You can use these resources to alter. (Ex: change colors or hairstyle, add weapon, etc.) 38 | 39 | When you alter our resources, you can distribute them on your website or our "Material Database" as long as they are free game resources. (When you distribute altered resources, please write clearly under them that this material changes the REFMAP's free graphics for games, and our URL). 40 | 41 | Caution: 42 | Permission of alteration and distributing altered one is very unique among the game resources websites in Japan. Most of websites don't permit alteration, or permit alteration only making the user's game and don't permit to distribute altered graphics. 43 | Please do not think other websites are the same just because we permit these act. Use of the material of other websites should follow the the policy of the site. ( It is often seen that the game resources on the website in Japan being redistributed without the author's permission. Please do not do such a thing.) 44 | FSM and REFMAP does not take any responsibility of any damage caused by distribution of the secondary processed material, or not approved (no changed material) distribution. 45 | 46 | Required Change to redistribute 47 | 48 | In order to redistribute our graphic data, it is required to add some change that everyone can recognize it is alerted. 49 | 50 | 51 | *1 : 52 | "RPG Tkool" series is the registered trademark of ASCII,Inc. and ENTERBRAIN,Inc. The companies do not approve the software called "maker" series ("RPGMaker2K", "RM95", etc.) distributed by the illegal act, and so we forbid use of our resources for such software. -------------------------------------------------------------------------------- /Orion Client/licenses/SFML License.txt: -------------------------------------------------------------------------------- 1 | SFML License 2 | http://www.sfml-dev.org/license.php 3 | 4 | SFML (Simple and Fast Multimedia Library) - Copyright (c) Laurent Gomila 5 | 6 | This software is provided 'as-is', without any express or implied warranty. 7 | In no event will the authors be held liable for any damages arising from 8 | the use of this software. 9 | 10 | Permission is granted to anyone to use this software for any purpose, 11 | including commercial applications, and to alter it and redistribute it 12 | freely, subject to the following restrictions: 13 | 14 | 1. The origin of this software must not be misrepresented; you must not claim 15 | that you wrote the original software. If you use this software in a product, 16 | an acknowledgment in the product documentation would be appreciated but is 17 | not required. 18 | 19 | 2. Altered source versions must be plainly marked as such, and must not be 20 | misrepresented as being the original software. 21 | 22 | 3. This notice may not be removed or altered from any source distribution. 23 | 24 | 25 | 26 | In short, SFML is free for any use (commercial or personal, proprietary or open-source). You can use SFML in your project without any restriction. You can even omit to mention that you use SFML -- although it would be appreciated. -------------------------------------------------------------------------------- /Orion Client/licenses/SIL Open Font License.txt: -------------------------------------------------------------------------------- 1 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 2 | This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL 3 | 4 | ----------------------------------------------------------- 5 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 6 | ----------------------------------------------------------- 7 | 8 | PREAMBLE 9 | The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. 10 | 11 | The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. 12 | 13 | DEFINITIONS 14 | "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. 15 | 16 | "Reserved Font Name" refers to any names specified as such after the copyright statement(s). 17 | 18 | "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). 19 | 20 | "Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. 21 | 22 | "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. 23 | 24 | PERMISSION & CONDITIONS 25 | Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 26 | 27 | 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. 28 | 29 | 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 30 | 31 | 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 32 | 33 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 34 | 35 | 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. 36 | 37 | TERMINATION 38 | This license becomes null and void if any of the above conditions are not met. 39 | 40 | DISCLAIMER 41 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. -------------------------------------------------------------------------------- /Orion Client/openal32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/openal32.dll -------------------------------------------------------------------------------- /Orion Client/sfmlnet-audio-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/sfmlnet-audio-2.dll -------------------------------------------------------------------------------- /Orion Client/sfmlnet-graphics-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/sfmlnet-graphics-2.dll -------------------------------------------------------------------------------- /Orion Client/sfmlnet-window-2.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcsnider/Orion-Game-Engine/28c7955cc8e1b2028e1760af1b0ae23f9b796f34/Orion Client/sfmlnet-window-2.dll -------------------------------------------------------------------------------- /Orion Game Engine.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 2013 4 | VisualStudioVersion = 12.0.31101.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Orion Client", "Orion Client\Orion Client.vbproj", "{531B337C-BC02-44ED-90C2-C448FE5190A2}" 7 | EndProject 8 | Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Orion Server", "Orion Server\Orion Server.vbproj", "{B554FD23-0844-49D1-A05A-D79CEAD3FA7A}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Debug|x86 = Debug|x86 14 | Release|Any CPU = Release|Any CPU 15 | Release|x86 = Release|x86 16 | EndGlobalSection 17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 18 | {531B337C-BC02-44ED-90C2-C448FE5190A2}.Debug|Any CPU.ActiveCfg = Debug|x86 19 | {531B337C-BC02-44ED-90C2-C448FE5190A2}.Debug|Any CPU.Build.0 = Debug|x86 20 | {531B337C-BC02-44ED-90C2-C448FE5190A2}.Debug|x86.ActiveCfg = Debug|x86 21 | {531B337C-BC02-44ED-90C2-C448FE5190A2}.Debug|x86.Build.0 = Debug|x86 22 | {531B337C-BC02-44ED-90C2-C448FE5190A2}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {531B337C-BC02-44ED-90C2-C448FE5190A2}.Release|Any CPU.Build.0 = Release|Any CPU 24 | {531B337C-BC02-44ED-90C2-C448FE5190A2}.Release|x86.ActiveCfg = Release|x86 25 | {531B337C-BC02-44ED-90C2-C448FE5190A2}.Release|x86.Build.0 = Release|x86 26 | {B554FD23-0844-49D1-A05A-D79CEAD3FA7A}.Debug|Any CPU.ActiveCfg = Debug|x86 27 | {B554FD23-0844-49D1-A05A-D79CEAD3FA7A}.Debug|Any CPU.Build.0 = Debug|x86 28 | {B554FD23-0844-49D1-A05A-D79CEAD3FA7A}.Debug|x86.ActiveCfg = Debug|x86 29 | {B554FD23-0844-49D1-A05A-D79CEAD3FA7A}.Debug|x86.Build.0 = Debug|x86 30 | {B554FD23-0844-49D1-A05A-D79CEAD3FA7A}.Release|Any CPU.ActiveCfg = Release|Any CPU 31 | {B554FD23-0844-49D1-A05A-D79CEAD3FA7A}.Release|Any CPU.Build.0 = Release|Any CPU 32 | {B554FD23-0844-49D1-A05A-D79CEAD3FA7A}.Release|x86.ActiveCfg = Release|x86 33 | {B554FD23-0844-49D1-A05A-D79CEAD3FA7A}.Release|x86.Build.0 = Release|x86 34 | EndGlobalSection 35 | GlobalSection(SolutionProperties) = preSolution 36 | HideSolutionNode = FALSE 37 | EndGlobalSection 38 | EndGlobal 39 | -------------------------------------------------------------------------------- /Orion Server/Classes/clsByteBuffer.vb: -------------------------------------------------------------------------------- 1 | '+-----------------------Class--------------------------+ 2 | Imports System.Text 3 | Public Class ByteBuffer 4 | Implements IDisposable 5 | Dim Buff As List(Of Byte) 6 | Dim readBuff As Byte() 7 | Dim readpos As Integer 8 | Dim buffUpdated = False 9 | Public Sub New() 10 | Buff = New List(Of Byte) 11 | readpos = 0 12 | End Sub 13 | Public Function GetReadPos() As Long 14 | GetReadPos = readpos 15 | End Function 16 | Public Function ToArray() As Byte() 17 | Return Buff.ToArray 18 | End Function 19 | Public Function Count() As Integer 20 | Return Buff.Count 21 | End Function 22 | Public Function Length() As Integer 23 | Length = Count() - readpos 24 | End Function 25 | Public Sub Clear() 26 | Buff.Clear() 27 | readpos = 0 28 | End Sub 29 | Public Sub WriteBytes(ByVal Input() As Byte) 30 | Buff.AddRange(Input) 31 | buffUpdated = True 32 | End Sub 33 | 34 | Public Sub WriteShort(ByVal Input As Short) 35 | Buff.AddRange(BitConverter.GetBytes(Input)) 36 | buffUpdated = True 37 | End Sub 38 | Public Sub WriteInteger(ByVal Input As Integer) 39 | Buff.AddRange(BitConverter.GetBytes(Input)) 40 | buffUpdated = True 41 | End Sub 42 | Public Sub WriteLong(ByVal Input As Long) 43 | Buff.AddRange(BitConverter.GetBytes(Input)) 44 | buffUpdated = True 45 | End Sub 46 | Public Sub WriteString(ByVal Input As String) 47 | Buff.AddRange(BitConverter.GetBytes(Input.Length)) 48 | Buff.AddRange(Encoding.ASCII.GetBytes(Input)) 49 | buffUpdated = True 50 | End Sub 51 | Public Function ReadString(Optional ByVal Peek As Boolean = True) As String 52 | Dim Len As Integer = ReadInteger(True) 53 | If buffUpdated Then 54 | readBuff = Buff.ToArray 55 | buffUpdated = False 56 | End If 57 | Dim ret As String = Encoding.ASCII.GetString(readBuff, readpos, Len) 58 | If Peek And Buff.Count > readpos Then 59 | If ret.Length > 0 Then 60 | readpos += Len 61 | End If 62 | End If 63 | Return ret 64 | End Function 65 | Public Function ReadBytes(ByVal Length As Integer, Optional ByRef Peek As Boolean = True) As Byte() 66 | If buffUpdated Then 67 | readBuff = Buff.ToArray 68 | buffUpdated = False 69 | End If 70 | Dim ret() As Byte = Buff.GetRange(readpos, Length).ToArray 71 | If Peek Then readpos += Length 72 | Return ret 73 | End Function 74 | Public Function ReadShort(Optional ByVal peek As Boolean = True) As Short 75 | If Buff.Count > readpos Then 'check to see if this passes the byte count 76 | If buffUpdated Then 77 | readBuff = Buff.ToArray 78 | buffUpdated = False 79 | End If 80 | Dim ret As Short = BitConverter.ToInt16(readBuff, readpos) 81 | If peek And Buff.Count > readpos Then 82 | readpos += 2 83 | End If 84 | Return ret 85 | Else 86 | Throw New Exception("Byte Buffer Past Limit!") 'past byte count throw a new exception 87 | End If 88 | End Function 89 | Public Function ReadInteger(Optional ByVal peek As Boolean = True) As Integer 90 | If Buff.Count > readpos Then 'check to see if this passes the byte count 91 | If buffUpdated Then 92 | readBuff = Buff.ToArray 93 | buffUpdated = False 94 | End If 95 | Dim ret As Integer = BitConverter.ToInt32(readBuff, readpos) 96 | If peek And Buff.Count > readpos Then 97 | readpos += 4 98 | End If 99 | Return ret 100 | Else 101 | Throw New Exception("Byte Buffer Past Limit!") 'past byte count throw a new exception 102 | End If 103 | End Function 104 | Public Function ReadLong(Optional ByVal peek As Boolean = True) As Long 105 | If Buff.Count >= readpos Then 'check to see if this passes the byte count 106 | If buffUpdated Then 107 | readBuff = Buff.ToArray 108 | buffUpdated = False 109 | End If 110 | Dim ret As Long = BitConverter.ToInt64(readBuff, readpos) 111 | If peek And Buff.Count > readpos Then 112 | readpos += 8 113 | End If 114 | Return ret 115 | Else 116 | Throw New Exception("Byte Buffer Past Limit!") 'past byte count throw a new exception 117 | End If 118 | End Function 119 | 120 | Private disposedValue As Boolean = False ' To detect redundant calls 121 | 122 | ' IDisposable 123 | Protected Overridable Sub Dispose(ByVal disposing As Boolean) 124 | If Not Me.disposedValue Then 125 | If disposing Then 126 | Buff.Clear() 127 | End If 128 | readpos = 0 129 | End If 130 | Me.disposedValue = True 131 | End Sub 132 | 133 | #Region " IDisposable Support " 134 | Public Sub Dispose() Implements IDisposable.Dispose 135 | Dispose(True) 136 | GC.SuppressFinalize(Me) 137 | End Sub 138 | #End Region 139 | 140 | End Class 141 | '+-------------------------End Class-------------------+ 142 | 143 | 144 | -------------------------------------------------------------------------------- /Orion Server/Forms/frmServer.resx: -------------------------------------------------------------------------------- 1 | 2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 17, 17 122 | 123 | 124 | 232, 17 125 | 126 | 127 | 351, 17 128 | 129 | 130 | 131 | AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w 132 | LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACFTeXN0 133 | ZW0uV2luZG93cy5Gb3Jtcy5BeEhvc3QrU3RhdGUBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAYQAAAAIB 134 | AAAAAQAAAAAkAAAAMmM0OWY4MDAtYzJkZC0xMWNmLTlhZDYtMDA4MGM3ZTdiNzhkAAAAACgAAAAhQzQS 135 | CAAAAOUCAADlAgAAktiNJAAABgAAAAAAAAAAAAAAAACQHwAACw== 136 | 137 | 138 | 139 | 465, 17 140 | 141 | -------------------------------------------------------------------------------- /Orion Server/Modules/modConstants.vb: -------------------------------------------------------------------------------- 1 | Module modConstants 2 | 3 | ' Path constants 4 | Public Const ADMIN_LOG As String = "admin.log" 5 | Public Const PLAYER_LOG As String = "player.log" 6 | 7 | ' Version constants 8 | Public Const CLIENT_MAJOR As Byte = 4 9 | Public Const CLIENT_MINOR As Byte = 0 10 | Public Const CLIENT_REVISION As Byte = 0 11 | Public Const MAX_LINES As Integer = 500 ' Used for frmServer.txtText 12 | 13 | Public jcs As Long 14 | 15 | 16 | ' ******************************************************** 17 | ' * The values below must match with the client's values * 18 | ' ******************************************************** 19 | ' General constants 20 | Public Const MAX_PLAYERS As Byte = 70 21 | Public Const MAX_ITEMS As Byte = 255 22 | Public Const MAX_NPCS As Byte = 255 23 | Public Const MAX_ANIMATIONS As Long = 255 24 | Public Const MAX_INV As Byte = 35 25 | Public Const MAX_MAP_ITEMS As Byte = 255 26 | Public Const MAX_MAP_NPCS As Byte = 30 27 | Public Const MAX_SHOPS As Byte = 50 28 | Public Const MAX_PLAYER_SPELLS As Byte = 20 29 | Public Const MAX_SPELLS As Byte = 255 30 | Public Const MAX_TRADES As Byte = 20 31 | Public Const MAX_RESOURCES As Byte = 100 32 | Public Const MAX_LEVELS As Byte = 100 33 | Public Const MAX_BANK As Byte = 100 34 | 35 | ' text color constants 36 | Public Const Black As Byte = 0 37 | Public Const Blue As Byte = 1 38 | Public Const Green As Byte = 2 39 | Public Const Cyan As Byte = 3 40 | Public Const Red As Byte = 4 41 | Public Const Magenta As Byte = 5 42 | Public Const Brown As Byte = 6 43 | Public Const Grey As Byte = 7 44 | Public Const DarkGrey As Byte = 8 45 | Public Const BrightBlue As Byte = 9 46 | Public Const BrightGreen As Byte = 10 47 | Public Const BrightCyan As Byte = 11 48 | Public Const BrightRed As Byte = 12 49 | Public Const Pink As Byte = 13 50 | Public Const Yellow As Byte = 14 51 | Public Const White As Byte = 15 52 | Public Const SayColor As Byte = White 53 | Public Const GlobalColor As Byte = BrightBlue 54 | Public Const BroadcastColor As Byte = White 55 | Public Const TellColor As Byte = BrightGreen 56 | Public Const EmoteColor As Byte = BrightCyan 57 | Public Const AdminColor As Byte = BrightCyan 58 | Public Const HelpColor As Byte = BrightBlue 59 | Public Const WhoColor As Byte = BrightBlue 60 | Public Const JoinLeftColor As Byte = DarkGrey 61 | Public Const NpcColor As Byte = Brown 62 | Public Const AlertColor As Byte = Red 63 | Public Const NewMapColor As Byte = BrightBlue 64 | 65 | ' Boolean constants 66 | Public Const NO As Byte = 0 67 | Public Const YES As Byte = 1 68 | 69 | ' Account constants 70 | Public Const NAME_LENGTH As Byte = 20 71 | 72 | ' Sex constants 73 | Public Const SEX_MALE As Byte = 0 74 | Public Const SEX_FEMALE As Byte = 1 75 | 76 | ' Map constants 77 | Public Const MAX_MAPS As Long = 100 78 | Public Const MAX_MAPX As Byte = 30 79 | Public Const MAX_MAPY As Byte = 30 80 | Public Const MAP_MORAL_NONE As Byte = 0 81 | Public Const MAP_MORAL_SAFE As Byte = 1 82 | 83 | ' Tile consants 84 | Public Const TILE_TYPE_WALKABLE As Byte = 0 85 | Public Const TILE_TYPE_BLOCKED As Byte = 1 86 | Public Const TILE_TYPE_WARP As Byte = 2 87 | Public Const TILE_TYPE_ITEM As Byte = 3 88 | Public Const TILE_TYPE_NPCAVOID As Byte = 4 89 | Public Const TILE_TYPE_KEY As Byte = 5 90 | Public Const TILE_TYPE_KEYOPEN As Byte = 6 91 | Public Const TILE_TYPE_RESOURCE As Byte = 7 92 | Public Const TILE_TYPE_DOOR As Byte = 8 93 | Public Const TILE_TYPE_NPCSPAWN As Byte = 9 94 | Public Const TILE_TYPE_SHOP As Byte = 10 95 | Public Const TILE_TYPE_BANK As Byte = 11 96 | Public Const TILE_TYPE_HEAL As Byte = 12 97 | Public Const TILE_TYPE_TRAP As Byte = 13 98 | 99 | ' Item constants 100 | Public Const ITEM_TYPE_NONE As Byte = 0 101 | Public Const ITEM_TYPE_WEAPON As Byte = 1 102 | Public Const ITEM_TYPE_ARMOR As Byte = 2 103 | Public Const ITEM_TYPE_HELMET As Byte = 3 104 | Public Const ITEM_TYPE_SHIELD As Byte = 4 105 | Public Const ITEM_TYPE_POTIONADDHP As Byte = 5 106 | Public Const ITEM_TYPE_POTIONADDMP As Byte = 6 107 | Public Const ITEM_TYPE_POTIONADDSP As Byte = 7 108 | Public Const ITEM_TYPE_POTIONSUBHP As Byte = 8 109 | Public Const ITEM_TYPE_POTIONSUBMP As Byte = 9 110 | Public Const ITEM_TYPE_POTIONSUBSP As Byte = 10 111 | Public Const ITEM_TYPE_KEY As Byte = 11 112 | Public Const ITEM_TYPE_CURRENCY As Byte = 12 113 | Public Const ITEM_TYPE_SPELL As Byte = 13 114 | 115 | ' Direction constants 116 | Public Const DIR_UP As Byte = 0 117 | Public Const DIR_DOWN As Byte = 1 118 | Public Const DIR_LEFT As Byte = 2 119 | Public Const DIR_RIGHT As Byte = 3 120 | 121 | ' Constants for player movement 122 | Public Const MOVING_WALKING As Byte = 1 123 | Public Const MOVING_RUNNING As Byte = 2 124 | 125 | ' Admin constants 126 | Public Const ADMIN_MONITOR As Byte = 1 127 | Public Const ADMIN_MAPPER As Byte = 2 128 | Public Const ADMIN_DEVELOPER As Byte = 3 129 | Public Const ADMIN_CREATOR As Byte = 4 130 | 131 | ' NPC constants 132 | Public Const NPC_BEHAVIOUR_ATTACKONSIGHT As Byte = 0 133 | Public Const NPC_BEHAVIOUR_ATTACKWHENATTACKED As Byte = 1 134 | Public Const NPC_BEHAVIOUR_FRIENDLY As Byte = 2 135 | Public Const NPC_BEHAVIOUR_SHOPKEEPER As Byte = 3 136 | Public Const NPC_BEHAVIOUR_GUARD As Byte = 4 137 | 138 | ' Spell constants 139 | Public Const SPELL_TYPE_DAMAGEHP As Byte = 0 140 | Public Const SPELL_TYPE_DAMAGEMP As Byte = 1 141 | Public Const SPELL_TYPE_HEALHP As Byte = 2 142 | Public Const SPELL_TYPE_HEALMP As Byte = 3 143 | Public Const SPELL_TYPE_WARP As Byte = 4 144 | 145 | ' Game editor constants 146 | Public Const EDITOR_ITEM As Byte = 1 147 | Public Const EDITOR_NPC As Byte = 2 148 | Public Const EDITOR_SPELL As Byte = 3 149 | Public Const EDITOR_SHOP As Byte = 4 150 | 151 | ' Target type constants 152 | Public Const TARGET_TYPE_NONE As Byte = 0 153 | Public Const TARGET_TYPE_PLAYER As Byte = 1 154 | Public Const TARGET_TYPE_NPC As Byte = 2 155 | 156 | ' ******************************************** 157 | ' Default starting location [Server Only] 158 | Public Const START_MAP As Integer = 1 159 | Public Const START_X As Integer = 5 160 | Public Const START_Y As Integer = 5 161 | 162 | ' Scrolling action message constants 163 | Public Const ACTIONMSG_STATIC As Long = 0 164 | Public Const ACTIONMSG_SCROLL As Long = 1 165 | Public Const ACTIONMSG_SCREEN As Long = 2 166 | 167 | ' Do Events 168 | Public Const nLng As Long = (&H80 Or &H1 Or &H4 Or &H20) + (&H8 Or &H40) 169 | 170 | End Module 171 | -------------------------------------------------------------------------------- /Orion Server/Modules/modEnumerations.vb: -------------------------------------------------------------------------------- 1 | Module modEnumerations 2 | 3 | ' The order of the packets must match with the client's packet enumeration 4 | 5 | ' Packets sent by server to client 6 | Public Enum ServerPackets 7 | SAlertMsg = 1 8 | SLoginOk 9 | SNewCharClasses 10 | SClassesData 11 | SInGame 12 | SPlayerInv 13 | SPlayerInvUpdate 14 | SPlayerWornEq 15 | SPlayerHp 16 | SPlayerMp 17 | SPlayerSp 18 | SPlayerStats 19 | SPlayerData 20 | SPlayerMove 21 | SNpcMove 22 | SPlayerDir 23 | SNpcDir 24 | SPlayerXY 25 | SAttack 26 | SNpcAttack 27 | SCheckForMap 28 | SMapData 29 | SMapItemData 30 | SMapNpcData 31 | SMapDone 32 | SGlobalMsg 33 | SAdminMsg 34 | SPlayerMsg 35 | SMapMsg 36 | SSpawnItem 37 | SItemEditor 38 | SUpdateItem 39 | SREditor 40 | SSpawnNpc 41 | SNpcDead 42 | SNpcEditor 43 | SUpdateNpc 44 | SMapKey 45 | SEditMap 46 | SShopEditor 47 | SUpdateShop 48 | SSpellEditor 49 | SUpdateSpell 50 | SSpells 51 | SLeftMap 52 | SResourceCache 53 | SResourceEditor 54 | SUpdateResource 55 | SSendPing 56 | SDoorAnimation 57 | SActionMsg 58 | SPlayerEXP 59 | SBlood 60 | SAnimationEditor 61 | SUpdateAnimation 62 | SAnimation 63 | SMapNpcVitals 64 | SCooldown 65 | SClearSpellBuffer 66 | SSayMsg 67 | SOpenShop 68 | SResetShopAction 69 | SStunned 70 | SMapWornEq 71 | SBank 72 | SClearTradeTimer 73 | STrade 74 | SCloseTrade 75 | STradeUpdate 76 | STradeStatus 77 | SGameData 78 | ' Make sure SMSG_COUNT is below everything else 79 | SMSG_COUNT 80 | End Enum 81 | 82 | ' Packets sent by client to server 83 | Public Enum ClientPackets 84 | CNewAccount = 1 85 | CDelAccount 86 | CLogin 87 | CAddChar 88 | CUseChar 89 | CSayMsg 90 | CEmoteMsg 91 | CBroadcastMsg 92 | CPlayerMsg 93 | CPlayerMove 94 | CPlayerDir 95 | CUseItem 96 | CAttack 97 | CUseStatPoint 98 | CPlayerInfoRequest 99 | CWarpMeTo 100 | CWarpToMe 101 | CWarpTo 102 | CSetSprite 103 | CGetStats 104 | CRequestNewMap 105 | CMapData 106 | CNeedMap 107 | CMapGetItem 108 | CMapDropItem 109 | CMapRespawn 110 | CMapReport 111 | CKickPlayer 112 | CBanList 113 | CBanDestroy 114 | CBanPlayer 115 | CRequestEditMap 116 | CRequestEditItem 117 | CSaveItem 118 | CRequestEditNpc 119 | CSaveNpc 120 | CRequestEditShop 121 | CSaveShop 122 | CRequestEditSpell 123 | CSaveSpell 124 | CSetAccess 125 | CWhosOnline 126 | CSetMotd 127 | CSearch 128 | CParty 129 | CJoinParty 130 | CLeaveParty 131 | CSpells 132 | CCast 133 | CQuit 134 | CSwapInvSlots 135 | CRequestEditResource 136 | CSaveResource 137 | CCheckPing 138 | CUnequip 139 | CRequestPlayerData 140 | CRequestItems 141 | CRequestNPCS 142 | CRequestResources 143 | CSpawnItem 144 | CTrainStat 145 | CRequestEditAnimation 146 | CSaveAnimation 147 | CRequestAnimations 148 | CRequestSpells 149 | CRequestShops 150 | CRequestLevelUp 151 | CForgetSpell 152 | CCloseShop 153 | CBuyItem 154 | CSellItem 155 | CChangeBankSlots 156 | CDepositItem 157 | CWithdrawItem 158 | CCloseBank 159 | CAdminWarp 160 | CTradeRequest 161 | CAcceptTrade 162 | CDeclineTrade 163 | CTradeItem 164 | CUntradeItem 165 | ' Make sure CMSG_COUNT is below everything else 166 | CMSG_COUNT 167 | End Enum 168 | 169 | 170 | ' Stats used by Players, Npcs and Classes 171 | Public Enum Stats 172 | strength = 1 173 | endurance 174 | vitality 175 | willpower 176 | intelligence 177 | spirit 178 | ' Make sure Stat_Count is below everything else 179 | Stat_Count 180 | End Enum 181 | 182 | ' Vitals used by Players, Npcs and Classes 183 | Public Enum Vitals 184 | HP = 1 185 | MP 186 | SP 187 | ' Make sure Vital_Count is below everything else 188 | Vital_Count 189 | End Enum 190 | 191 | ' Equipment used by Players 192 | Public Enum Equipment 193 | Weapon = 1 194 | Armor 195 | Helmet 196 | Shield 197 | ' Make sure Equipment_Count is below everything else 198 | Equipment_Count 199 | End Enum 200 | 201 | ' Layers in a map 202 | Public Enum MapLayer 203 | Ground = 1 204 | Mask 205 | Mask2 206 | Fringe 207 | Fringe2 208 | ' Make sure Layer_Count is below everything else 209 | Layer_Count 210 | End Enum 211 | 212 | End Module 213 | -------------------------------------------------------------------------------- /Orion Server/Modules/modGlobals.vb: -------------------------------------------------------------------------------- 1 | Imports System.Net.Sockets 2 | 3 | Module modGlobals 4 | 5 | Public ConsoleText As String 6 | 7 | ' Used for closing key doors again 8 | Public KeyTimer As Long 9 | ' Used for gradually giving back npcs hp 10 | Public GiveNPCHPTimer As Long 11 | ' Used for logging 12 | Public ServerLog As Boolean 13 | ' Text vars 14 | Public vbQuote As String 15 | ' Maximum classes 16 | Public Max_Classes As Byte 17 | ' Used for server loop 18 | Public ServerOnline As Boolean 19 | ' Used for outputting text 20 | Public NumLines As Long 21 | ' Used to handle shutting down server with countdown. 22 | Public isShuttingDown As Boolean 23 | Public Secs As Long 24 | Public TotalPlayersOnline As Long 25 | 26 | Public Game_Port As Long 27 | 28 | Public TempMapData As Byte 29 | 30 | End Module 31 | -------------------------------------------------------------------------------- /Orion Server/Modules/modINIAccess.vb: -------------------------------------------------------------------------------- 1 | Option Strict On 2 | Module modINIAccess 3 | 4 | #Region "API Calls" 5 | ' standard API declarations for INI access 6 | ' changing only "As Long" to "As Int32" (As Integer would work also) 7 | Private Declare Unicode Function WritePrivateProfileString Lib "kernel32" _ 8 | Alias "WritePrivateProfileStringW" (ByVal lpApplicationName As String, _ 9 | ByVal lpKeyName As String, ByVal lpString As String, _ 10 | ByVal lpFileName As String) As Int32 11 | 12 | Private Declare Unicode Function GetPrivateProfileString Lib "kernel32" _ 13 | Alias "GetPrivateProfileStringW" (ByVal lpApplicationName As String, _ 14 | ByVal lpKeyName As String, ByVal lpDefault As String, _ 15 | ByVal lpReturnedString As String, ByVal nSize As Int32, _ 16 | ByVal lpFileName As String) As Int32 17 | #End Region 18 | 19 | Public Function INIRead(ByVal INIPath As String, _ 20 | ByVal SectionName As String, ByVal KeyName As String, _ 21 | ByVal DefaultValue As String) As String 22 | ' primary version of call gets single value given all parameters 23 | Dim n As Int32 24 | Dim sData As String 25 | sData = Space$(1024) ' allocate some room 26 | n = GetPrivateProfileString(SectionName, KeyName, DefaultValue, _ 27 | sData, sData.Length, INIPath) 28 | If n > 0 Then ' return whatever it gave us 29 | INIRead = sData.Substring(0, n) 30 | Else 31 | INIRead = "" 32 | End If 33 | End Function 34 | 35 | #Region "INIRead Overloads" 36 | Public Function Getvar(ByVal INIPath As String, _ 37 | ByVal SectionName As String, ByVal KeyName As String) As String 38 | ' overload 1 assumes zero-length default 39 | Return INIRead(INIPath, SectionName, KeyName, "") 40 | End Function 41 | #End Region 42 | 43 | Public Sub PutVar(ByVal INIPath As String, ByVal SectionName As String, ByVal KeyName As String, ByVal TheValue As String) 44 | Call WritePrivateProfileString(SectionName, KeyName, TheValue, INIPath) 45 | End Sub 46 | 47 | Public Sub INIDelete(ByVal INIPath As String, ByVal SectionName As String, _ 48 | ByVal KeyName As String) ' delete single line from section 49 | Call WritePrivateProfileString(SectionName, KeyName, Nothing, INIPath) 50 | End Sub 51 | 52 | Public Sub INIDelete(ByVal INIPath As String, ByVal SectionName As String) 53 | ' delete section from INI file 54 | Call WritePrivateProfileString(SectionName, Nothing, Nothing, INIPath) 55 | End Sub 56 | End Module 57 | -------------------------------------------------------------------------------- /Orion Server/Modules/modTemps.vb: -------------------------------------------------------------------------------- 1 | Module modTemps 2 | Public NeedToUpDatePlayerList As Boolean 3 | End Module 4 | -------------------------------------------------------------------------------- /Orion Server/My Project/Application.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.18444 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | Namespace My 16 | 17 | 'NOTE: This file is auto-generated; do not modify it directly. To make changes, 18 | ' or if you encounter build errors in this file, go to the Project Designer 19 | ' (go to Project Properties or double-click the My Project node in 20 | ' Solution Explorer), and make changes on the Application tab. 21 | ' 22 | Partial Friend Class MyApplication 23 | 24 | _ 25 | Public Sub New() 26 | MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) 27 | Me.IsSingleInstance = false 28 | Me.EnableVisualStyles = true 29 | Me.SaveMySettingsOnExit = true 30 | Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses 31 | End Sub 32 | 33 | _ 34 | Protected Overrides Sub OnCreateMainForm() 35 | Me.MainForm = Global.OrionServer.frmServer 36 | End Sub 37 | End Class 38 | End Namespace 39 | -------------------------------------------------------------------------------- /Orion Server/My Project/Application.myapp: -------------------------------------------------------------------------------- 1 |  2 | 3 | true 4 | frmServer 5 | false 6 | 0 7 | true 8 | 0 9 | true 10 | -------------------------------------------------------------------------------- /Orion Server/My Project/AssemblyInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System 2 | Imports System.Reflection 3 | Imports System.Runtime.InteropServices 4 | 5 | ' General Information about an assembly is controlled through the following 6 | ' set of attributes. Change these attribute values to modify the information 7 | ' associated with an assembly. 8 | 9 | ' Review the values of the assembly attributes 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 'The following GUID is for the ID of the typelib if this project is exposed to COM 21 | 22 | 23 | ' Version information for an assembly consists of the following four values: 24 | ' 25 | ' Major Version 26 | ' Minor Version 27 | ' Build Number 28 | ' Revision 29 | ' 30 | ' You can specify all the values or you can default the Build and Revision Numbers 31 | ' by using the '*' as shown below: 32 | ' 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /Orion Server/My Project/Resources.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.18444 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | Imports System 15 | 16 | Namespace My.Resources 17 | 18 | 'This class was auto-generated by the StronglyTypedResourceBuilder 19 | 'class via a tool like ResGen or Visual Studio. 20 | 'To add or remove a member, edit your .ResX file then rerun ResGen 21 | 'with the /str option, or rebuild your VS project. 22 | ''' 23 | ''' A strongly-typed resource class, for looking up localized strings, etc. 24 | ''' 25 | _ 29 | Friend Module Resources 30 | 31 | Private resourceMan As Global.System.Resources.ResourceManager 32 | 33 | Private resourceCulture As Global.System.Globalization.CultureInfo 34 | 35 | ''' 36 | ''' Returns the cached ResourceManager instance used by this class. 37 | ''' 38 | _ 39 | Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager 40 | Get 41 | If Object.ReferenceEquals(resourceMan, Nothing) Then 42 | Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("OrionServer.Resources", GetType(Resources).Assembly) 43 | resourceMan = temp 44 | End If 45 | Return resourceMan 46 | End Get 47 | End Property 48 | 49 | ''' 50 | ''' Overrides the current thread's CurrentUICulture property for all 51 | ''' resource lookups using this strongly typed resource class. 52 | ''' 53 | _ 54 | Friend Property Culture() As Global.System.Globalization.CultureInfo 55 | Get 56 | Return resourceCulture 57 | End Get 58 | Set 59 | resourceCulture = value 60 | End Set 61 | End Property 62 | End Module 63 | End Namespace 64 | -------------------------------------------------------------------------------- /Orion Server/My Project/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /Orion Server/My Project/Settings.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.18444 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | 15 | Namespace My 16 | 17 | _ 20 | Partial Friend NotInheritable Class MySettings 21 | Inherits Global.System.Configuration.ApplicationSettingsBase 22 | 23 | Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) 24 | 25 | #Region "My.Settings Auto-Save Functionality" 26 | #If _MyType = "WindowsForms" Then 27 | Private Shared addedHandler As Boolean 28 | 29 | Private Shared addedHandlerLockObject As New Object 30 | 31 | _ 32 | Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) 33 | If My.Application.SaveMySettingsOnExit Then 34 | My.Settings.Save() 35 | End If 36 | End Sub 37 | #End If 38 | #End Region 39 | 40 | Public Shared ReadOnly Property [Default]() As MySettings 41 | Get 42 | 43 | #If _MyType = "WindowsForms" Then 44 | If Not addedHandler Then 45 | SyncLock addedHandlerLockObject 46 | If Not addedHandler Then 47 | AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings 48 | addedHandler = True 49 | End If 50 | End SyncLock 51 | End If 52 | #End If 53 | Return defaultInstance 54 | End Get 55 | End Property 56 | End Class 57 | End Namespace 58 | 59 | Namespace My 60 | 61 | _ 64 | Friend Module MySettingsProperty 65 | 66 | _ 67 | Friend ReadOnly Property Settings() As Global.OrionServer.My.MySettings 68 | Get 69 | Return Global.OrionServer.My.MySettings.Default 70 | End Get 71 | End Property 72 | End Module 73 | End Namespace 74 | -------------------------------------------------------------------------------- /Orion Server/My Project/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Orion Server/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Orion Game Engine 2 | ================= 3 | 4 | Simple 2D ORPG Game Engine written in VB.Net 5 | 6 | Home: http://www.ascensionforums.com 7 | 8 | What is it? 9 | =========== 10 | This is a simple, tilebased 2D ORPG game engine. It features a client and server application setup with a basic GUI on both ends. 11 | 12 | Game Features: 13 | ============== 14 | Basic Character Creation/Class Selection 15 | Movement/Attacking 16 | NPC/Computer Characters for attacking 17 | Items & Spells 18 | 19 | Creation Features: 20 | ================== 21 | The client has editors for the world (maps), items, spells, animations, npcs, and more from the in game admin panel. 22 | 23 | How do I use this software? 24 | =========================== 25 | If you are a programmer then you will probably prefer to compile the most recent version from source. Download the engine here, open up the solution in Visual Studio compile both projects and start the client and server application. They should connect automatically. IP and Port options are stored in the root/data (files)/config.ini files. 26 | 27 | How do I access the editors? 28 | ============================ 29 | Log into the game with the client. On the server, open the player list, right click on your character and promote yourself to an admin. Go back to the client and tap F1 for each of the editor options. 30 | 31 | Support & Updates: 32 | ================== 33 | The home for this engine is http://ascensionforums.com if you need support or tips in game creation feel free to visit us. If you find any bugs feel free to report them with the issue tracker. 34 | 35 | We do have some updates planned for this engine. At this point in time my friend and colleague Joe (aka Kibbelz/Irokaiser) and I will be periodically releasing basic features and bug fixes for this engine. 36 | 37 | Right now Orion is lacking features but it is a great base for programmers to sculpt into their own vision, we want to keep it that way so I wouldn't expect a fully featured game creation kit to form from this anytime soon. 38 | --------------------------------------------------------------------------------