#W# Mobs: Still working on adding some new mobs.
This commit is contained in:
parent
5bdc30d7ea
commit
fbda425fee
12 changed files with 311 additions and 7 deletions
78
Projects/UOContent/Mobiles/Monsters/Custom/AncientWyvern.cs
Normal file
78
Projects/UOContent/Mobiles/Monsters/Custom/AncientWyvern.cs
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
using ModernUO.Serialization;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class AncientWyvern : BaseCreature
|
||||
{
|
||||
[Constructible]
|
||||
public AncientWyvern() : base(AIType.AI_Mage)
|
||||
{
|
||||
Name = NameList.RandomName("ancient wyvern");
|
||||
Body = Utility.RandomList(1119, 1120, 1121, 1122, 1123, 1124, 1125); //46;
|
||||
BaseSoundID = 362;
|
||||
|
||||
SetStr(796, 825);
|
||||
SetDex(86, 105);
|
||||
SetInt(436, 475);
|
||||
|
||||
SetHits(478, 495);
|
||||
|
||||
SetDamage(16, 22);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 50);
|
||||
SetDamageType(ResistanceType.Poison, 50);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 55, 65);
|
||||
SetResistance(ResistanceType.Fire, 50, 60);
|
||||
SetResistance(ResistanceType.Cold, 40, 50);
|
||||
SetResistance(ResistanceType.Poison, 100 );
|
||||
SetResistance(ResistanceType.Energy, 50, 60);
|
||||
|
||||
SetSkill(SkillName.EvalInt, 30.1, 40.0);
|
||||
SetSkill(SkillName.Magery, 30.1, 40.0);
|
||||
SetSkill(SkillName.Meditation, 52.5, 75.0);
|
||||
SetSkill(SkillName.MagicResist, 99.1, 100.0);
|
||||
SetSkill(SkillName.Tactics, 97.6, 100.0);
|
||||
SetSkill(SkillName.Wrestling, 90.1, 92.5);
|
||||
|
||||
Fame = 15000;
|
||||
Karma = -15000;
|
||||
|
||||
VirtualArmor = 60;
|
||||
|
||||
Tamable = true;
|
||||
ControlSlots = 3;
|
||||
MinTameSkill = 93.9;
|
||||
}
|
||||
|
||||
public override string CorpseName => "an ancient wyvern corpse";
|
||||
public override string DefaultName => "an ancient wyvern";
|
||||
|
||||
public override bool ReacquireOnMovement => true;
|
||||
public override bool AutoDispel => true;
|
||||
public override HideType HideType => HideType.Barbed;
|
||||
public override int Hides => 40;
|
||||
public override int Meat => 19;
|
||||
public override int Scales => 12;
|
||||
public override ScaleType ScaleType => (ScaleType)Utility.Random(4);
|
||||
public override Poison PoisonImmune => Poison.Deadly;
|
||||
public override Poison HitPoison => Utility.RandomBool() ? Poison.Regular : Poison.Deadly;
|
||||
public override int TreasureMapLevel => 5;
|
||||
public override bool CanFly => true;
|
||||
public override bool CanAngerOnTame => true;
|
||||
|
||||
private static MonsterAbility[] _abilities = { MonsterAbilities.FireBreath };
|
||||
public override MonsterAbility[] GetMonsterAbilities() => _abilities;
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.FilthyRich, 2);
|
||||
AddLoot(LootPack.Gems, 3);
|
||||
}
|
||||
|
||||
public override int GetIdleSound() => 0x16B;
|
||||
|
||||
public override int GetHurtSound() => 0x16D;
|
||||
}
|
||||
}
|
||||
|
|
@ -13,6 +13,7 @@ namespace Server.Mobiles
|
|||
public DarkLion() : base(1132, 1132, AIType.AI_Melee)
|
||||
{
|
||||
|
||||
BaseSoundID = 0x0B3;
|
||||
SetStr(801, 1010);
|
||||
SetDex(171, 270);
|
||||
SetInt(301, 325);
|
||||
|
|
@ -58,6 +59,11 @@ namespace Server.Mobiles
|
|||
private static MonsterAbility[] _abilities = { MonsterAbilities.BloodBathAttack };
|
||||
public override MonsterAbility[] GetMonsterAbilities() => _abilities;
|
||||
|
||||
public override int GetAttackSound() => 0x0B2;
|
||||
public override int GetAngerSound() => 0x0B2;
|
||||
public override int GetDeathSound() => 0x0B6;
|
||||
public override int GetIdleSound() => 0x0B5;
|
||||
public override int GetHurtSound() => 0x0B4;
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
54
Projects/UOContent/Mobiles/Monsters/Custom/EvilGriffon.cs
Normal file
54
Projects/UOContent/Mobiles/Monsters/Custom/EvilGriffon.cs
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
using System;
|
||||
using ModernUO.Serialization;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class EvilGriffon : BaseMount
|
||||
{
|
||||
public override string DefaultName => "an evil griffon";
|
||||
|
||||
[Constructible]
|
||||
public EvilGriffon() : base(1137, 1137, AIType.AI_Melee)
|
||||
{
|
||||
BaseSoundID = 0x4FE;
|
||||
|
||||
SetStr(220, 270);
|
||||
SetDex(130, 150);
|
||||
SetInt(70, 90);
|
||||
|
||||
SetHits(200, 240);
|
||||
SetDamage(14, 18);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 50);
|
||||
SetDamageType(ResistanceType.Energy, 50); // Darker variant hits with a bit of energy
|
||||
|
||||
SetResistance(ResistanceType.Physical, 45, 55);
|
||||
SetResistance(ResistanceType.Fire, 40, 50);
|
||||
SetResistance(ResistanceType.Cold, 20, 30);
|
||||
SetResistance(ResistanceType.Poison, 40, 50);
|
||||
SetResistance(ResistanceType.Energy, 30, 40);
|
||||
|
||||
SetSkill(SkillName.MagicResist, 65.0, 80.0);
|
||||
SetSkill(SkillName.Tactics, 75.0, 90.0);
|
||||
SetSkill(SkillName.Wrestling, 75.0, 90.0);
|
||||
|
||||
Fame = 5000;
|
||||
Karma = -5000; // Aggressive
|
||||
|
||||
Tamable = true;
|
||||
ControlSlots = 2;
|
||||
MinTameSkill = 85.1;
|
||||
}
|
||||
|
||||
public override int Meat => 3;
|
||||
public override int Feathers => 36;
|
||||
public override FoodType FavoriteFood => FoodType.Meat;
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.Average, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
54
Projects/UOContent/Mobiles/Monsters/Custom/Griffon.cs
Normal file
54
Projects/UOContent/Mobiles/Monsters/Custom/Griffon.cs
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
using System;
|
||||
using ModernUO.Serialization;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class Griffon : BaseMount
|
||||
{
|
||||
public override string DefaultName => "a griffon";
|
||||
|
||||
[Constructible]
|
||||
public Griffon() : base(1136, 1136, AIType.AI_Melee)
|
||||
{
|
||||
BaseSoundID = 0x4FE;
|
||||
|
||||
SetStr(200, 250);
|
||||
SetDex(120, 140);
|
||||
SetInt(60, 80);
|
||||
|
||||
SetHits(180, 220);
|
||||
SetDamage(12, 16);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 100);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 40, 50);
|
||||
SetResistance(ResistanceType.Fire, 30, 40);
|
||||
SetResistance(ResistanceType.Cold, 30, 40);
|
||||
SetResistance(ResistanceType.Poison, 20, 30);
|
||||
SetResistance(ResistanceType.Energy, 30, 40);
|
||||
|
||||
SetSkill(SkillName.MagicResist, 60.0, 75.0);
|
||||
SetSkill(SkillName.Tactics, 70.0, 85.0);
|
||||
SetSkill(SkillName.Wrestling, 70.0, 85.0);
|
||||
|
||||
Fame = 4000;
|
||||
Karma = 0; // Neutral
|
||||
|
||||
Tamable = true;
|
||||
ControlSlots = 2;
|
||||
MinTameSkill = 80.1;
|
||||
}
|
||||
|
||||
public override int Meat => 3;
|
||||
public override int Feathers => 36;
|
||||
public override FoodType FavoriteFood => FoodType.Meat;
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.Average);
|
||||
AddLoot(LootPack.Meager);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -89,7 +89,11 @@ namespace Server.Mobiles
|
|||
AddLoot(LootPack.Potions);
|
||||
}
|
||||
|
||||
public override int GetAngerSound()
|
||||
public override int GetAttackSound() => 0x0AB;
|
||||
//public override int GetAngerSound() => 0x0A9;
|
||||
public override int GetDeathSound() => 0x0AC;
|
||||
public override int GetIdleSound() => 0x0A8;
|
||||
public override int GetHurtSound() => 0x0AA;
|
||||
{
|
||||
if (!Controlled)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -0,0 +1,75 @@
|
|||
using System;
|
||||
using ModernUO.Serialization;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class SkeletalHellCat : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "a skeletal hell cat";
|
||||
|
||||
[Constructible]
|
||||
public SkeletalHellCat() : base(AIType.AI_Melee, FightMode.Closest)
|
||||
{
|
||||
Body = 1163;
|
||||
BaseSoundID = 0x0B3;
|
||||
|
||||
SetStr(250, 300);
|
||||
SetDex(100, 150);
|
||||
SetInt(50, 100);
|
||||
|
||||
SetHits(150, 200);
|
||||
SetDamage(8, 14);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 50);
|
||||
SetDamageType(ResistanceType.Fire, 50);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 45, 55);
|
||||
SetResistance(ResistanceType.Fire, 60, 70);
|
||||
SetResistance(ResistanceType.Cold, 20, 30);
|
||||
SetResistance(ResistanceType.Poison, 10, 20);
|
||||
SetResistance(ResistanceType.Energy, 20, 30); public override int GetAttackSound() => 0x0B2;
|
||||
public override int GetAngerSound() => 0x0B2
|
||||
public override int GetDeathSound() => 0x0B6;
|
||||
public override int GetIdleSound() => 0x0B5;
|
||||
public override int GetHurtSound() => 0x0B4;
|
||||
|
||||
|
||||
SetSkill(SkillName.MagicResist, 50.0, 70.0);
|
||||
SetSkill(SkillName.Tactics, 65.0, 85.0);
|
||||
SetSkill(SkillName.Wrestling, 65.0, 85.0);
|
||||
|
||||
Fame = 3500;
|
||||
Karma = -3500;
|
||||
|
||||
Tamable = true;
|
||||
ControlSlots = 2;
|
||||
MinTameSkill = 85.1;
|
||||
|
||||
PackItem(new SulfurousAsh(Utility.RandomMinMax(2, 4)));
|
||||
}
|
||||
|
||||
public override string CorpseName => "a skeletal hell cat corpse";
|
||||
public override bool ReacquireOnMovement => true;
|
||||
public override int Meat => 2;
|
||||
//public override int Hides => 10;
|
||||
//public override HideType HideType => HideType.Spined;
|
||||
public override FoodType FavoriteFood => FoodType.Meat;
|
||||
public override PackInstinct PackInstinct => PackInstinct.Feline;
|
||||
|
||||
private static MonsterAbility[] _abilities = { MonsterAbilities.FireBreath };
|
||||
public override MonsterAbility[] GetMonsterAbilities() => _abilities;
|
||||
|
||||
public override int GetAttackSound() => 0x0B2;
|
||||
public override int GetAngerSound() => 0x0B2;
|
||||
public override int GetDeathSound() => 0x0B6;
|
||||
public override int GetIdleSound() => 0x0B5;
|
||||
public override int GetHurtSound() => 0x0B4;
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.Average);
|
||||
AddLoot(LootPack.Meager);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -13,7 +13,7 @@ namespace Server.Mobiles
|
|||
public SmolderingLion() : base(AIType.AI_Melee, FightMode.Closest)
|
||||
{
|
||||
Body = 1128;
|
||||
BaseSoundID = 0x69;
|
||||
BaseSoundID = 0x0B3;
|
||||
|
||||
SetStr(250, 300);
|
||||
SetDex(100, 150);
|
||||
|
|
@ -56,6 +56,11 @@ namespace Server.Mobiles
|
|||
private static MonsterAbility[] _abilities = { MonsterAbilities.FireBreath };
|
||||
public override MonsterAbility[] GetMonsterAbilities() => _abilities;
|
||||
|
||||
public override int GetAttackSound() => 0x0B2;
|
||||
public override int GetAngerSound() => 0x0B2;
|
||||
public override int GetDeathSound() => 0x0B6;
|
||||
public override int GetIdleSound() => 0x0B5;
|
||||
public override int GetHurtSound() => 0x0B4;
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.Average);
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Server.Mobiles
|
|||
public Balron() : base(AIType.AI_Mage)
|
||||
{
|
||||
Name = NameList.RandomName("balron");
|
||||
Body = 40;
|
||||
Body = Utility.RandomList(1091, 1092, 1093, 1094); //40;
|
||||
BaseSoundID = 357;
|
||||
|
||||
SetStr(986, 1185);
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ namespace Server.Mobiles
|
|||
[Constructible]
|
||||
public AncientWyrm() : base(AIType.AI_Mage)
|
||||
{
|
||||
Name = NameList.RandomName("ancient wyvern");
|
||||
Body = 46;
|
||||
BaseSoundID = 362;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue