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,164 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName("a rune beetle corpse")]
public class RuneBeetle : BaseCreature
{
private static readonly Hashtable m_Table = new Hashtable();
[Constructable]
public RuneBeetle()
: base(AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4)
{
Name = "a rune beetle";
Body = 244;
SetStr(401, 460);
SetDex(121, 170);
SetInt(376, 450);
SetHits(301, 360);
SetDamage(15, 22);
SetDamageType(ResistanceType.Physical, 20);
SetDamageType(ResistanceType.Poison, 10);
SetDamageType(ResistanceType.Energy, 70);
SetResistance(ResistanceType.Physical, 40, 65);
SetResistance(ResistanceType.Fire, 35, 50);
SetResistance(ResistanceType.Cold, 35, 50);
SetResistance(ResistanceType.Poison, 75, 95);
SetResistance(ResistanceType.Energy, 40, 60);
SetSkill(SkillName.EvalInt, 100.1, 125.0);
SetSkill(SkillName.Magery, 100.1, 110.0);
SetSkill(SkillName.Poisoning, 120.1, 140.0);
SetSkill(SkillName.MagicResist, 95.1, 110.0);
SetSkill(SkillName.Tactics, 78.1, 93.0);
SetSkill(SkillName.Wrestling, 70.1, 77.5);
Fame = 15000;
Karma = -15000;
if (Utility.RandomDouble() < .25)
PackItem(Engines.Plants.Seed.RandomBonsaiSeed());
PackBodyPartOrBones();
Tamable = true;
ControlSlots = 3;
MinTameSkill = 93.9;
SetSpecialAbility(SpecialAbility.RuneCorruption);
SetWeaponAbility(WeaponAbility.BleedAttack);
}
public RuneBeetle(Serial serial)
: base(serial)
{
}
public override Poison PoisonImmune
{
get
{
return Poison.Greater;
}
}
public override Poison HitPoison
{
get
{
return Poison.Greater;
}
}
public override FoodType FavoriteFood
{
get
{
return FoodType.FruitsAndVegies | FoodType.GrainsAndHay;
}
}
public override bool CanAngerOnTame
{
get
{
return true;
}
}
public override int GetAngerSound()
{
return 0x4E8;
}
public override int GetIdleSound()
{
return 0x4E7;
}
public override int GetAttackSound()
{
return 0x4E6;
}
public override int GetHurtSound()
{
return 0x4E9;
}
public override int GetDeathSound()
{
return 0x4E5;
}
public override void GenerateLoot()
{
AddLoot(LootPack.FilthyRich, 2);
AddLoot(LootPack.MedScrolls, 1);
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write((int)3);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
if (version < 1)
{
for (int i = 0; i < Skills.Length; ++i)
{
Skills[i].Cap = Math.Max(100.0, Skills[i].Cap * 0.9);
if (Skills[i].Base > Skills[i].Cap)
{
Skills[i].Base = Skills[i].Cap;
}
}
}
if (version < 3)
{
if (AbilityProfile == null || AbilityProfile.MagicalAbility == MagicalAbility.None)
{
SetMagicalAbility(MagicalAbility.Poisoning);
}
if (version == 1)
{
SetSpecialAbility(SpecialAbility.RuneCorruption);
SetWeaponAbility(WeaponAbility.BleedAttack);
}
}
}
}
}