Files
abysmal-isle/Scripts/Mobiles/Normal/Virulent.cs
Unstable Kitsune b918192e4e Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
2023-11-28 23:20:26 -05:00

131 lines
3.4 KiB
C#

using System;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName("a Virulent corpse")]
public class Virulent : BaseCreature
{
[Constructable]
public Virulent()
: base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Name = "Virulent";
Body = 11;
Hue = 0x8FF;
BaseSoundID = 1170;
SetStr(207, 252);
SetDex(156, 194);
SetInt(346, 398);
SetHits(616, 740);
SetStam(156, 194);
SetMana(346, 398);
SetDamage(15, 25);
SetDamageType(ResistanceType.Physical, 20);
SetDamageType(ResistanceType.Poison, 80);
SetResistance(ResistanceType.Physical, 60, 68);
SetResistance(ResistanceType.Fire, 40, 49);
SetResistance(ResistanceType.Cold, 41, 50);
SetResistance(ResistanceType.Poison, 100);
SetResistance(ResistanceType.Energy, 40, 49);
SetSkill(SkillName.Wrestling, 92.8, 111.7);
SetSkill(SkillName.Tactics, 91.6, 107.4);
SetSkill(SkillName.MagicResist, 78.1, 93.3);
SetSkill(SkillName.Poisoning, 120.0);
SetSkill(SkillName.Magery, 104.2, 119.8);
SetSkill(SkillName.EvalInt, 102.8, 116.8);
PackItem(new SpidersSilk(8));
Fame = 21000;
Karma = -21000;
for (int i = 0; i < Utility.RandomMinMax(0, 1); i++)
{
PackItem(Loot.RandomScroll(0, Loot.ArcanistScrollTypes.Length, SpellbookType.Arcanist));
}
SetWeaponAbility(WeaponAbility.MortalStrike);
}
public Virulent(Serial serial)
: base(serial)
{
}
public override bool GivesMLMinorArtifact
{
get
{
return true;
}
}
public override Poison PoisonImmune
{
get
{
return Poison.Lethal;
}
}
public override Poison HitPoison
{
get
{
return Poison.Lethal;
}
}
public override OppositionGroup OppositionGroup
{
get
{
return OppositionGroup.FeyAndUndead;
}
}
public override void GenerateLoot()
{
AddLoot(LootPack.AosUltraRich, 4);
}
public override void OnDeath(Container c)
{
base.OnDeath(c);
if (Utility.RandomDouble() < 0.025)
{
switch ( Utility.Random(2) )
{
case 0:
c.DropItem(new HunterLegs());
break;
case 1:
c.DropItem(new MalekisHonor());
break;
}
}
if (Utility.RandomDouble() < 0.1)
c.DropItem(new ParrotItem());
}
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();
}
}
}