ModernUO/Scripts/Spells/Base/SpellInfo.cs
2018-09-14 08:46:14 -07:00

81 lines
No EOL
2.3 KiB
C#

using System;
namespace Server.Spells
{
public class SpellInfo
{
private string m_Name;
private string m_Mantra;
private Type[] m_Reagents;
private int[] m_Amounts;
private int m_Action;
private bool m_AllowTown;
private int m_LeftHandEffect, m_RightHandEffect;
public SpellInfo( string name, string mantra, params Type[] regs ) : this( name, mantra, 16, 0, 0, true, regs )
{
}
public SpellInfo( string name, string mantra, bool allowTown, params Type[] regs ) : this( name, mantra, 16, 0, 0, allowTown, regs )
{
}
public SpellInfo( string name, string mantra, int action, params Type[] regs ) : this( name, mantra, action, 0, 0, true, regs )
{
}
public SpellInfo( string name, string mantra, int action, bool allowTown, params Type[] regs ) : this( name, mantra, action, 0, 0, allowTown, regs )
{
}
public SpellInfo( string name, string mantra, int action, int handEffect, params Type[] regs ) : this( name, mantra, action, handEffect, handEffect, true, regs )
{
}
public SpellInfo( string name, string mantra, int action, int handEffect, bool allowTown, params Type[] regs ) : this( name, mantra, action, handEffect, handEffect, allowTown, regs )
{
}
public SpellInfo( string name, string mantra, int action, int leftHandEffect, int rightHandEffect, bool allowTown, params Type[] regs )
{
m_Name = name;
m_Mantra = mantra;
m_Action = action;
m_Reagents = regs;
m_AllowTown = allowTown;
m_LeftHandEffect = leftHandEffect;
m_RightHandEffect = rightHandEffect;
m_Amounts = new int[regs.Length];
for ( int i = 0; i < regs.Length; ++i )
m_Amounts[i] = 1;
}
public int Action{ get => m_Action;
set => m_Action = value;
}
public bool AllowTown{ get => m_AllowTown;
set => m_AllowTown = value;
}
public int[] Amounts{ get => m_Amounts;
set => m_Amounts = value;
}
public string Mantra{ get => m_Mantra;
set => m_Mantra = value;
}
public string Name{ get => m_Name;
set => m_Name = value;
}
public Type[] Reagents{ get => m_Reagents;
set => m_Reagents = value;
}
public int LeftHandEffect{ get => m_LeftHandEffect;
set => m_LeftHandEffect = value;
}
public int RightHandEffect{ get => m_RightHandEffect;
set => m_RightHandEffect = value;
}
}
}