Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. Public Sub CheckUserLevelF1(ByVal UserIndex As Integer)
  3.  
  4.     Dim AumentoHIT As Integer
  5.     Dim AumentoMANA As Integer
  6.     Dim AumentoSTA As Integer
  7.     Dim AumentoHP As Integer
  8.     Dim WasNewbie As Boolean
  9.  
  10.     Dim MinHP As Integer
  11.     Dim MaxHP As Integer
  12.  
  13.     On Error GoTo errHandler
  14.  
  15.     WasNewbie = EsNewbie(UserIndex)
  16.  
  17.     With UserList(UserIndex)
  18.  
  19.         .Stats.ELV = .Stats.ELV + 1
  20.         .Stats.Exp = 0
  21.        
  22.         ' ++ Esto es lo único que tendrías que acomodar no lo debes tener!
  23.        .Stats.ELU = Get_ExpLvl(.Stats.ELV)
  24.  
  25.         Select Case .Clase
  26.  
  27.             Case eClass.Warrior
  28.                 Select Case .Stats.UserAtributos(eAtributos.Constitucion)
  29.                     Case 21
  30.                         MinHP = 9
  31.                         MaxHP = 12
  32.                     Case 20
  33.                         MinHP = 8
  34.                         MaxHP = 12
  35.                     Case 19
  36.                         MinHP = 8
  37.                         MaxHP = 11
  38.                     Case 18
  39.                         MinHP = 7
  40.                         MaxHP = 11
  41.                 End Select
  42.  
  43.                 AumentoHIT = IIf(.Stats.ELV > 35, 2, 3)
  44.                 AumentoSTA = AumentoSTDef
  45.  
  46.             Case eClass.Hunter
  47.  
  48.                 Select Case .Stats.UserAtributos(eAtributos.Constitucion)
  49.                     Case 21
  50.                         MinHP = 9
  51.                         MaxHP = 11
  52.                     Case 20
  53.                         MinHP = 8
  54.                         MaxHP = 11
  55.                     Case 19
  56.                         MinHP = 6
  57.                         MaxHP = 11
  58.                     Case 18
  59.                         MinHP = 6
  60.                         MaxHP = 10
  61.                 End Select
  62.  
  63.                 AumentoHIT = IIf(.Stats.ELV > 35, 2, 3)
  64.                 AumentoSTA = AumentoSTDef
  65.  
  66.             Case eClass.Pirat
  67.  
  68.                 Select Case .Stats.UserAtributos(eAtributos.Constitucion)
  69.                     Case 21
  70.                         MinHP = 9
  71.                         MaxHP = 11
  72.                     Case 20
  73.                         MinHP = 8
  74.                         MaxHP = 11
  75.                     Case 19
  76.                         MinHP = 7
  77.                         MaxHP = 11
  78.                     Case 18
  79.                         MinHP = 6
  80.                         MaxHP = 11
  81.                 End Select
  82.  
  83.                 AumentoHIT = 2
  84.                 AumentoSTA = AumentoSTDef
  85.  
  86.             Case eClass.Paladin
  87.  
  88.                 Select Case .Stats.UserAtributos(eAtributos.Constitucion)
  89.                     Case 21
  90.                         MinHP = 9
  91.                         MaxHP = 11
  92.                     Case 20
  93.                         MinHP = 8
  94.                         MaxHP = 11
  95.                     Case 19
  96.                         MinHP = 7
  97.                         MaxHP = 11
  98.                     Case 18
  99.                         MinHP = 6
  100.                         MaxHP = 11
  101.                 End Select
  102.  
  103.                 AumentoHIT = IIf(.Stats.ELV > 35, 1, 3)
  104.                 AumentoMANA = .Stats.UserAtributos(eAtributos.Inteligencia)
  105.                 AumentoSTA = AumentoSTDef
  106.  
  107.             Case eClass.Thief
  108.  
  109.                 Select Case .Stats.UserAtributos(eAtributos.Constitucion)
  110.                     Case 21
  111.                         MinHP = 6
  112.                         MaxHP = 9
  113.                     Case 20
  114.                         MinHP = 5
  115.                         MaxHP = 9
  116.                     Case 19
  117.                         MinHP = 4
  118.                         MaxHP = 9
  119.                     Case 18
  120.                         MinHP = 4
  121.                         MaxHP = 8
  122.                 End Select
  123.  
  124.                 AumentoHIT = 2
  125.                 AumentoSTA = AumentoSTLadron
  126.  
  127.             Case eClass.Mage
  128.  
  129.                 Select Case .Stats.UserAtributos(eAtributos.Constitucion)
  130.                     Case 21
  131.                         MinHP = 6
  132.                         MaxHP = 9
  133.                     Case 20
  134.                         MinHP = 5
  135.                         MaxHP = 8
  136.                     Case 19
  137.                         MinHP = 4
  138.                         MaxHP = 8
  139.                     Case 18
  140.                         MinHP = 3
  141.                         MaxHP = 8
  142.                 End Select
  143.  
  144.                 AumentoHIT = 1
  145.                 AumentoSTA = AumentoSTMago
  146.  
  147.                 If (.Stats.MaxMAN >= 2000) Then
  148.                     AumentoMANA = (3 * .Stats.UserAtributos(eAtributos.Inteligencia)) / 2
  149.                 Else
  150.                     AumentoMANA = 3 * .Stats.UserAtributos(eAtributos.Inteligencia)
  151.                 End If
  152.  
  153.             Case eClass.Worker
  154.  
  155.                 Select Case .Stats.UserAtributos(eAtributos.Constitucion)
  156.                     Case 21
  157.                         MinHP = 9
  158.                         MaxHP = 12
  159.                     Case 20
  160.                         MinHP = 8
  161.                         MaxHP = 12
  162.                     Case 19
  163.                         MinHP = 7
  164.                         MaxHP = 11
  165.                     Case 18
  166.                         MinHP = 6
  167.                         MaxHP = 11
  168.                 End Select
  169.  
  170.                 AumentoHIT = 2
  171.                 AumentoSTA = AumentoSTTrabajador
  172.  
  173.             Case eClass.Cleric
  174.  
  175.                 Select Case .Stats.UserAtributos(eAtributos.Constitucion)
  176.                     Case 21
  177.                         MinHP = 7
  178.                         MaxHP = 10
  179.                     Case 20
  180.                         MinHP = 6
  181.                         MaxHP = 10
  182.                     Case 19
  183.                         MinHP = 6
  184.                         MaxHP = 9
  185.                     Case 18
  186.                         MinHP = 5
  187.                         MaxHP = 9
  188.                 End Select
  189.  
  190.                 AumentoHIT = 2
  191.                 AumentoMANA = 2 * .Stats.UserAtributos(eAtributos.Inteligencia)
  192.                 AumentoSTA = AumentoSTDef
  193.  
  194.             Case eClass.Druid
  195.  
  196.                 Select Case .Stats.UserAtributos(eAtributos.Constitucion)
  197.                     Case 21
  198.                         MinHP = 7
  199.                         MaxHP = 10
  200.                     Case 20
  201.                         MinHP = 6
  202.                         MaxHP = 10
  203.                     Case 19
  204.                         MinHP = 6
  205.                         MaxHP = 9
  206.                     Case 18
  207.                         MinHP = 5
  208.                         MaxHP = 9
  209.                 End Select
  210.  
  211.                 AumentoHIT = 2
  212.                 AumentoMANA = 2 * .Stats.UserAtributos(eAtributos.Inteligencia)
  213.                 AumentoSTA = AumentoSTDef
  214.  
  215.             Case eClass.Assasin
  216.  
  217.                 Select Case .Stats.UserAtributos(eAtributos.Constitucion)
  218.                     Case 21
  219.                         MinHP = 7
  220.                         MaxHP = 10
  221.                     Case 20
  222.                         MinHP = 6
  223.                         MaxHP = 10
  224.                     Case 19
  225.                         MinHP = 6
  226.                         MaxHP = 9
  227.                     Case 18
  228.                         MinHP = 5
  229.                         MaxHP = 9
  230.                 End Select
  231.  
  232.                 AumentoHIT = IIf(.Stats.ELV > 35, 1, 3)
  233.                 AumentoMANA = .Stats.UserAtributos(eAtributos.Inteligencia)
  234.                 AumentoSTA = AumentoSTDef
  235.  
  236.             Case eClass.Bard
  237.  
  238.                 Select Case .Stats.UserAtributos(eAtributos.Constitucion)
  239.                     Case 21
  240.                         MinHP = 7
  241.                         MaxHP = 10
  242.                     Case 20
  243.                         MinHP = 6
  244.                         MaxHP = 10
  245.                     Case 19
  246.                         MinHP = 6
  247.                         MaxHP = 9
  248.                     Case 18
  249.                         MinHP = 5
  250.                         MaxHP = 9
  251.                 End Select
  252.  
  253.                 AumentoHIT = 2
  254.                 AumentoMANA = 2 * .Stats.UserAtributos(eAtributos.Inteligencia)
  255.                 AumentoSTA = AumentoSTDef
  256.  
  257.         End Select
  258.  
  259.         AumentoHP = RandomNumber(MinHP, MaxHP)
  260.  
  261.         ' ++ Fix por si las dudas xd
  262.        If AumentoHP < 3 Then AumentoHP = 3
  263.         If AumentoHP > 12 Then AumentoHP = 12
  264.  
  265.         'Actualizamos HitPoints
  266.        .Stats.MaxHP = .Stats.MaxHP + AumentoHP
  267.         If .Stats.MaxHP > STAT_MAXHP Then .Stats.MaxHP = STAT_MAXHP
  268.  
  269.         'Actualizamos Stamina
  270.        .Stats.MaxSta = .Stats.MaxSta + AumentoSTA
  271.         If .Stats.MaxSta > STAT_MAXSTA Then .Stats.MaxSta = STAT_MAXSTA
  272.  
  273.         'Actualizamos Mana
  274.        .Stats.MaxMAN = .Stats.MaxMAN + AumentoMANA
  275.         If .Stats.MaxMAN > STAT_MAXMAN Then .Stats.MaxMAN = STAT_MAXMAN
  276.  
  277.         'Actualizamos Golpe Máximo
  278.        .Stats.MaxHIT = .Stats.MaxHIT + AumentoHIT
  279.         If .Stats.ELV < 36 Then
  280.             If .Stats.MaxHIT > STAT_MAXHIT_UNDER36 Then .Stats.MaxHIT = STAT_MAXHIT_UNDER36
  281.         Else
  282.             If .Stats.MaxHIT > STAT_MAXHIT_OVER36 Then .Stats.MaxHIT = STAT_MAXHIT_OVER36
  283.         End If
  284.  
  285.         'Actualizamos Golpe Mínimo
  286.        .Stats.MinHIT = .Stats.MinHIT + AumentoHIT
  287.         If .Stats.ELV < 36 Then
  288.             If .Stats.MinHIT > STAT_MAXHIT_UNDER36 Then .Stats.MinHIT = STAT_MAXHIT_UNDER36
  289.         Else
  290.             If .Stats.MinHIT > STAT_MAXHIT_OVER36 Then .Stats.MinHIT = STAT_MAXHIT_OVER36
  291.         End If
  292.  
  293.         .Stats.MinHP = .Stats.MaxHP
  294.  
  295.         'If it ceased to be a newbie, remove newbie items and get char away from newbie dungeon
  296.        If Not EsNewbie(UserIndex) And WasNewbie Then
  297.  
  298.             Call QuitarNewbieObj(UserIndex)
  299.  
  300.             If MapInfo(.Pos.Map).Restringir = eRestrict.restrict_newbie Then
  301.                 Call WarpUserCharX(UserIndex, Ullathorpe.Map, Ullathorpe.X, Ullathorpe.Y, True)
  302.                 Call WriteMensajes(UserIndex, eMensajes.Mensaje155)        '"Debes abandonar el Dungeon Newbie."
  303.            End If
  304.         End If
  305.  
  306.     End With
  307.  
  308.     Call WriteUpdateUserStats(UserIndex)
  309.     Exit Sub
  310.  
  311. errHandler:
  312.  
  313.     Dim UserName As String
  314.     Dim UserMap As Integer
  315.  
  316.     If UserIndex > 0 Then
  317.         UserName = UserList(UserIndex).Name
  318.         UserMap = UserList(UserIndex).Pos.Map
  319.     End If
  320.  
  321.     Call LogError("Error en la subrutina CheckUserLevelF1 - Error : " & Err.Number & _
  322.                   " - Description : " & Err.description & ". User: " & UserName & "(" & UserIndex & "). Map: " & UserMap & " - Error en linea: " & Erl)    ' 0.13.5
  323.  
  324. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement