Utilizo la 11.2....Aver ak te dejo el codigo de la Md...nose si tiene algo q ver...pero ak lo dejo..asi te guias mejor....
Public Function CalcularDaño(ByVal UserIndex As Integer, Optional ByVal NpcIndex As Integer = 0) As Long
Dim DañoArma As Long, DañoUsuario As Long, Arma As ObjData, ModifClase As Single
Dim proyectil As ObjData
Dim DañoMaxArma As Long
''sacar esto si no queremos q la matadracos mate el dragon si o si
Dim matodragon As Boolean
matodragon = False
If UserList(UserIndex).Invent.WeaponEqpObjIndex > 0 Then
Arma = ObjData(UserList(UserIndex).Invent.WeaponEqpObjIndex)
' Ataca a un npc?
If NpcIndex > 0 Then
'Usa la mata dragones?
If Arma.SubTipo = MATADRAGONES Then ' Usa la matadragones?
ModifClase = ModicadorDañoClaseArmas(UserList(UserIndex).Clase)
If Npclist(NpcIndex).NPCtype = DRAGON Then 'Ataca dragon?
DañoArma = RandomNumber(Arma.MinHIT, Arma.MaxHIT)
DañoMaxArma = Arma.MaxHIT
' matodragon = True ''sacar esto si no queremos q la matadracos mate el dragon si o si
Else ' Sino es dragon daño es 1
DañoArma = 1
DañoMaxArma = 1
End If
Else ' daño comun
If Arma.proyectil = 1 Then
ModifClase = ModicadorDañoClaseProyectiles(UserList(UserIndex).Clase)
DañoArma = RandomNumber(Arma.MinHIT, Arma.MaxHIT)
DañoMaxArma = Arma.MaxHIT
If Arma.Municion = 1 Then
proyectil = ObjData(UserList(UserIndex).Invent.MunicionEqpObjIndex)
DañoArma = DañoArma + RandomNumber(proyectil.MinHIT, proyectil.MaxHIT)
DañoMaxArma = Arma.MaxHIT
End If
Else
ModifClase = ModicadorDañoClaseArmas(UserList(UserIndex).Clase)
DañoArma = RandomNumber(Arma.MinHIT, Arma.MaxHIT)
DañoMaxArma = Arma.MaxHIT
End If
End If
Else ' Ataca usuario
If Arma.SubTipo = MATADRAGONES Then
ModifClase = ModicadorDañoClaseArmas(UserList(UserIndex).Clase)
DañoArma = 1 ' Si usa la espada matadragones daño es 1
DañoMaxArma = 1
Else
If Arma.proyectil = 1 Then
ModifClase = ModicadorDañoClaseProyectiles(UserList(UserIndex).Clase)
DañoArma = RandomNumber(Arma.MinHIT, Arma.MaxHIT)
DañoMaxArma = Arma.MaxHIT
If Arma.Municion = 1 Then
proyectil = ObjData(UserList(UserIndex).Invent.MunicionEqpObjIndex)
DañoArma = DañoArma + RandomNumber(proyectil.MinHIT, proyectil.MaxHIT)
DañoMaxArma = Arma.MaxHIT
End If
Else
ModifClase = ModicadorDañoClaseArmas(UserList(UserIndex).Clase)
DañoArma = RandomNumber(Arma.MinHIT, Arma.MaxHIT)
DañoMaxArma = Arma.MaxHIT
End If
End If
End If
Else
CalcularDaño = CInt(UserList(UserIndex).Stats.MaxHIT / 5)
Exit Function
End If
DañoUsuario = RandomNumber(UserList(UserIndex).Stats.MinHIT, UserList(UserIndex).Stats.MaxHIT)
''sacar esto si no queremos q la matadracos mate el dragon si o si
If matodragon Then
CalcularDaño = Npclist(NpcIndex).Stats.MinHP + Npclist(NpcIndex).Stats.Def
Else
CalcularDaño = (((3 * DañoArma) + ((DañoMaxArma / 5) * Maximo(0, (UserList(UserIndex).Stats.UserAtributos(Fuerza) - 15))) + DañoUsuario) * ModifClase)
End If
End Function
Espero me puedas ayudar
