using System;
using Server;
using Server.Mobiles;
using Server.Gumps;
using Server.Targeting;
using Server.Scripts.Commands;
using Server.Items;
namespace Server.Scripts.Commands
{
public class ShrinkCommand
{
public static void Initialize()
{
Server.Commands.Register( "Shrink", AccessLevel.GameMaster, new CommandEventHandler( Shrink_OnCommand ) );
}
[Usage( "Shrink" )]
[Description( "Removes a player from event/area." )]
private static void Shrink_OnCommand( CommandEventArgs e )
{
if ( e.Mobile is PlayerMobile )
{
e.Mobile.Target = new ShrinkTarget();
e.Mobile.SendMessage("What would you like to Shrink?");
}
}
public class ShrinkTarget : Target
{
public ShrinkTarget() : base( -1, true, TargetFlags.None )
{
}
protected override void OnTarget( Mobile from, object o )
{
if ( o is Item )
from.SendMessage( "You cannot shrink that, MOBILES ONLY" );
else if ( o is PlayerMobile )
from.SendMessage( "You cannot shrink that, MOBILES ONLY" );
else if ( o is BaseCreature )
{
BaseCreature c = (BaseCreature)o;
Type type = c.GetType();
ShrinkItem si = new ShrinkItem();
si.MobType = type;
si.Pet = c;
si.PetOwner = from;
if ( c is EvolutionDragon )
{
EvolutionDragon evo = (EvolutionDragon)c;
si.PetKP = evo.KP;
si.PetStage = evo.Stage;
si.PetHasEgg = evo.HasEgg;
si.PetAllowMating = evo.AllowMating;
si.PetPregnant = evo.Pregnant;
si.PetS1 = evo.S1;
si.PetS2 = evo.S2;
si.PetS3 = evo.S3;
si.PetS4 = evo.S4;
si.PetS5 = evo.S5;
si.PetS6 = evo.S6;
}
if ( c is BaseMount )
{
BaseMount mount = (BaseMount)c;
si.MountID = mount.ItemID;
}
from.AddToBackpack( si );
c.Delete();
}
else
from.SendMessage( "You cannot shrink that, MOBILES ONLY" );
}
}
}
}