diff --git a/Codigo/Declares.bas b/Codigo/Declares.bas index 88c285c0..9483e157 100644 --- a/Codigo/Declares.bas +++ b/Codigo/Declares.bas @@ -1142,6 +1142,7 @@ Public Type t_Hechizo Target As e_TargetType RequireTransform As Integer NeedStaff As Integer + RequiereInstrumento As Integer StaffAffected As Boolean EotId As Integer SpellRequirementMask As Long @@ -1575,7 +1576,7 @@ Public Type t_ObjData MinELV As Byte SkillIndex As Byte ' El indice de Skill para equipar el item SkillRequerido As Byte ' El valor MINIMO requerido de skillIndex para equipar el item - + InstrumentoRequerido As Integer CreaGRH As String SndAura As Integer Intirable As Byte diff --git a/Codigo/FileIO.bas b/Codigo/FileIO.bas index c228be8f..6de32138 100644 --- a/Codigo/FileIO.bas +++ b/Codigo/FileIO.bas @@ -766,6 +766,7 @@ Public Sub CargarHechizos() 278 frmCargando.cargar.value = frmCargando.cargar.value + 1 280 Hechizos(Hechizo).NeedStaff = val(Leer.GetValue("Hechizo" & Hechizo, "NeedStaff")) + Hechizos(Hechizo).RequiereInstrumento = val(Leer.GetValue("Hechizo" & Hechizo, "RequiereInstrumento")) 281 Hechizos(Hechizo).StaffAffected = CBool(val(Leer.GetValue("Hechizo" & Hechizo, "StaffAffected"))) 282 Hechizos(Hechizo).EotId = val(Leer.GetValue("Hechizo" & Hechizo, "EOTID")) @@ -1288,6 +1289,7 @@ Sub LoadOBJData() 146 .QueAtributo = val(Leer.GetValue(ObjKey, "queatributo")) 148 .CuantoAumento = val(Leer.GetValue(ObjKey, "cuantoaumento")) 150 .MinELV = val(Leer.GetValue(ObjKey, "MinELV")) + .InstrumentoRequerido = val(Leer.GetValue(ObjKey, "InstrumentoRequerido")) 152 .Subtipo = val(Leer.GetValue(ObjKey, "Subtipo")) 154 .Dorada = val(Leer.GetValue(ObjKey, "Dorada")) 155 .Blodium = val(Leer.GetValue(ObjKey, "Blodium")) diff --git a/Codigo/modHechizos.bas b/Codigo/modHechizos.bas index 4cc4f5a2..a487638c 100644 --- a/Codigo/modHechizos.bas +++ b/Codigo/modHechizos.bas @@ -717,6 +717,16 @@ Private Function PuedeLanzar(ByVal UserIndex As Integer, ByVal HechizoIndex As I End If End If End If + + If .clase = e_Class.Druid Then + If Hechizos(HechizoIndex).RequiereInstrumento > 0 Then + If .invent.DañoMagicoEqpSlot = 0 Or ObjData(.invent.DañoMagicoEqpObjIndex).InstrumentoRequerido <> 1 Then + Call WriteConsoleMsg(UserIndex, "Necesitás una flauta para invocar o desinvocar a tus mascotas.", e_FontTypeNames.FONTTYPE_INFO) + Exit Function + End If + End If + End If + If Hechizos(HechizoIndex).RequireWeaponType > 0 Then If .invent.WeaponEqpObjIndex = 0 Then Call WriteLocaleMsg(UserIndex, GetRequiredWeaponLocaleId(Hechizos(HechizoIndex).RequireWeaponType), e_FontTypeNames.FONTTYPE_INFO)