Magias Expansivas:
en declaraciones.bas buscar el Public Const uInvocacion = 4 y ayi debajo poner : Public Const uTerr = 5
PD: hechizos por zona ai que colocarlo en el modhechizos.bas osea el primer sub existe en el modulo de hechis teneis ke copiar todos y ponerlo encima del sub ke existe y remplazarlo y ya ta creo que falta una cosa de declaraciones mañana la pongo.
en el dat va esto:
arriba
'Tipos....
'1 actuan sobre HP,MANA,STA,HAM y SED
'2 actuan sobre los estados de los usuarios
'3 invocacion
'4 materializa
'5 expansivas
y un ejemplo de hechi por zona:
Esto hace que los hechizos afecten todo el rango de vision del usuario
Atte. Mr Man
Código:
Sub HandleHechizoTerreno(ByVal UserIndex As Integer, ByVal uh As Integer)
Dim b As Boolean
Select Case Hechizos(uh).Tipo
Case uInvocacion '
Call HechizoInvocacion(UserIndex, b)
Case uTerr
Dim y, x As Integer
For y = UserList(UserIndex).Pos.y - MinYBorder + 1 To UserList(UserIndex).Pos.y + MinYBorder - 1
For x = UserList(UserIndex).Pos.x - MinXBorder + 1 To UserList(UserIndex).Pos.x + MinXBorder - 1
If x > 0 And y > 0 And x < 101 And y < 101 Then
If MapData(UserList(UserIndex).Pos.Map, x, y).UserIndex > 0 Then
Call HechizoAllUsuario(UserIndex, MapData(UserList(UserIndex).Pos.Map, x, y).UserIndex, uh)
End If
End If
Next x
Next y
b = True
End Select
If b Then
Call SubirSkill(UserIndex, Magia)
'If Hechizos(uh).Resis = 1 Then Call SubirSkill(UserList(UserIndex).Flags.TargetUser, Resis)
UserList(UserIndex).Stats.MinMAN = UserList(UserIndex).Stats.MinMAN - Hechizos(uh).ManaRequerido
If UserList(UserIndex).Stats.MinMAN < 0 Then UserList(UserIndex).Stats.MinMAN = 0
Call SendUserStatsBox(UserIndex)
End If
End Sub
Sub HechizoAllUsuario(UserIndex As Integer, TargetIndex As Integer, H As Integer)
Dim tempchr As Integer
Dim daño As Integer
tempchr = TargetIndex
If Hechizos(H).SubeHP = 1 Then
daño = RandomNumber(Hechizos(H).MinHP, Hechizos(H).MaxHP)
daño = daño + Porcentaje(daño, 3 * UserList(UserIndex).Stats.ELV)
Call InfoHechizo(UserIndex)
Call AddtoVar(UserList(tempchr).Stats.MinHP, daño, _
UserList(tempchr).Stats.MaxHP)
If UserIndex <> tempchr Then
Call SendData(ToIndex, UserIndex, 0, "||Le has restaurado " & daño & " puntos de vida a " & UserList(tempchr).Name & FONTTYPE_FIGHT)
Call SendData(ToIndex, tempchr, 0, "||" & UserList(UserIndex).Name & " te ha restaurado " & daño & " puntos de vida." & FONTTYPE_FIGHT)
Else
Call SendData(ToIndex, UserIndex, 0, "||Te has restaurado " & daño & " puntos de vida." & FONTTYPE_FIGHT)
End If
ElseIf Hechizos(H).SubeHP = 2 Then
If UserIndex = tempchr Then
Call SendData(ToIndex, UserIndex, 0, "||No podes atacarte a vos mismo." & FONTTYPE_FIGHT)
Exit Sub
End If
daño = RandomNumber(Hechizos(H).MinHP, Hechizos(H).MaxHP)
daño = daño + Porcentaje(daño, 3 * UserList(UserIndex).Stats.ELV)
If Not PuedeAtacar(UserIndex, tempchr) Then Exit Sub
If UserIndex <> tempchr Then
Call UsuarioAtacadoPorUsuario(UserIndex, tempchr)
End If
Call InfoHechizo(UserIndex)
UserList(tempchr).Stats.MinHP = UserList(tempchr).Stats.MinHP - daño
Call SendData(ToIndex, UserIndex, 0, "||Le has quitado " & daño & " puntos de vida a " & UserList(tempchr).Name & FONTTYPE_FIGHT)
Call SendData(ToIndex, tempchr, 0, "||" & UserList(UserIndex).Name & " te ha quitado " & daño & " puntos de vida." & FONTTYPE_FIGHT)
'Muere
If UserList(tempchr).Stats.MinHP < 1 Then
Call ContarMuerte(tempchr, UserIndex)
UserList(tempchr).Stats.MinHP = 0
Call ActStats(tempchr, UserIndex)
Call UserDie(tempchr)
End If
End If
If Hechizos(H).Envenena = 1 Then
If Not PuedeAtacar(UserIndex, tempchr) Then Exit Sub
If UserIndex <> tempchr Then
Call UsuarioAtacadoPorUsuario(UserIndex, tempchr)
End If
UserList(tempchr).flags.Envenenado = 1
Call InfoHechizo(UserIndex)
End If
If Hechizos(H).CuraVeneno = 1 Then
UserList(tempchr).flags.Envenenado = 0
Call InfoHechizo(UserIndex)
End If
If Hechizos(H).Revivir = 1 Then
If UserList(tempchr).flags.Muerto = 1 Then
If Not Criminal(tempchr) Then
If tempchr <> UserIndex Then
Call AddtoVar(UserList(UserIndex).Reputacion.NobleRep, 500, MAXREP)
Call SendData(ToIndex, UserIndex, 0, "||¡Los Dioses te sonrien, has ganado 500 puntos de nobleza!." & FONTTYPE_INFO)
End If
End If
Call RevivirUsuario(tempchr)
End If
Call InfoHechizo(UserIndex)
End If
End Sub
en declaraciones.bas buscar el Public Const uInvocacion = 4 y ayi debajo poner : Public Const uTerr = 5
PD: hechizos por zona ai que colocarlo en el modhechizos.bas osea el primer sub existe en el modulo de hechis teneis ke copiar todos y ponerlo encima del sub ke existe y remplazarlo y ya ta creo que falta una cosa de declaraciones mañana la pongo.
en el dat va esto:
arriba
'Tipos....
'1 actuan sobre HP,MANA,STA,HAM y SED
'2 actuan sobre los estados de los usuarios
'3 invocacion
'4 materializa
'5 expansivas
y un ejemplo de hechi por zona:
[HECHIZO44]
Nombre=Esporas de curación
Desc=La esporas curan a todos los usuarios en tu area de vision (5 a 15).
PalabrasMagicas=Mass' CORP SANTICS
HechizeroMsg=Has curado a todos los usuarios del area.
Tipo=5
WAV=17
FXgrh=7
SubeHP=1
MinHP=5
MaxHP=15
MinSkill=50
ManaRequerido=120
Target=4
[HECHIZO45]
Nombre=Esporas de curación maduras
Desc=La esporas curan a todos los usuarios en tu area de vision (15 a 40).
PalabrasMagicas=Mass' ENCORP SANTICS
HechizeroMsg=Has curado a todos los usuarios del area.
Tipo=5
WAV=17
FXgrh=7
SubeHP=1
MinHP=15
MaxHP=40
MinSkill=75
ManaRequerido=420
Target=4
[HECHIZO46]
Nombre=LLuvia de fuego
Desc=LLuvia de fuego daña a todos los usuarios del area(20 a 50).
PalabrasMagicas=Mass' FIRE RAIN
HechizeroMsg=Has dañado a todos los usuarios del area.
Tipo=5
WAV=27
FXgrh=7
SubeHP=2
MinHP=20
MaxHP=50
MinSkill=80
ManaRequerido=650
Target=4
[HECHIZO47]
Nombre=RadioActividad
Desc=RadioActividad daña a todos los usuarios del area(50 a 100) y Envenena.
PalabrasMagicas=Mass' RADIOACTIVE
HechizeroMsg=Has dañado a todos los usuarios del area.
Tipo=5
WAV=27
FXgrh=13
SubeHP=2
MinHP=50
MaxHP=100
MinSkill=100
ManaRequerido=2500
Target=4
[HECHIZO48]
Nombre=Angeles
Desc=Resucita a todos los muertos del area.
PalabrasMagicas=Mass AHIL KNÄ XÄR
HechizeroMsg=Has resucitado a
TargetMsg=te ha resucitado.
PropioMsg=Te has resucitado.
Tipo=5
WAV=20
FXgrh=0
Revivir=1
Invoca=0
NumNpc=0
materializa=0
itemindex=0
MinSkill=90
ManaRequerido=1000
Esto hace que los hechizos afecten todo el rango de vision del usuario
Atte. Mr Man