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,71 @@
using System;
using Server;
using Server.Items;
using Server.Engines.MyrmidexInvasion;
namespace Server.Mobiles
{
[CorpseName("a myrmidex corpse")]
public class DescicatedMyrmidexLarvae : BaseCreature
{
[Constructable]
public DescicatedMyrmidexLarvae()
: base(AIType.AI_Melee, FightMode.Closest, 10, 1, .2, .4)
{
Name = "a descicated myrmidex larvae";
Hue = 2949;
Body = 1293;
BaseSoundID = 959;
SetStr(350, 450);
SetDex(80, 95);
SetInt(15, 25);
SetDamage( 5, 10 );
SetHits(446, 588);
SetMana(20, 50);
SetResistance( ResistanceType.Physical, 20, 25 );
SetResistance( ResistanceType.Fire, 10, 20 );
SetResistance( ResistanceType.Cold, 15, 25 );
SetResistance( ResistanceType.Poison, 40, 50 );
SetResistance( ResistanceType.Energy, 10, 20 );
SetDamageType( ResistanceType.Physical, 60 );
SetDamageType( ResistanceType.Poison, 40 );
SetSkill( SkillName.MagicResist, 30.1, 43.5 );
SetSkill( SkillName.Tactics, 60, 70 );
SetSkill( SkillName.Wrestling, 55, 60 );
SetSkill(SkillName.Poisoning, 80, 100);
SetSkill(SkillName.DetectHidden, 30, 40);
PackGold(20, 40);
Fame = 2500;
Karma = -2500;
}
public override Poison HitPoison{ get{ return Poison.Lesser; } }
public override Poison PoisonImmune{ get{ return Poison.Lesser; } }
public DescicatedMyrmidexLarvae(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,94 @@
using System;
using Server;
using Server.Items;
using Server.Gumps;
using System.Collections.Generic;
using Server.ContextMenus;
using Server.Engines.Points;
using Server.Mobiles;
namespace Server.Engines.TreasuresOfKotlCity
{
public class Hal : BaseTurnInMobile
{
public override int TitleLocalization { get { return 1154520; } } // Click a minor artifact to turn in for reward points.
public override int CancelLocalization { get { return 1156903; } } // Bring me items of the Kotl and I will reward you with valuable items.
public override int TurnInLocalization { get { return 1155592; } } // Turn In Artifacts of the Kotl
[Constructable]
public Hal() : base("the Researcher")
{
}
public override void InitBody()
{
base.InitBody();
Name = "Hal";
SpeechHue = 0x3B2;
Hue = Utility.RandomSkinHue();
Body = 0x190;
}
public override void InitOutfit()
{
SetWearable(new FancyShirt(), 1255);
SetWearable(new JinBaori(), 2722);
SetWearable(new Kilt(), 2012);
SetWearable(new ThighBoots(), 1908);
}
public override void GetProperties(ObjectPropertyList list)
{
base.GetProperties(list);
list.Add(1157038); // Artifacts of the Kotl City Trader
}
private DateTime _NextSpeak;
public override void OnMovement(Mobile m, Point3D oldLocation)
{
base.OnMovement(m, oldLocation);
if (_NextSpeak < DateTime.UtcNow)
{
SayTo(m, 1156903); // Bring me items of the Kotl and I will reward you with valuable items.
_NextSpeak = DateTime.UtcNow + TimeSpan.FromSeconds(25);
}
}
public override void AwardPoints(PlayerMobile pm, Item item, int amount)
{
PointsSystem.TreasuresOfKotlCity.AwardPoints(pm, amount);
}
public override bool IsRedeemableItem(Item item)
{
return item is ICombatEquipment && ((ICombatEquipment)item).ReforgedSuffix == ReforgedSuffix.Kotl;
}
public override void SendRewardGump(Mobile m)
{
if (m.Player && m.CheckAlive())
m.SendGump(new KotlCityRewardGump(this, m as PlayerMobile));
}
public Hal(Serial serial) : base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,96 @@
using System;
using Server;
using Server.Items;
using Server.Engines.MyrmidexInvasion;
namespace Server.Mobiles
{
[CorpseName("a kotl warrior corpse")]
public class SpectralKotlWarrior : BaseCreature
{
[Constructable]
public SpectralKotlWarrior(bool weak)
: base(AIType.AI_Mage, FightMode.Closest, 10, 1, .2, .4)
{
Name = "a spectral kotl warrior";
Body = 0x24;
BaseSoundID = 417;
Hue = 2951;
SetStr(500, 600);
SetDex(82, 95);
SetInt(130, 140);
SetMana(40, 50);
SetDamage(18, 22);
if (weak)
{
SetHits(1200, 1400);
SetResistance(ResistanceType.Physical, 1, 10);
SetResistance(ResistanceType.Fire, 1, 10);
SetResistance(ResistanceType.Cold, 1, 10);
SetResistance(ResistanceType.Poison, 8, 10);
SetResistance(ResistanceType.Energy, 5, 10);
}
else
{
SetHits(330, 360);
SetResistance(ResistanceType.Physical, 40, 50);
SetResistance(ResistanceType.Fire, 30, 40);
SetResistance(ResistanceType.Cold, 30, 40);
SetResistance(ResistanceType.Poison, 90, 100);
SetResistance(ResistanceType.Energy, 80, 90);
}
SetDamageType(ResistanceType.Physical, 50);
SetDamageType(ResistanceType.Poison, 50);
SetSkill(SkillName.Wrestling, 90, 100);
SetSkill(SkillName.Tactics, 90, 100);
SetSkill(SkillName.MagicResist, 70, 80);
SetSkill(SkillName.Poisoning, 70, 80);
SetSkill(SkillName.Magery, 80, 90);
SetSkill(SkillName.EvalInt, 70, 80);
Fame = 16000;
Karma = -16000;
}
public override void GenerateLoot()
{
this.AddLoot(LootPack.Rich, 2);
}
public override Poison HitPoison { get { return Poison.Deadly; } }
public override Poison PoisonImmune { get { return Poison.Deadly; } }
public override bool IsEnemy(Mobile m)
{
if (m is SpectralMyrmidexWarrior)
return true;
return base.IsEnemy(m);
}
public SpectralKotlWarrior(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}

View File

@@ -0,0 +1,96 @@
using System;
using Server;
using Server.Items;
using Server.Engines.MyrmidexInvasion;
namespace Server.Mobiles
{
[CorpseName("a myrmidex corpse")]
public class SpectralMyrmidexWarrior : BaseCreature
{
[Constructable]
public SpectralMyrmidexWarrior(bool weak)
: base(AIType.AI_Mage, FightMode.Closest, 10, 1, .2, .4)
{
Name = "a spectral myrmidex warrior";
Body = 1403;
BaseSoundID = 959;
Hue = 2951;
SetStr(500, 600);
SetDex(82, 95);
SetInt(130, 140);
SetMana(40, 50);
SetDamage(18, 22);
if (weak)
{
SetHits(1200, 1400);
SetResistance(ResistanceType.Physical, 1, 10);
SetResistance(ResistanceType.Fire, 1, 10);
SetResistance(ResistanceType.Cold, 1, 10);
SetResistance(ResistanceType.Poison, 8, 10);
SetResistance(ResistanceType.Energy, 5, 10);
}
else
{
SetHits(330, 360);
SetResistance(ResistanceType.Physical, 40, 50);
SetResistance(ResistanceType.Fire, 30, 40);
SetResistance(ResistanceType.Cold, 30, 40);
SetResistance(ResistanceType.Poison, 90, 100);
SetResistance(ResistanceType.Energy, 80, 90);
}
SetDamageType(ResistanceType.Physical, 50);
SetDamageType(ResistanceType.Poison, 50);
SetSkill(SkillName.Wrestling, 90, 100);
SetSkill(SkillName.Tactics, 90, 100);
SetSkill(SkillName.MagicResist, 70, 80);
SetSkill(SkillName.Poisoning, 70, 80);
SetSkill(SkillName.Magery, 80, 90);
SetSkill(SkillName.EvalInt, 70, 80);
Fame = 16000;
Karma = -16000;
}
public override void GenerateLoot()
{
this.AddLoot(LootPack.Rich, 2);
}
public override Poison HitPoison { get { return Poison.Deadly; } }
public override Poison PoisonImmune { get { return Poison.Deadly; } }
public override bool IsEnemy(Mobile m)
{
if (m is SpectralKotlWarrior)
return true;
return base.IsEnemy(m);
}
public SpectralMyrmidexWarrior(Serial serial)
: base(serial)
{
}
public override void Serialize(GenericWriter writer)
{
base.Serialize(writer);
writer.Write(0);
}
public override void Deserialize(GenericReader reader)
{
base.Deserialize(reader);
int version = reader.ReadInt();
}
}
}