93 lines
2.8 KiB
C#
93 lines
2.8 KiB
C#
using System;
|
|
using Server.Mobiles;
|
|
using Server.Network;
|
|
using Server.Targeting;
|
|
using Server.Spells;
|
|
|
|
namespace Server.ACC.CSS.Systems.Druid
|
|
{
|
|
public class DruidPackOfBeastSpell : DruidSpell
|
|
{
|
|
private static SpellInfo m_Info = new SpellInfo(
|
|
"Pack Of Beast", "En Sec Ohm Ess Sepa",
|
|
//SpellCircle.Third,
|
|
266,
|
|
9040,
|
|
false,
|
|
Reagent.BlackPearl,
|
|
Reagent.Bloodmoss,
|
|
CReagent.PetrafiedWood
|
|
);
|
|
|
|
public override SpellCircle Circle
|
|
{
|
|
get { return SpellCircle.Third; }
|
|
}
|
|
|
|
public override double CastDelay{ get{ return 1.0; } }
|
|
public override double RequiredSkill{ get{ return 40.0; } }
|
|
public override int RequiredMana{ get{ return 45; } }
|
|
|
|
public DruidPackOfBeastSpell( Mobile caster, Item scroll ) : base( caster, scroll, m_Info )
|
|
{
|
|
}
|
|
|
|
private static Type[] m_Types = new Type[]
|
|
{
|
|
typeof( BrownBear ),
|
|
typeof( TimberWolf ),
|
|
typeof( Panther ),
|
|
typeof( GreatHart ),
|
|
typeof( Hind ),
|
|
typeof( Alligator ),
|
|
typeof( Boar ),
|
|
typeof( GiantRat )
|
|
};
|
|
|
|
public override void OnCast()
|
|
{
|
|
if ( CheckSequence() )
|
|
{
|
|
try
|
|
{
|
|
Type beasttype = ( m_Types[Utility.Random( m_Types.Length )] );
|
|
|
|
BaseCreature creaturea = (BaseCreature)Activator.CreateInstance( beasttype );
|
|
BaseCreature creatureb = (BaseCreature)Activator.CreateInstance( beasttype );
|
|
BaseCreature creaturec = (BaseCreature)Activator.CreateInstance( beasttype );
|
|
BaseCreature creatured = (BaseCreature)Activator.CreateInstance( beasttype );
|
|
|
|
|
|
SpellHelper.Summon( creaturea, Caster, 0x215, TimeSpan.FromSeconds( 4.0 * Caster.Skills[CastSkill].Value ), false, false );
|
|
SpellHelper.Summon( creatureb, Caster, 0x215, TimeSpan.FromSeconds( 4.0 * Caster.Skills[CastSkill].Value ), false, false );
|
|
|
|
Double morebeast = 0 ;
|
|
|
|
morebeast = Utility.Random( 10 ) + ( Caster.Skills[CastSkill].Value * 0.1 );
|
|
|
|
|
|
if ( morebeast > 11 )
|
|
{
|
|
SpellHelper.Summon( creaturec, Caster, 0x215, TimeSpan.FromSeconds( 4.0 * Caster.Skills[CastSkill].Value ), false, false );
|
|
}
|
|
|
|
if ( morebeast > 18 )
|
|
{
|
|
SpellHelper.Summon( creatured, Caster, 0x215, TimeSpan.FromSeconds( 4.0 * Caster.Skills[CastSkill].Value ), false, false );
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
}
|
|
}
|
|
|
|
FinishSequence();
|
|
}
|
|
|
|
public override TimeSpan GetCastDelay()
|
|
{
|
|
return TimeSpan.FromSeconds( 7.5 );
|
|
}
|
|
}
|
|
}
|