PDA

Ver la Versión Completa : Skill Oculto DESARMAR del ladrón (v0.11.5)



Argentum Online
02/07/2014, 21:20
Originalmente publicado por DarkBlood.-

En un ladrón los skill points en wrestling dan % de poder desequiparle un item a un usuario, por eso mismo la denomine "Skill Desequipar", despues le podes pegar con arco, espada plata, puño o lo que sea da igual.




Al atacar efectivamente a un usuario produce un random para ver si tuviste suerte de desarmar.
Luego si tuviste suerte y vas a desarmar al oponente empieza desarmando por el Arma, si no tiene equipada ninguna sigue por Herramienta, etc.


Arma > Flechas > Herramienta > Armadura > Casco > Escudo.

Atencion: si sos lvl 20 o mas NO TE DICE: "Tu oponente te ha desarmado!"




(91=100 en Wrestling usado para Desarmar, para la posibilidad golpear con puño normalmente cada skill point hace diferencia).






codigo:

Public Sub Desarmar(ByVal UserIndex As Integer, ByVal VictimIndex As Integer)


Dim Suerte As Integer
Dim res As Integer


If UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) <= 10 _
And UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) >= -1 Then
Suerte = 35
ElseIf UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) <= 20 _
And UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) >= 11 Then
Suerte = 30
ElseIf UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) <= 30 _
And UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) >= 21 Then
Suerte = 28
ElseIf UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) <= 40 _
And UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) >= 31 Then
Suerte = 24
ElseIf UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) <= 50 _
And UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) >= 41 Then
Suerte = 22
ElseIf UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) <= 60 _
And UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) >= 51 Then
Suerte = 20
ElseIf UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) <= 70 _
And UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) >= 61 Then
Suerte = 18
ElseIf UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) <= 80 _
And UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) >= 71 Then
Suerte = 15
ElseIf UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) <= 90 _
And UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) >= 81 Then
Suerte = 10
ElseIf UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) <= 100 _
And UserList(UserIndex).Stats.UserSkills(eSkill.Wreste rling) >= 91 Then
Suerte = 5
End If
res = RandomNumber(1, Suerte)


If res <= 2 Then
Call Desequipar(VictimIndex, UserList(VictimIndex).Invent.WeaponEqpSlot)
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Has logrado desarmar a tu oponente!" & FONTTYPE_FIGHT)
If UserList(VictimIndex).Stats.ELV < 20 Then Call SendData(SendTarget.ToIndex, VictimIndex, 0, "||Tu oponente te ha desarmado!" & FONTTYPE_FIGHT)
End If
End Sub




Sub Desequipar(ByVal UserIndex As Integer, ByVal Slot As Byte)
'Desequipa el item slot del inventario
Dim Obj As ObjData




If (Slot < LBound(UserList(UserIndex).Invent.Object)) Or (Slot > UBound(UserList(UserIndex).Invent.Object)) Then
Exit Sub
ElseIf UserList(UserIndex).Invent.Object(Slot).ObjIndex = 0 Then
Exit Sub
End If


Obj = ObjData(UserList(UserIndex).Invent.Object(Slot).Ob jIndex)


Select Case Obj.OBJType
Case eOBJType.otWeapon
UserList(UserIndex).Invent.Object(Slot).Equipped = 0
UserList(UserIndex).Invent.WeaponEqpObjIndex = 0
UserList(UserIndex).Invent.WeaponEqpSlot = 0
If Not UserList(UserIndex).flags.Mimetizado = 1 Then
UserList(UserIndex).Char.WeaponAnim = NingunArma
Call ChangeUserChar(SendTarget.ToMap, 0, UserList(UserIndex).Pos.Map, UserIndex, UserList(UserIndex).Char.Body, UserList(UserIndex).Char.Head, UserList(UserIndex).Char.Heading, UserList(UserIndex).Char.WeaponAnim, UserList(UserIndex).Char.ShieldAnim, UserList(UserIndex).Char.CascoAnim)
End If

Case eOBJType.otFlechas
UserList(UserIndex).Invent.Object(Slot).Equipped = 0
UserList(UserIndex).Invent.MunicionEqpObjIndex = 0
UserList(UserIndex).Invent.MunicionEqpSlot = 0

Case eOBJType.otHerramientas
UserList(UserIndex).Invent.Object(Slot).Equipped = 0
UserList(UserIndex).Invent.HerramientaEqpObjIndex = 0
UserList(UserIndex).Invent.HerramientaEqpSlot = 0

Case eOBJType.otArmadura
UserList(UserIndex).Invent.Object(Slot).Equipped = 0
UserList(UserIndex).Invent.ArmourEqpObjIndex = 0
UserList(UserIndex).Invent.ArmourEqpSlot = 0
Call DarCuerpoDesnudo(UserIndex, UserList(UserIndex).flags.Mimetizado = 1)
Call ChangeUserChar(SendTarget.ToMap, 0, UserList(UserIndex).Pos.Map, UserIndex, UserList(UserIndex).Char.Body, UserList(UserIndex).Char.Head, UserList(UserIndex).Char.Heading, UserList(UserIndex).Char.WeaponAnim, UserList(UserIndex).Char.ShieldAnim, UserList(UserIndex).Char.CascoAnim)

Case eOBJType.otCASCO
UserList(UserIndex).Invent.Object(Slot).Equipped = 0
UserList(UserIndex).Invent.CascoEqpObjIndex = 0
UserList(UserIndex).Invent.CascoEqpSlot = 0
If Not UserList(UserIndex).flags.Mimetizado = 1 Then
UserList(UserIndex).Char.CascoAnim = NingunCasco
Call ChangeUserChar(SendTarget.ToMap, 0, UserList(UserIndex).Pos.Map, UserIndex, UserList(UserIndex).Char.Body, UserList(UserIndex).Char.Head, UserList(UserIndex).Char.Heading, UserList(UserIndex).Char.WeaponAnim, UserList(UserIndex).Char.ShieldAnim, UserList(UserIndex).Char.CascoAnim)
End If

Case eOBJType.otESCUDO
UserList(UserIndex).Invent.Object(Slot).Equipped = 0
UserList(UserIndex).Invent.EscudoEqpObjIndex = 0
UserList(UserIndex).Invent.EscudoEqpSlot = 0
If Not UserList(UserIndex).flags.Mimetizado = 1 Then
UserList(UserIndex).Char.ShieldAnim = NingunEscudo
Call ChangeUserChar(SendTarget.ToMap, 0, UserList(UserIndex).Pos.Map, UserIndex, UserList(UserIndex).Char.Body, UserList(UserIndex).Char.Head, UserList(UserIndex).Char.Heading, UserList(UserIndex).Char.WeaponAnim, UserList(UserIndex).Char.ShieldAnim, UserList(UserIndex).Char.CascoAnim)
End If
End Select


Call SendUserStatsBox(UserIndex)
Call UpdateUserInv(False, UserIndex, Slot)


End Sub