Overwrite
Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
150
Scripts/Mobiles/Normal/TrapdoorSpider.cs
Normal file
150
Scripts/Mobiles/Normal/TrapdoorSpider.cs
Normal file
@@ -0,0 +1,150 @@
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName("a trapdoor spider corpse")]
|
||||
public class TrapdoorSpider : BaseCreature
|
||||
{
|
||||
public override bool CanStealth { get { return true; } }
|
||||
|
||||
[Constructable]
|
||||
public TrapdoorSpider()
|
||||
: base(AIType.AI_Melee, FightMode.Closest, 10, 1, 0.2, 0.4)
|
||||
{
|
||||
Name = "a trapdoor spider";
|
||||
Body = 737;
|
||||
Hidden = true;
|
||||
|
||||
SetStr(100, 104);
|
||||
SetDex(162, 165);
|
||||
SetInt(29, 50);
|
||||
|
||||
SetHits(125, 144);
|
||||
|
||||
SetDamage(15, 18);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 20);
|
||||
SetDamageType(ResistanceType.Poison, 80);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 0);
|
||||
SetResistance(ResistanceType.Fire, 30, 35);
|
||||
SetResistance(ResistanceType.Cold, 30, 35);
|
||||
SetResistance(ResistanceType.Poison, 40, 45);
|
||||
SetResistance(ResistanceType.Energy, 95, 100);
|
||||
|
||||
SetSkill(SkillName.Anatomy, 2.0, 3.8);
|
||||
SetSkill(SkillName.MagicResist, 47.5, 57.9);
|
||||
SetSkill(SkillName.Poisoning, 70.5, 73.5);
|
||||
SetSkill(SkillName.Tactics, 73.3, 78.9);
|
||||
SetSkill(SkillName.Wrestling, 92.5, 94.6);
|
||||
SetSkill(SkillName.Hiding, 110.3, 119.9);
|
||||
SetSkill(SkillName.Stealth, 110.5, 119.6);
|
||||
}
|
||||
|
||||
public TrapdoorSpider(Serial serial)
|
||||
: base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override void OnDamage(int amount, Mobile from, bool willKill)
|
||||
{
|
||||
RevealingAction();
|
||||
base.OnDamage(amount, from, willKill);
|
||||
}
|
||||
|
||||
public override void OnDamagedBySpell(Mobile from)
|
||||
{
|
||||
RevealingAction();
|
||||
base.OnDamagedBySpell(from);
|
||||
}
|
||||
|
||||
public override int TreasureMapLevel
|
||||
{
|
||||
get
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.Rich);
|
||||
}
|
||||
|
||||
public override int GetIdleSound()
|
||||
{
|
||||
return 1605;
|
||||
}
|
||||
|
||||
public override int GetAngerSound()
|
||||
{
|
||||
return 1602;
|
||||
}
|
||||
|
||||
public override int GetHurtSound()
|
||||
{
|
||||
return 1604;
|
||||
}
|
||||
|
||||
public override int GetDeathSound()
|
||||
{
|
||||
return 1603;
|
||||
}
|
||||
|
||||
public override void OnThink()
|
||||
{
|
||||
|
||||
if (!this.Alive || this.Deleted)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.Hidden)
|
||||
{
|
||||
double chance = 0.05;
|
||||
|
||||
if (this.Hits < 20)
|
||||
{
|
||||
chance = 0.1;
|
||||
}
|
||||
|
||||
if (this.Poisoned)
|
||||
{
|
||||
chance = 0.01;
|
||||
}
|
||||
|
||||
if (Utility.RandomDouble() < chance)
|
||||
{
|
||||
HideSelf();
|
||||
}
|
||||
base.OnThink();
|
||||
}
|
||||
}
|
||||
|
||||
private void HideSelf()
|
||||
{
|
||||
if (Core.TickCount >= this.NextSkillTime)
|
||||
{
|
||||
Effects.SendLocationParticles(
|
||||
EffectItem.Create(this.Location, this.Map, EffectItem.DefaultDuration), 0x3728, 10, 10, 2023);
|
||||
|
||||
this.PlaySound(0x22F);
|
||||
this.Hidden = true;
|
||||
|
||||
this.UseSkill(SkillName.Stealth);
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
writer.Write(0);
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
var version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user