Reorganizes Project (#41)
This commit is contained in:
parent
08bf44af9a
commit
3614a66aee
3499 changed files with 79 additions and 55 deletions
149
Projects/Scripts/Mobiles/Monsters/ML/Animal/CuSidhe.cs
Normal file
149
Projects/Scripts/Mobiles/Monsters/ML/Animal/CuSidhe.cs
Normal file
|
|
@ -0,0 +1,149 @@
|
|||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class CuSidhe : BaseMount
|
||||
{
|
||||
[Constructible]
|
||||
public CuSidhe(string name = null) :
|
||||
base(name, 277, 0x3E91, AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4)
|
||||
{
|
||||
double chance = Utility.RandomDouble() * 23301;
|
||||
|
||||
if (chance <= 1)
|
||||
Hue = 0x489;
|
||||
else if (chance < 50)
|
||||
Hue = Utility.RandomList(0x657, 0x515, 0x4B1, 0x481, 0x482, 0x455);
|
||||
else if (chance < 500)
|
||||
Hue = Utility.RandomList(0x97A, 0x978, 0x901, 0x8AC, 0x5A7, 0x527);
|
||||
|
||||
SetStr(1200, 1225);
|
||||
SetDex(150, 170);
|
||||
SetInt(250, 285);
|
||||
|
||||
SetHits(1010, 1275);
|
||||
|
||||
SetDamage(21, 28);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 0);
|
||||
SetDamageType(ResistanceType.Cold, 50);
|
||||
SetDamageType(ResistanceType.Energy, 50);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 50, 65);
|
||||
SetResistance(ResistanceType.Fire, 25, 45);
|
||||
SetResistance(ResistanceType.Cold, 70, 85);
|
||||
SetResistance(ResistanceType.Poison, 30, 50);
|
||||
SetResistance(ResistanceType.Energy, 70, 85);
|
||||
|
||||
SetSkill(SkillName.Wrestling, 90.1, 96.8);
|
||||
SetSkill(SkillName.Tactics, 90.3, 99.3);
|
||||
SetSkill(SkillName.MagicResist, 75.3, 90.0);
|
||||
SetSkill(SkillName.Anatomy, 65.5, 69.4);
|
||||
SetSkill(SkillName.Healing, 72.2, 98.9);
|
||||
|
||||
Fame = 5000; //Guessing here
|
||||
Karma = 5000; //Guessing here
|
||||
|
||||
Tamable = true;
|
||||
ControlSlots = 4;
|
||||
MinTameSkill = 101.1;
|
||||
|
||||
if (Utility.RandomDouble() < 0.2)
|
||||
PackItem(new TreasureMap(5, Map.Trammel));
|
||||
|
||||
//if ( Utility.RandomDouble() < 0.1 )
|
||||
//PackItem( new ParrotItem() );
|
||||
|
||||
PackGold(500, 800);
|
||||
|
||||
// TODO 0-2 spellweaving scroll
|
||||
}
|
||||
|
||||
public CuSidhe(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override string CorpseName => "a cu sidhe corpse";
|
||||
public override string DefaultName => "a cu sidhe";
|
||||
|
||||
public override bool CanHeal => true;
|
||||
public override bool CanHealOwner => true;
|
||||
public override FoodType FavoriteFood => FoodType.FruitsAndVegies;
|
||||
public override bool CanAngerOnTame => true;
|
||||
public override bool StatLossAfterTame => true;
|
||||
public override int Hides => 10;
|
||||
public override int Meat => 3;
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.AosFilthyRich, 5);
|
||||
}
|
||||
|
||||
public override void OnDoubleClick(Mobile from)
|
||||
{
|
||||
if (from.Race != Race.Elf && from == ControlMaster && from.AccessLevel == AccessLevel.Player)
|
||||
{
|
||||
Item pads = from.FindItemOnLayer(Layer.Shoes);
|
||||
|
||||
if (pads is PadsOfTheCuSidhe)
|
||||
{
|
||||
from.SendLocalizedMessage(1071981); // Your boots allow you to mount the Cu Sidhe.
|
||||
}
|
||||
else
|
||||
{
|
||||
from.SendLocalizedMessage(1072203); // Only Elves may use this.
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
base.OnDoubleClick(from);
|
||||
}
|
||||
|
||||
public override WeaponAbility GetWeaponAbility()
|
||||
{
|
||||
return WeaponAbility.BleedAttack;
|
||||
}
|
||||
|
||||
public override int GetIdleSound()
|
||||
{
|
||||
return 0x577;
|
||||
}
|
||||
|
||||
public override int GetAttackSound()
|
||||
{
|
||||
return 0x576;
|
||||
}
|
||||
|
||||
public override int GetAngerSound()
|
||||
{
|
||||
return 0x578;
|
||||
}
|
||||
|
||||
public override int GetHurtSound()
|
||||
{
|
||||
return 0x576;
|
||||
}
|
||||
|
||||
public override int GetDeathSound()
|
||||
{
|
||||
return 0x579;
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(1); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
if (version < 1 && Name == "a Cu Sidhe")
|
||||
Name = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
104
Projects/Scripts/Mobiles/Monsters/ML/Animal/Ferret.cs
Normal file
104
Projects/Scripts/Mobiles/Monsters/ML/Animal/Ferret.cs
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
using System;
|
||||
using Server.Engines.Quests;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
public class Ferret : BaseCreature
|
||||
{
|
||||
private static string[] m_Vocabulary =
|
||||
{
|
||||
"dook",
|
||||
"dook dook",
|
||||
"dook dook dook!"
|
||||
};
|
||||
|
||||
private bool m_CanTalk;
|
||||
|
||||
[Constructible]
|
||||
public Ferret() : base(AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4)
|
||||
{
|
||||
Body = 0x117;
|
||||
|
||||
SetStr(41, 48);
|
||||
SetDex(55);
|
||||
SetInt(75);
|
||||
|
||||
SetHits(45, 50);
|
||||
|
||||
SetDamage(7, 9);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 100);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 45, 50);
|
||||
SetResistance(ResistanceType.Fire, 10, 14);
|
||||
SetResistance(ResistanceType.Cold, 30, 40);
|
||||
SetResistance(ResistanceType.Poison, 21, 25);
|
||||
SetResistance(ResistanceType.Energy, 20, 25);
|
||||
|
||||
SetSkill(SkillName.MagicResist, 4.0);
|
||||
SetSkill(SkillName.Tactics, 4.0);
|
||||
SetSkill(SkillName.Wrestling, 4.0);
|
||||
|
||||
Tamable = true;
|
||||
ControlSlots = 1;
|
||||
MinTameSkill = -21.3;
|
||||
|
||||
m_CanTalk = true;
|
||||
}
|
||||
|
||||
public Ferret(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override string CorpseName => "a ferret corpse";
|
||||
public override string DefaultName => "a ferret";
|
||||
|
||||
public override int Meat => 1;
|
||||
public override FoodType FavoriteFood => FoodType.Fish;
|
||||
|
||||
public override void OnMovement(Mobile m, Point3D oldLocation)
|
||||
{
|
||||
if (m is Ferret ferret && ferret.InRange(this, 3) && ferret.Alive)
|
||||
Talk(ferret);
|
||||
}
|
||||
|
||||
public void Talk()
|
||||
{
|
||||
Talk(null);
|
||||
}
|
||||
|
||||
public void Talk(Ferret to)
|
||||
{
|
||||
if (m_CanTalk)
|
||||
{
|
||||
if (to != null)
|
||||
QuestSystem.FocusTo(this, to);
|
||||
|
||||
Say(m_Vocabulary[Utility.Random(m_Vocabulary.Length)]);
|
||||
|
||||
if (to != null && Utility.RandomBool())
|
||||
Timer.DelayCall(TimeSpan.FromSeconds(Utility.RandomMinMax(5, 8)), delegate { to.Talk(); });
|
||||
|
||||
m_CanTalk = false;
|
||||
|
||||
Timer.DelayCall(TimeSpan.FromSeconds(Utility.RandomMinMax(20, 30)), delegate { m_CanTalk = true; });
|
||||
}
|
||||
}
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
|
||||
m_CanTalk = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
namespace Server.Mobiles
|
||||
{
|
||||
[TypeAlias("Server.Mobiles.Grizzlybear")]
|
||||
public class RagingGrizzlyBear : BaseCreature
|
||||
{
|
||||
[Constructible]
|
||||
public RagingGrizzlyBear() : base(AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4)
|
||||
{
|
||||
Body = 212;
|
||||
BaseSoundID = 0xA3;
|
||||
|
||||
SetStr(1251, 1550);
|
||||
SetDex(801, 1050);
|
||||
SetInt(151, 400);
|
||||
|
||||
SetHits(751, 930);
|
||||
SetMana(0);
|
||||
|
||||
SetDamage(18, 23);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 100);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 50, 70);
|
||||
SetResistance(ResistanceType.Cold, 30, 50);
|
||||
SetResistance(ResistanceType.Poison, 10, 20);
|
||||
SetResistance(ResistanceType.Energy, 10, 20);
|
||||
|
||||
SetSkill(SkillName.Wrestling, 73.4, 88.1);
|
||||
SetSkill(SkillName.Tactics, 73.6, 110.5);
|
||||
SetSkill(SkillName.MagicResist, 32.8, 54.6);
|
||||
SetSkill(SkillName.Anatomy, 0, 0);
|
||||
|
||||
Fame = 10000; //Guessing here
|
||||
Karma = 10000; //Guessing here
|
||||
|
||||
VirtualArmor = 24;
|
||||
|
||||
Tamable = false;
|
||||
}
|
||||
|
||||
public RagingGrizzlyBear(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override string CorpseName => "a grizzly bear corpse";
|
||||
public override string DefaultName => "a raging grizzly bear";
|
||||
|
||||
public override int Meat => 4;
|
||||
public override int Hides => 32;
|
||||
public override PackInstinct PackInstinct => PackInstinct.Bear;
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
59
Projects/Scripts/Mobiles/Monsters/ML/Animal/Squirrel.cs
Normal file
59
Projects/Scripts/Mobiles/Monsters/ML/Animal/Squirrel.cs
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
namespace Server.Mobiles
|
||||
{
|
||||
public class Squirrel : BaseCreature
|
||||
{
|
||||
[Constructible]
|
||||
public Squirrel() : base(AIType.AI_Animal, FightMode.Aggressor, 10, 1, 0.2, 0.4)
|
||||
{
|
||||
Body = 0x116;
|
||||
|
||||
SetStr(44, 50);
|
||||
SetDex(35);
|
||||
SetInt(5);
|
||||
|
||||
SetHits(42, 50);
|
||||
|
||||
SetDamage(1, 2);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 100);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 30, 34);
|
||||
SetResistance(ResistanceType.Fire, 10, 14);
|
||||
SetResistance(ResistanceType.Cold, 30, 35);
|
||||
SetResistance(ResistanceType.Poison, 20, 25);
|
||||
SetResistance(ResistanceType.Energy, 20, 25);
|
||||
|
||||
SetSkill(SkillName.MagicResist, 4.0);
|
||||
SetSkill(SkillName.Tactics, 4.0);
|
||||
SetSkill(SkillName.Wrestling, 4.0);
|
||||
|
||||
Tamable = true;
|
||||
ControlSlots = 1;
|
||||
MinTameSkill = -21.3;
|
||||
}
|
||||
|
||||
public Squirrel(Serial serial) : base(serial)
|
||||
{
|
||||
}
|
||||
|
||||
public override string CorpseName => "a squirrel corpse";
|
||||
public override string DefaultName => "a squirrell";
|
||||
|
||||
public override int Meat => 1;
|
||||
public override FoodType FavoriteFood => FoodType.FruitsAndVegies;
|
||||
|
||||
public override void Serialize(GenericWriter writer)
|
||||
{
|
||||
base.Serialize(writer);
|
||||
|
||||
writer.Write(0); // version
|
||||
}
|
||||
|
||||
public override void Deserialize(GenericReader reader)
|
||||
{
|
||||
base.Deserialize(reader);
|
||||
|
||||
int version = reader.ReadInt();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue