/*
_________________________________
-=(_)_______________________________)=-
/ . . . ____ . ___ _/
/~ / / / / / / )2006 /
(~ (____(___/ (____ / /___/ (
\ ----------------------------- \
\
[email protected] \
\_ =================== \
\ -Owner of "The Conjuring"- \
\_ =================== ~\
) Lucid's Mega Pack )
/~ The Mother Load v1.1(a) _/
_/_______________________________/
-=(_)_______________________________)=-
*/
using System;
using Server.Mobiles;
using Server.Items;
using Server.Network;
using Server.Spells;
using Server.ACC.CM;
using Server.Gumps;
using Server.Enums;
using Server.LucidNagual;
namespace Server.Spells
{
public class AllSpells
{
//--<Spell Restrictions>---------------------------------------------------<Start>
public static bool CheckRestriction( Mobile caster, int sclass )
{
if ( caster == null )
return false;
if ( !DataCenter.SetRestrictions )
return true;
if ( caster is BaseCreature || caster is BaseHealer || caster is BaseChampion || caster is BaseMount )
return true;
if ( caster.AccessLevel == AccessLevel.Player )
{
PlayerMobile pm = caster as PlayerMobile;
PlayerModule mod = pm.PlayerModule;
if ( mod.PlayerClasses == PlayerClasses.None )
{
caster.SendGump( new ClassGump( caster ) );
return false;
}
else if ( mod.PlayerClasses == PlayerClasses.Nomad )
{
return true;
}
else if ( sclass == 1 ) //Paladin
{
if ( mod.PlayerClasses == PlayerClasses.Paladin )
return true;
else
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells.", caster.NetState );
}
else if ( sclass == 2 ) //Mage
{
if ( mod.PlayerClasses == PlayerClasses.Mage )
return true;
else
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells.", caster.NetState );
}
else if ( sclass == 3 ) //Necromancer
{
if ( mod.PlayerClasses == PlayerClasses.Paladin )
return true;
else
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells.", caster.NetState );
}
else if ( sclass == 4 ) //Druid
{
if ( mod.PlayerClasses == PlayerClasses.Druid )
return true;
else
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells.", caster.NetState );
}
else if ( sclass == 4 ) //Druid Tamer
{
if ( mod.PlayerClasses == PlayerClasses.Tamer )
return true; else
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells.", caster.NetState );
}
else if ( sclass == 5 ) //Cleric
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Cleric )
return true;
else
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells.", caster.NetState );
}
else if ( sclass == 6 ) //Ranger
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Ranger )
return true;
else
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells.", caster.NetState );
}
else if ( sclass == 7 ) //Rogue
{
if ( mod.PlayerClasses == PlayerClasses.Rogue )
return true;
else
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells.", caster.NetState );
}
else if ( sclass == 8 ) //Bard
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Bard )
return true; else
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells.", caster.NetState );
}
else if ( sclass == 8 ) //Druid Tamer
{
if ( mod.PlayerClasses == PlayerClasses.Tamer )
return true; else
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells.", caster.NetState );
}
else if ( sclass == 9 ) //Farmer
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Farmer )
return true;
else
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for farming.", caster.NetState );
}
else if ( sclass == 10 ) //Laborer
{
if ( mod.PlayerClasses == PlayerClasses.Laborer )
return true;
else
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for farming.", caster.NetState );
}
else if ( sclass == 19 ) //Ninja
{
if ( mod.PlayerClasses == PlayerClasses.Ninja )
return true;
else
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells. You must visit a Magics and Skill Trainer.", caster.NetState );
}
else if ( sclass == 20 ) //Samurai
{
if ( mod.PlayerClasses == PlayerClasses.Samurai )
return true;
else
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells. You must visit a Magics and Skill Trainer.", caster.NetState );
}
else
{
return false;
}
return false;
}
else //Above player status.
{
return true;
}
}
//--<Spell Restrictions>-----------------------------------------------------<End>
}
//--<Spellbook Restrictions>-----------------------------------------------<Start>
public class SpellRestrictions
{
private static ControlCenter ctrlc;
public static bool CheckRestrictions( Mobile caster, Spellbook book )
{
if ( caster == null || book == null )
return false;
if ( caster.AccessLevel > AccessLevel.Player )
return true;
if ( !DataCenter.SetRestrictions )
return true;
PlayerModule mod = ( PlayerModule )CentralMemory.GetModule( caster.Serial, typeof( PlayerModule ) );
if ( DataCenter.SetRestrictions && mod == null || mod.PlayerClasses == PlayerClasses.None )
{
caster.SendGump( new ClassGump( caster ) );
return false;
}
if ( book.SpellbookType == SpellbookType.Invalid )
return false;
if ( book.SpellbookType == SpellbookType.Regular )
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Mage )
return true;
else
{
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells. You must visit a Magics and Skill Trainer.", caster.NetState );
return false;
}
}
else if ( book.SpellbookType == SpellbookType.Necromancer )
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Necromancer )
return true;
else
{
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells. You must visit a Magics and Skill Trainer.", caster.NetState );
return false;
}
}
else if ( book.SpellbookType == SpellbookType.Paladin )
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Paladin )
return true;
else
{
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells. You must visit a Magics and Skill Trainer.", caster.NetState );
return false;
}
}
else if ( book.SpellbookType == SpellbookType.Avatar )
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Paladin )
return true;
else
{
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells. You must visit a Magics and Skill Trainer.", caster.NetState );
return false;
}
}
else if ( book.SpellbookType == SpellbookType.Ninja )
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Ninja )
return true;
else
{
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells. You must visit a Magics and Skill Trainer.", caster.NetState );
return false;
}
}
else if ( book.SpellbookType == SpellbookType.Samurai )
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Samurai )
return true;
else
{
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells. You must visit a Magics and Skill Trainer.", caster.NetState );
return false;
}
}
else if ( book.SpellbookType == SpellbookType.Druid )
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Tamer )
return true;
else
{
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells. You must visit a Magics and Skill Trainer.", caster.NetState );
return false;
}
}
else if ( book.SpellbookType == SpellbookType.Ancient )
{
if( caster.AccessLevel <= AccessLevel.Seer )
{
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You are allowed to use this.", caster.NetState );
return false;
}
else if( caster.AccessLevel >= AccessLevel.Administrator )
return true;
}
else if ( book.SpellbookType == SpellbookType.Cleric )
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Cleric )
return true;
else
{
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells. You must visit a Magics and Skill Trainer.", caster.NetState );
return false;
}
}
else if ( book.SpellbookType == SpellbookType.Song )
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Tamer )
return true;
else
{
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells. You must visit a Magics and Skill Trainer.", caster.NetState );
return false;
}
}
else if ( book.SpellbookType == SpellbookType.Undead )
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Necromancer )
return true;
else
{
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells. You must visit a Magics and Skill Trainer.", caster.NetState );
return false;
}
}
else if ( book.SpellbookType == SpellbookType.Rogue )
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Rogue )
return true;
else
{
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells. You must visit a Magics and Skill Trainer.", caster.NetState );
return false;
}
}
else if ( book.SpellbookType == SpellbookType.Ranger )
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Ranger )
return true;
else
{
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells. You must visit a Magics and Skill Trainer.", caster.NetState );
return false;
}
}
else if ( book.SpellbookType == SpellbookType.Farming )
{
if ( mod != null && mod.PlayerClasses == PlayerClasses.Farmer )
return true;
else
{
caster.PrivateOverheadMessage( MessageType.Regular, 0x22, false, "You do not posses the training required for these spells. You must visit a Magics and Skill Trainer.", caster.NetState );
return false;
}
}
return true;
}
}
//--<Spellbook Restrictions>-------------------------------------------------<End>
}