using System;
using Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a platinum dragon corpse" )]
public class PlatinumDragon : BaseCreature
{
// public override bool StatLossAfterTame { get { return true; } }
[Constructable]
public PlatinumDragon () : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.3, 0.5 )
{
Name = "a platinum dragon";
Body = 198; // big dragon type from tokuno event on osi shards think
Hue = 0; // normal color
BaseSoundID = 362; // dragons sound
SetStr( 1100, 1425 );
SetDex( 100, 148 );
SetInt( 500, 675 );
SetHits( 1100, 2100 );
SetMana( 150, 180 );
SetStam( 120, 135 );
SetDamage( 26, 33 );
SetDamageType( ResistanceType.Physical, 80 );
SetDamageType( ResistanceType.Fire, 20 );
SetResistance( ResistanceType.Physical, 70, 85 );
SetResistance( ResistanceType.Fire, 75, 90 );
SetResistance( ResistanceType.Cold, 70, 85 );
SetResistance( ResistanceType.Poison, 70, 80 );
SetResistance( ResistanceType.Energy, 70, 85 );
SetSkill( SkillName.Meditation, 80 );
SetSkill( SkillName.EvalInt, 130.0, 140.0 );
SetSkill( SkillName.Magery, 130.0, 140.0 );
SetSkill( SkillName.Poisoning, 80 );
SetSkill( SkillName.Anatomy, 80 );
SetSkill( SkillName.MagicResist, 130.0, 145.0 );
SetSkill( SkillName.Tactics, 130.0, 140.0 );
SetSkill( SkillName.Wrestling, 130.0, 145.0 );
Fame = 15000;
Karma = -15000;
VirtualArmor = 70;
// ControlSlots = 5;
// MinTameSkill = 120.0;
Tamable = false; // this is not tamable
}
public override void GenerateLoot()
{
AddLoot( LootPack.FilthyRich, 4 );
AddLoot( LootPack.Gems, 8 );
// THESE LINES Randomly ADD 1 or 2 DecoDragonsBlood in Its PACK when it spawns,
// if you don't have them change them to Dagger or ButcherKnife ,probably do have them,
if ( Utility.RandomDouble() < 0.50 )
PackItem( new DecoDragonsBlood2() );
if ( 0.50 > Utility.RandomDouble() )
PackItem( new DecoDragonsBlood() );
}
// ON DEATH DragonsDagger LINES START HERE
// your have to test the 0.01 i had it set to 0.10 when i tested
public override void OnDeath(Container c)
{
base.OnDeath(c);
if (Utility.RandomDouble() < 0.01)
{
switch (Utility.Random(1))
{
case 0: c.DropItem(new DragonsDagger()); break;
}
}
}
// ON DEATH DragonsDagger LINES END HERE
public override bool ReacquireOnMovement{ get{ return !Controlled; } }
public override bool HasBreath{ get{ return true; } }
// fire breath enabled THIS MIGHT HIT FOR ALOT OF DAMAGE
public override bool AutoDispel{ get{ return !Controlled; } }
public override int TreasureMapLevel{ get{ return 6; } }
public override int Meat{ get{ return 19; } }
public override int Hides{ get{ return 30; } }
public override HideType HideType{ get{ return HideType.Barbed; } }
public override int Scales{ get{ return 10; } }
public override ScaleType ScaleType{ get{ return ( Body == 198 ? ScaleType.White : ScaleType.White ); } }
public override FoodType FavoriteFood{ get{ return FoodType.Meat; } }
// public override bool CanAngerOnTame { get { return true; } }
public override WeaponAbility GetWeaponAbility()
{
// THIS adds weapoabilitys set for bleed if ya want a different one // it & remove the other ones //
return WeaponAbility.BleedAttack;
// return WeaponAbility.ArmorIgnore;
// return WeaponAbility.ConcussionBlow;
// return WeaponAbility.CrushingBlow;
// return WeaponAbility.Disarm;
// return WeaponAbility.Dismount;
// return WeaponAbility.DoubleStrike;
// return WeaponAbility.MortalStrike;
// return WeaponAbility.ParalyzingBlow;
// return WeaponAbility.WhirlwindAttack;
}
public PlatinumDragon( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}