Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ''
- ' Handles the BlacksmithWeapons message.
- Private Sub HandleBlacksmithWeapons()
- '***************************************************
- 'Author: Juan Martín Sotuyo Dodero (Maraxus)
- 'Last Modification: 05/17/06
- '
- '***************************************************
- If incomingData.length < 3 Then
- Err.Raise incomingData.NotEnoughDataErrCode
- Exit Sub
- End If
- On Error GoTo ErrHandler
- 'This packet contains strings, make a copy of the data to prevent losses if it's not complete yet...
- Dim Buffer As New clsByteQueue
- Call Buffer.CopyBuffer(incomingData)
- 'Remove packet ID
- Call Buffer.ReadByte
- Dim Count As Integer
- Dim i As Long
- Dim j As Long
- Dim k As Long
- Count = Buffer.ReadInteger()
- ReDim ArmasHerrero(Count) As tItemsConstruibles
- ReDim HerreroMejorar(0) As tItemsConstruibles
- For i = 1 To Count
- With ArmasHerrero(i)
- .Name = Buffer.ReadASCIIString() 'Get the object's name
- .GrhIndex = Buffer.ReadInteger()
- .LinH = Buffer.ReadInteger() 'The iron needed
- .LinP = Buffer.ReadInteger() 'The silver needed
- .LinO = Buffer.ReadInteger() 'The gold needed
- .ObjIndex = Buffer.ReadInteger()
- .Upgrade = Buffer.ReadInteger()
- End With
- Next i
- With frmHerrero
- ' Inicializo los inventarios
- Call InvLingosHerreria(1).Initialize(DirectDraw, .picLingotes0, 3, , , , , , False)
- Call InvLingosHerreria(2).Initialize(DirectDraw, .picLingotes1, 3, , , , , , False)
- Call InvLingosHerreria(3).Initialize(DirectDraw, .picLingotes2, 3, , , , , , False)
- Call InvLingosHerreria(4).Initialize(DirectDraw, .picLingotes3, 3, , , , , , False)
- Call .HideExtraControls(Count)
- Call .RenderList(1, True)
- End With
- For i = 1 To Count
- With ArmasHerrero(i)
- If .Upgrade Then
- For k = 1 To Count
- If .Upgrade = ArmasHerrero(k).ObjIndex Then
- j = j + 1
- ReDim Preserve HerreroMejorar(j) As tItemsConstruibles
- HerreroMejorar(j).Name = .Name
- HerreroMejorar(j).GrhIndex = .GrhIndex
- HerreroMejorar(j).ObjIndex = .ObjIndex
- HerreroMejorar(j).UpgradeName = ArmasHerrero(k).Name
- HerreroMejorar(j).UpgradeGrhIndex = ArmasHerrero(k).GrhIndex
- HerreroMejorar(j).LinH = ArmasHerrero(k).LinH - .LinH * 0.85
- HerreroMejorar(j).LinP = ArmasHerrero(k).LinP - .LinP * 0.85
- HerreroMejorar(j).LinO = ArmasHerrero(k).LinO - .LinO * 0.85
- Exit For
- End If
- Next k
- End If
- End With
- Next i
- 'If we got here then packet is complete, copy data back to original queue
- Call incomingData.CopyBuffer(Buffer)
- ErrHandler:
- Dim error As Long
- error = Err.number
- On Error GoTo 0
- 'Destroy auxiliar buffer
- Set Buffer = Nothing
- If error <> 0 Then _
- Err.Raise error
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement