ModernUO/Scripts/Mobiles/Monsters/ML/Bedlam/RedDeath.cs
eos c0206c6f7e - Added more future ML craftables that already drop as loot to the special repair lists.
- Fixed Bloodwood Spirit and Totem of the Void sometimes not spawning with a protection attribute. (Prepatch ones are fixed on server start.)
- Fixed crashes in BaseTalisman resulting from setting Summoner to null.
- Paragon perks added to mobs dropping ML artifacts (by making them paragon "under the hood", seems to be the case on OSI as well). This also means the named mobs will now drop paragon chests.
- Poison immunity level is now also increased by 1 for paragons.
- Rend now drops ML minor artifacts.
- ML named mobs no longer use the AoS specific loot packs, but will adjust to the era the server is set in.
- The 'current speed' of paragons is now updated to account for the speed boost after spawning.
2012-03-11 01:43:55 +00:00

96 lines
2.2 KiB
C#

using System;
using Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a Red Death corpse" )]
public class RedDeath : SkeletalMount
{
[Constructable]
public RedDeath()
: base( "Red Death" )
{
IsParagon = true;
Hue = 0x21;
BaseSoundID = 0x1C3;
AI = AIType.AI_Melee;
FightMode = FightMode.Closest;
SetStr( 319, 324 );
SetDex( 241, 244 );
SetInt( 242, 255 );
SetHits( 1540, 1605 );
SetDamage( 25, 29 );
SetDamageType( ResistanceType.Physical, 25 );
SetDamageType( ResistanceType.Fire, 75 );
SetDamageType( ResistanceType.Cold, 0 );
SetResistance( ResistanceType.Physical, 60, 70 );
SetResistance( ResistanceType.Fire, 90 );
SetResistance( ResistanceType.Cold, 0 );
SetResistance( ResistanceType.Poison, 100 );
SetResistance( ResistanceType.Energy, 0 );
SetSkill( SkillName.Wrestling, 121.4, 143.7 );
SetSkill( SkillName.Tactics, 120.9, 142.2 );
SetSkill( SkillName.MagicResist, 120.1, 142.3 );
SetSkill( SkillName.Anatomy, 120.2, 144.0 );
Fame = 28000;
Karma = -28000;
if ( Utility.RandomBool() )
PackNecroScroll( Utility.RandomMinMax( 5, 9 ) );
else
PackScroll( 4, 7 );
}
public override void GenerateLoot()
{
AddLoot( LootPack.UltraRich, 3 );
}
public override WeaponAbility GetWeaponAbility()
{
return WeaponAbility.WhirlwindAttack;
}
public override void OnDeath( Container c )
{
base.OnDeath( c );
c.DropItem( new ResolvesBridle() );
}
public override bool GivesMLMinorArtifact{ get{ return true; } }
public override bool AlwaysMurderer{ get{ return true; } }
public override bool HasBreath{ get{ return true; } }
public override int BreathChaosDamage{ get { return 100; } }
public override int BreathFireDamage{ get{ return 0; } }
public RedDeath( Serial serial )
: base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 ); // version
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}