Overwrite

Complete Overwrite of the Folder with the free shard. ServUO 57.3 has been added.
This commit is contained in:
Unstable Kitsune
2023-11-28 23:20:26 -05:00
parent 3cd54811de
commit b918192e4e
11608 changed files with 2644205 additions and 47 deletions

View 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();
}
}
}