Skip to content

Commit

Permalink
simplify release user slot logic (#389)
Browse files Browse the repository at this point in the history
  • Loading branch information
matiascalegaris authored Sep 18, 2023
1 parent 613a3b0 commit 894db56
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 15 deletions.
17 changes: 8 additions & 9 deletions Codigo/Modulo_UsUaRiOs.bas
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,7 @@ End Sub

Public Function ReleaseUser(ByVal UserIndex As Integer) As Boolean
On Error GoTo ErrHandler
If UserList(UserIndex).ConnIDValida Or _
UserList(UserIndex).flags.UserLogged Or _
UserList(UserIndex).flags.IsSlotFree Then
If UserList(UserIndex).flags.IsSlotFree Then
ReleaseUser = False
Exit Function
End If
Expand Down Expand Up @@ -77,6 +75,7 @@ On Error GoTo ErrHandler
AvailableUserSlot.currentIndex = AvailableUserSlot.currentIndex - 1
If Not UserList(GetNextAvailableUserSlot).flags.IsSlotFree Then
Call TraceError(Err.Number, "Trying to active the same user slot twice", "UserMod.GetNextAvailableUserSlot", Erl)
GetNextAvailableUserSlot = -1
End If
UserList(GetNextAvailableUserSlot).flags.IsSlotFree = False
Exit Function
Expand Down Expand Up @@ -225,8 +224,8 @@ On Error GoTo Check_ConnectUser_Err
End If

If EsGM(UserIndex) Then
Call SendData(SendTarget.ToAdmins, 0, PrepareMessageConsoleMsg("Servidor » " & Name & " se conecto al juego.", e_FontTypeNames.FONTTYPE_INFOBOLD))
Call LogGM(Name, "Se conectó con IP: " & .IP)
Call SendData(SendTarget.ToAdmins, 0, PrepareMessageConsoleMsg("Servidor » " & name & " se conecto al juego.", e_FontTypeNames.FONTTYPE_INFOBOLD))
Call LogGM(name, "Se conectó con IP: " & .IP)
End If
End With

Expand Down Expand Up @@ -766,10 +765,10 @@ On Error GoTo Complete_ConnectUser_Err
1120 Call WriteLoggedMessage(UserIndex, newUser)

1125 If .Stats.ELV = 1 Then
1130 Call WriteConsoleMsg(UserIndex, "¡Bienvenido a las tierras de AO20! ¡" & .Name & " que tengas buen viaje y mucha suerte!", e_FontTypeNames.FONTTYPE_GUILD)
1130 Call WriteConsoleMsg(UserIndex, "¡Bienvenido a las tierras de AO20! ¡" & .name & " que tengas buen viaje y mucha suerte!", e_FontTypeNames.FONTTYPE_GUILD)

1135 ElseIf .Stats.ELV < 14 Then
1140 Call WriteConsoleMsg(UserIndex, "¡Bienvenido de nuevo " & .Name & "! Actualmente estas en el nivel " & .Stats.ELV & " en " & get_map_name(.Pos.Map) & ", ¡buen viaje y mucha suerte!", e_FontTypeNames.FONTTYPE_GUILD)
1140 Call WriteConsoleMsg(UserIndex, "¡Bienvenido de nuevo " & .name & "! Actualmente estas en el nivel " & .Stats.ELV & " en " & get_map_name(.pos.Map) & ", ¡buen viaje y mucha suerte!", e_FontTypeNames.FONTTYPE_GUILD)

End If

Expand Down Expand Up @@ -3433,10 +3432,10 @@ On Error GoTo DoDamageOrHeal_Err
DamageStr = PonerPuntos(Math.Abs(Amount))
If SourceType = eUser Then
If UserList(SourceIndex).ChatCombate = 1 And DoDamageText > 0 Then
Call WriteLocaleMsg(SourceIndex, DoDamageText, e_FontTypeNames.FONTTYPE_FIGHT, UserList(UserIndex).Name & "¬" & DamageStr)
Call WriteLocaleMsg(SourceIndex, DoDamageText, e_FontTypeNames.FONTTYPE_FIGHT, UserList(UserIndex).name & "¬" & DamageStr)
End If
If UserList(UserIndex).ChatCombate = 1 And GotDamageText > 0 Then
Call WriteLocaleMsg(UserIndex, GotDamageText, e_FontTypeNames.FONTTYPE_FIGHT, UserList(SourceIndex).Name & "¬" & DamageStr)
Call WriteLocaleMsg(UserIndex, GotDamageText, e_FontTypeNames.FONTTYPE_FIGHT, UserList(SourceIndex).name & "¬" & DamageStr)
End If
End If
amount = EffectsOverTime.TargetApplyDamageReduction(UserList(UserIndex).EffectOverTime, amount, SourceIndex, SourceType, DamageSourceType)
Expand Down
5 changes: 1 addition & 4 deletions Codigo/TCP.bas
Original file line number Diff line number Diff line change
Expand Up @@ -657,11 +657,10 @@ Sub CloseSocket(ByVal UserIndex As Integer)

Else
136 Call ResetUserSlot(UserIndex)

End If

140 .ConnIDValida = False
142 Call ReleaseUser(UserIndex)

End With


Expand All @@ -671,7 +670,6 @@ ErrHandler:

144 UserList(UserIndex).ConnIDValida = False
146 Call ResetUserSlot(UserIndex)
Call ReleaseUser(UserIndex)
148 Call TraceError(Err.Number, Err.Description, "TCP.CloseSocket", Erl)


Expand All @@ -686,7 +684,6 @@ Sub CloseSocketSL(ByVal UserIndex As Integer)
102 Call modNetwork.Kick(UserIndex)

106 UserList(UserIndex).ConnIDValida = False
Call ReleaseUser(UserIndex)
End If

Exit Sub
Expand Down
2 changes: 0 additions & 2 deletions Codigo/modNetwork.bas
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,6 @@ Public Sub close_not_logged_sockets_if_timeout()
Else
.ConnID = 0
.ConnIDValida = False
Call ReleaseUser(i)
Call TraceError(Err.Number, Err.Description, "trying to kick an invalid mapping", Erl)
End If
End If
Expand Down Expand Up @@ -201,7 +200,6 @@ On Error GoTo OnServerClose_Err:

132 UserList(UserRef.ArrayIndex).ConnIDValida = False
134 UserList(UserRef.ArrayIndex).ConnID = 0
136 Call ReleaseUser(UserRef.ArrayIndex)
End If
138 Call ClearUserRef(Mapping(Connection))

Expand Down

0 comments on commit 894db56

Please sign in to comment.