Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Option Explicit
- Private Const MinotauroNPC As Integer = 692
- Private Const ObjInvotarMinotauro As Integer = 1241
- Private Const ObjRequisito As Integer = 1218
- Private TmpNpcIndex As Integer
- Private NombreMinotauro As String
- Private MinutosMinotauro As Byte
- Public EstadoMinotauro As Byte
- Private Function PuedeAccionMinotauro(ByVal UserIndex As Integer, ByVal TempCharIndex As Integer) As Boolean
- PuedeAccionMinotauro = False
- If EstadoMinotauro = 2 Then
- Call WriteChatOverHead(UserIndex, "El Minotauro fué liberado hace poco y debes esperar un tiempo para poder liberarlo de nuevo.", Npclist(TempCharIndex).Char.CharIndex, vbWhite)
- Exit Function
- End If
- If UserList(UserIndex).flags.Minotauro = 1 Then
- Call WriteChatOverHead(UserIndex, "No puedes liberar el Minotauro más veces.", Npclist(TempCharIndex).Char.CharIndex, vbWhite)
- Exit Function
- End If
- If Not TieneObjetos(ObjRequisito, 1, UserIndex) Then
- Call WriteChatOverHead(UserIndex, "Necesitas un Hilo de Ariadna que poseen algunas Viudas Negras para liberar el Minotauro.", Npclist(TempCharIndex).Char.CharIndex, vbWhite)
- Exit Function
- Else
- Call QuitarObjetos(ObjRequisito, 1, UserIndex)
- End If
- PuedeAccionMinotauro = True
- End Function
- Public Sub AccionMinotauro(ByVal UserIndex As Integer, ByVal NpcIndex As Integer)
- If Not PuedeAccionMinotauro(UserIndex, NpcIndex) Then Exit Sub
- With UserList(UserIndex)
- If StrComp(NombreMinotauro, vbNullString) = 0 Then
- Dim PosMinotauro As WorldPos
- PosMinotauro.Map = RandomNumber(1, NumMaps)
- PosMinotauro.X = RandomNumber(50, 80)
- PosMinotauro.Y = RandomNumber(50, 80)
- TmpNpcIndex = SpawnNpc(MinotauroNPC, PosMinotauro, True, False)
- If TmpNpcIndex > 0 Then
- Call WriteChatOverHead(UserIndex, "Aprisa!, El Minotauro ha huido al verte, búscalo y mátalo antes de que lo haga cualquier otro...", Npclist(NpcIndex).Char.CharIndex, vbWhite)
- Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("El Minotauro ha sido liberado por " & .Name, FontTypeNames.FONTTYPE_PARTY))
- NombreMinotauro = UCase$(.Name)
- EstadoMinotauro = 1
- MinutosMinotauro = 30
- End If
- Else
- If StrComp(NombreMinotauro, UCase$(.Name)) = 0 Then
- Call WriteChatOverHead(UserIndex, "El Minotauro fué liberado por otro personaje, debes esperar que sea capturado.", Npclist(NpcIndex).Char.CharIndex, vbWhite)
- Else
- Call WriteChatOverHead(UserIndex, "Aprisa!, El Minotauro ha huido al verte, búscalo y mátalo antes de que lo haga cualquier otro...", Npclist(NpcIndex).Char.CharIndex, vbWhite)
- End If
- End If
- End With
- End Sub
- Public Sub MuereMinotauro(ByVal UserIndex As Integer, ByVal NumNpc As Integer)
- If StrComp(NumNpc, MinotauroNPC) = 0 Then
- With UserList(UserIndex)
- If StrComp(NombreMinotauro, UCase$(.Name)) = 0 Then
- .Stats.SkillPts = .Stats.SkillPts + 200
- .Stats.Puntos = .Stats.Puntos + 1000
- '.Stats.Fama = .Stats.Fama + 50000
- .flags.Minotauro = 1
- Call WriteConsoleMsg(UserIndex, "Has ganado 200 Puntos Habilidades Libres para Asignar.", FontTypeNames.FONTTYPE_INFO)
- Call WriteConsoleMsg(UserIndex, "Has ganado 1000 DraGPuntos.", FontTypeNames.FONTTYPE_INFO)
- 'Call WriteConsoleMsg(UserIndex, "Has ganado mucha Popularidad.", FontTypeNames.FONTTYPE_INFO)
- Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("El Minotauro ha sido asesinado por " & .Name & " que fué el Personaje que lo liberó, los Dioses le han otorgado los Poderes del Minotauro!!", FontTypeNames.FONTTYPE_PARTY))
- 'Call SendUserStatsFama(UserIndex)
- Call WriteSendSkills(UserIndex)
- Call WriteLevelUp(UserIndex, 1, .Stats.SkillPts)
- Else
- Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("El Minotauro ha sido asesinado por " & .Name & ", este personaje no lo liberó y los Dioses no le conceden los Poderes del Minotauro.", FontTypeNames.FONTTYPE_PARTY))
- End If
- End With
- NombreMinotauro = vbNullString
- EstadoMinotauro = 2
- MinutosMinotauro = 0
- End If
- End Sub
- Public Sub ConteoMinotauro()
- If EstadoMinotauro = 1 Then
- MinutosMinotauro = MinutosMinotauro - 1
- If MinutosMinotauro < 1 Then
- If TmpNpcIndex > 0 Then
- If Npclist(TmpNpcIndex).NPCtype = eNPCType.Minotauro Then
- EstadoMinotauro = 2
- NombreMinotauro = vbNullString
- Call SendData(SendTarget.ToAll, 0, PrepareMessageConsoleMsg("El Minotauro no ha sido encontrado y desaparece.", FontTypeNames.FONTTYPE_PARTY))
- Call QuitarNPC(TmpNpcIndex)
- End If
- End If
- Else
- Dim ID As Integer
- ID = NameIndex(NombreMinotauro)
- If ID > 0 Then
- Call WriteConsoleMsg(ID, "Debes matar al Minotauro antes de " & MinutosMinotauro & " minutos.", FontTypeNames.FONTTYPE_VENENO)
- End If
- Select Case MinutosMinotauro
- Case 5, 10, 15, 20, 25
- If TmpNpcIndex > 0 Then
- Call SendData(SendTarget.ToAdmins, 0, PrepareMessageConsoleMsg("GM> El minotauro esta en " & Npclist(TmpNpcIndex).pos.Map & "-" & Npclist(TmpNpcIndex).pos.X & "-" & Npclist(TmpNpcIndex).pos.Y, FontTypeNames.FONTTYPE_GUILD))
- End If
- Case Else
- Exit Sub
- End Select
- End If
- End If
- End Sub
- Public Sub ConvertirMinotauro(ByVal UserIndex As Integer, ByVal Slot As Byte)
- With UserList(UserIndex)
- If .flags.Minotauro = 0 Then Exit Sub
- If .Counters.Minotauro <> 0 Then Exit Sub
- If .flags.Berseker <> 0 Then Exit Sub
- If .flags.Transformado <> 0 Then Exit Sub
- .Counters.Minotauro = 1000
- .flags.OldBody = .Char.Body
- .flags.OldHead = .Char.Head
- With .Char
- Call ChangeUserChar(UserIndex, 380, 0, .Heading, .WeaponAnim, .ShieldAnim, .CascoAnim, .BotasAnim)
- Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessageCreateFX(.CharIndex, 25, 0))
- End With
- End With
- End Sub
- Public Sub EfectoMinotauro(ByVal UserIndex As Integer)
- With UserList(UserIndex)
- If .Counters.Minotauro > 0 Then
- .Counters.Minotauro = .Counters.Minotauro - 1
- If .Counters.Minotauro < 1 Then
- Call ChangeUserChar(UserIndex, .flags.OldBody, .flags.OldHead, .Char.Heading, .Char.WeaponAnim, .Char.ShieldAnim, .Char.CascoAnim, .Char.BotasAnim)
- Exit Sub
- End If
- End If
- End With
- End Sub
- Public Sub DesconectaMinotauro(ByVal UserIndex As Integer)
- With UserList(UserIndex)
- If .Counters.Minotauro > 0 Then
- .Counters.Minotauro = 0
- Call ChangeUserChar(UserIndex, .flags.OldBody, .flags.OldHead, .Char.Heading, .Char.WeaponAnim, .Char.ShieldAnim, .Char.CascoAnim, .Char.BotasAnim)
- .flags.OldHead = 0
- .flags.OldBody = 0
- End If
- End With
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement