#W# New: Working on adding new mobs.
This commit is contained in:
parent
ec8264feb0
commit
5bdc30d7ea
17 changed files with 382 additions and 68 deletions
|
|
@ -52,7 +52,8 @@
|
|||
"homeRange": 4,
|
||||
"walkingRange": -1,
|
||||
"entries": [
|
||||
{ "name": "nightmare", "probability": 100, "maxCount": 1 }
|
||||
{ "name": "nightmare", "probability": 98, "maxCount": 1 },
|
||||
{ "name": "hellishnightmare", "probability": 2, "maxCount": 1}
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
|||
62
Info/NewAnimationIds.txt
Normal file
62
Info/NewAnimationIds.txt
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
anim2.mul
|
||||
<ID> <Name>
|
||||
1072 Ogre - Added
|
||||
1073 Ogre Lord - Added
|
||||
1074 Ogre King
|
||||
1075 Ettin - Added
|
||||
1076 Ettin Lord
|
||||
1077 Ratman - Added
|
||||
1078 Ratman Archer - Added
|
||||
1079 Ratman Mage - Added
|
||||
1080 Skeleton - Added
|
||||
1081 Skeleton Warrior - Added
|
||||
1082 Skeletal Mage Flying -Added
|
||||
1083 Orcish Mage - Added
|
||||
1084 Corpser - Added
|
||||
1085 Large Corpser
|
||||
1086 Elder Gazer - Added
|
||||
1087 Evil Mage - Added
|
||||
1088 Evil Mage Lord - Added
|
||||
1089 Ancient Lich - Added
|
||||
1090 Shambler
|
||||
1091-1095 Balrons
|
||||
1096 Ent
|
||||
1097 Larger Ent
|
||||
1098 Ancient Ent
|
||||
1099 Dragon Turtle
|
||||
1100 Large Crab Monster Thing
|
||||
1101 Daemon Knight
|
||||
1102 Earth Elemental - Added
|
||||
1103 Fire Elemental Human - Added
|
||||
1104 Ice Elemental - Added
|
||||
1105 Poison/Blood/Acid/Water Elemental Add Hue - Added
|
||||
1106 Air Elemenatal - Added
|
||||
1107 Moss Elemental
|
||||
1108 Rock Monster Elemental?
|
||||
1109 Crystal Giant
|
||||
1110 Fire Giant
|
||||
1111 Fire God/Daemon
|
||||
1112 Ice Giant
|
||||
1113 Water Giant
|
||||
1114 Very Large Daemon
|
||||
1115 Very Large Daemon with Skull for Head
|
||||
1117 Giant Black Dragon
|
||||
1118 Giant Ice Dragon
|
||||
1119 - 1125 Different Color Wyrms
|
||||
1126 Black Knight
|
||||
1127 Exodus
|
||||
1128 Fire Lion - Added Smoldering Lion
|
||||
1129 Hell Beast
|
||||
1130 Large Winged Huminod Beast
|
||||
|
||||
#anim5.mul
|
||||
1131 Fire Nightmare - Added Hellish Nightmare
|
||||
1132 Dark Lion - Added Dark Lion
|
||||
1133 Skeletal Lion
|
||||
1134 Fire Unicorn
|
||||
1135 Hell Steed
|
||||
1136 Griffon
|
||||
1137 Hippogriffon
|
||||
1139 Skeleton Archer - Added
|
||||
1140 - 1143 Clydesdale Horse - Added
|
||||
1144 - 1147 Clydesdale Horse with Saddles - Added
|
||||
|
|
@ -1,57 +1,3 @@
|
|||
anim2.mul
|
||||
<ID> <Name>
|
||||
1072 Ogre
|
||||
1073 Ogre Lord
|
||||
1074 Ogre King
|
||||
1075 Ettin
|
||||
1076 Ettin Lord
|
||||
1077 Ratman
|
||||
1078 Ratman Archer
|
||||
1079 Ratman Mage
|
||||
1080 Skeleton
|
||||
1081 Skeleton Warrior
|
||||
1082 Skeletal Mage Flying
|
||||
1083 Orcish Mage
|
||||
1084 Corpser
|
||||
1085 Large Corpser
|
||||
1086 Elder Gazer
|
||||
1087 Evil Mage
|
||||
1088 Evil Mage Lord
|
||||
1089 Ancient Lich
|
||||
1090 Shambler
|
||||
1091-1095 Balrons
|
||||
1096 Ent
|
||||
1097 Larger Ent
|
||||
1098 Ancient Ent
|
||||
1099 Dragon Turtle
|
||||
1100 Large Crab Monster Thing
|
||||
1101 Daemon Knight
|
||||
1102 Earth Elemental
|
||||
1103 Fire Elemental Human
|
||||
1104 Ice Elemental
|
||||
1105 Poison/Blood/Acid/Water Elemental Add Hue
|
||||
1106 Air Elemenatal?
|
||||
1107 Moss Elemental
|
||||
1108 Rock Monster Elemental?
|
||||
1109 Crystal Giant
|
||||
1110 Fire Giant
|
||||
1111 Fire God/Daemon
|
||||
1112 Ice Giant
|
||||
1113 Water Giant
|
||||
1114 Very Large Daemon
|
||||
1115 Very Large Daemon with Skull for Head
|
||||
1117 Giant Black Dragon
|
||||
1118 Giant Ice Dragon
|
||||
1119 - 1125 Different Color Wyrms
|
||||
1126 Black Knight
|
||||
1127 Exodus
|
||||
1128 Fire Lion
|
||||
1129 Hell Beast
|
||||
1130 Large Winged Huminod Beast
|
||||
|
||||
#anim5.mul
|
||||
1131 Fire Nightmare
|
||||
1132 Dark Lion
|
||||
1133 Skeletal Lion
|
||||
1134 Fire Unicorn
|
||||
1135 Hell Stee
|
||||
Hellish Nightmare
|
||||
Smoldering Lion
|
||||
Dark Lion
|
||||
|
|
|
|||
66
Projects/UOContent/Mobiles/Animals/Custom/Clydesdale.cs
Normal file
66
Projects/UOContent/Mobiles/Animals/Custom/Clydesdale.cs
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
using ModernUO.Serialization;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
/*[TypeAlias(
|
||||
"Server.Mobiles.BrownHorse",
|
||||
"Server.Mobiles.DirtyHorse",
|
||||
"Server.Mobiles.GrayHorse",
|
||||
"Server.Mobiles.TanHorse"
|
||||
)]*/
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class ClydesdaleHorse : BaseMount
|
||||
{
|
||||
private static readonly int[] m_IDs =
|
||||
{
|
||||
1140, 1144,
|
||||
1141, 1145,
|
||||
1142, 1146,
|
||||
1143, 1147
|
||||
};
|
||||
|
||||
public override string DefaultName => "a clydesdale";
|
||||
|
||||
[Constructible]
|
||||
public ClydesdaleHorse() : base(1140, 1143, AIType.AI_Animal, FightMode.Aggressor)
|
||||
{
|
||||
var random = Utility.Random(4);
|
||||
|
||||
Body = m_IDs[random * 2];
|
||||
ItemID = m_IDs[random * 2 + 1];
|
||||
//Body = 1140;
|
||||
//ItemID = 1144;
|
||||
BaseSoundID = 0xA8;
|
||||
|
||||
SetStr(22, 98);
|
||||
SetDex(56, 75);
|
||||
SetInt(6, 10);
|
||||
|
||||
SetHits(28, 45);
|
||||
SetMana(0);
|
||||
|
||||
SetDamage(3, 4);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 100);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 15, 20);
|
||||
|
||||
SetSkill(SkillName.MagicResist, 25.1, 30.0);
|
||||
SetSkill(SkillName.Tactics, 29.3, 44.0);
|
||||
SetSkill(SkillName.Wrestling, 29.3, 44.0);
|
||||
|
||||
Fame = 300;
|
||||
Karma = 300;
|
||||
|
||||
Tamable = true;
|
||||
ControlSlots = 1;
|
||||
MinTameSkill = 29.1;
|
||||
}
|
||||
|
||||
public override string CorpseName => "a horse corpse";
|
||||
|
||||
public override int Meat => 3;
|
||||
public override int Hides => 10;
|
||||
public override FoodType FavoriteFood => FoodType.FruitsAndVeggies | FoodType.GrainsAndHay;
|
||||
}
|
||||
}
|
||||
68
Projects/UOContent/Mobiles/Monsters/Custom/DarkCat.cs
Normal file
68
Projects/UOContent/Mobiles/Monsters/Custom/DarkCat.cs
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
using ModernUO.Serialization;
|
||||
using Server.Engines.Plants;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class DarkLion : BaseMount
|
||||
{
|
||||
public override string DefaultName => "a dark lion";
|
||||
|
||||
[Constructible]
|
||||
public DarkLion() : base(1132, 1132, AIType.AI_Melee)
|
||||
{
|
||||
|
||||
SetStr(801, 1010);
|
||||
SetDex(171, 270);
|
||||
SetInt(301, 325);
|
||||
|
||||
SetHits(901, 1100);
|
||||
SetMana(60);
|
||||
|
||||
SetDamage(15, 25);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 50);
|
||||
SetDamageType(ResistanceType.Energy, 50);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 55, 70);
|
||||
SetResistance(ResistanceType.Fire, 30, 40);
|
||||
SetResistance(ResistanceType.Cold, 15, 25);
|
||||
SetResistance(ResistanceType.Poison, 40, 50);
|
||||
SetResistance(ResistanceType.Energy, 60, 70);
|
||||
|
||||
SetSkill(SkillName.Anatomy, 75.1, 80.0);
|
||||
SetSkill(SkillName.MagicResist, 85.1, 100.0);
|
||||
SetSkill(SkillName.Tactics, 100.1, 110.0);
|
||||
SetSkill(SkillName.Wrestling, 100.1, 120.0);
|
||||
|
||||
Fame = 18000;
|
||||
Karma = -18000;
|
||||
|
||||
Tamable = true;
|
||||
ControlSlots = 4;
|
||||
MinTameSkill = 98.7;
|
||||
}
|
||||
|
||||
public override string CorpseName => "a dark lion corpse";
|
||||
public override double WeaponAbilityChance => 0.07; /* 1 in 15 chance of using per landed hit */
|
||||
|
||||
public override bool StatLossAfterTame => true;
|
||||
|
||||
public override int TreasureMapLevel => 5;
|
||||
public override int Meat => 16;
|
||||
public override int Hides => 60;
|
||||
public override FoodType FavoriteFood => FoodType.Meat;
|
||||
public override bool CanAngerOnTame => true;
|
||||
|
||||
private static MonsterAbility[] _abilities = { MonsterAbilities.BloodBathAttack };
|
||||
public override MonsterAbility[] GetMonsterAbilities() => _abilities;
|
||||
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.FilthyRich, 3);
|
||||
AddLoot(LootPack.Gems, 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
102
Projects/UOContent/Mobiles/Monsters/Custom/HellishNightmare.cs
Normal file
102
Projects/UOContent/Mobiles/Monsters/Custom/HellishNightmare.cs
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
using ModernUO.Serialization;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class HellishNightmare : BaseMount
|
||||
{
|
||||
public override string DefaultName => "a hellish nightmare";
|
||||
|
||||
[Constructible]
|
||||
public HellishNightmare() : base(1131, 1131, AIType.AI_Mage)
|
||||
{
|
||||
BaseSoundID = Core.AOS ? 0xA8 : 0x16A;
|
||||
|
||||
// Publish 97
|
||||
if (Core.TOL)
|
||||
{
|
||||
if (Utility.RandomDouble() < 0.3)
|
||||
{
|
||||
SetStr(296, 315);
|
||||
ControlSlots = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
SetStr(496, 525);
|
||||
ControlSlots = 3;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SetStr(696, 725);
|
||||
ControlSlots = 3;
|
||||
}
|
||||
|
||||
SetDex(116, 145);
|
||||
SetInt(116, 145);
|
||||
|
||||
SetHits(498, 715);
|
||||
|
||||
SetDamage(16, 22);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 50);
|
||||
SetDamageType(ResistanceType.Fire, 65);
|
||||
SetDamageType(ResistanceType.Energy, 30);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 55, 65);
|
||||
SetResistance(ResistanceType.Fire, 60, 70);
|
||||
SetResistance(ResistanceType.Cold, 60, 70);
|
||||
SetResistance(ResistanceType.Poison, 30, 40);
|
||||
SetResistance(ResistanceType.Energy, 20, 30);
|
||||
|
||||
SetSkill(SkillName.EvalInt, 40.4, 90.0);
|
||||
SetSkill(SkillName.Magery, 40.4, 90.0);
|
||||
SetSkill(SkillName.MagicResist, 85.3, 100.0);
|
||||
SetSkill(SkillName.Tactics, 97.6, 100.0);
|
||||
SetSkill(SkillName.Wrestling, 80.5, 92.5);
|
||||
|
||||
Fame = 18000;
|
||||
Karma = -18000;
|
||||
|
||||
VirtualArmor = 60;
|
||||
|
||||
Tamable = true;
|
||||
MinTameSkill = 100.1;
|
||||
|
||||
Body = 1131;
|
||||
ItemID = 1131;
|
||||
|
||||
PackItem(new SulfurousAsh(Utility.RandomMinMax(3, 5)));
|
||||
}
|
||||
|
||||
public override int StepsMax => 6400;
|
||||
public override string CorpseName => "a hellish nightmare corpse";
|
||||
public override int Meat => 5;
|
||||
public override int Hides => 10;
|
||||
public override HideType HideType => HideType.Barbed;
|
||||
public override FoodType FavoriteFood => FoodType.Meat;
|
||||
public override bool CanAngerOnTame => true;
|
||||
|
||||
private static MonsterAbility[] _abilities = { MonsterAbilities.FireBreath };
|
||||
public override MonsterAbility[] GetMonsterAbilities() => _abilities;
|
||||
|
||||
public override void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.Rich);
|
||||
AddLoot(LootPack.Average);
|
||||
AddLoot(LootPack.LowScrolls);
|
||||
AddLoot(LootPack.Potions);
|
||||
}
|
||||
|
||||
public override int GetAngerSound()
|
||||
{
|
||||
if (!Controlled)
|
||||
{
|
||||
return 0x16A;
|
||||
}
|
||||
|
||||
return base.GetAngerSound();
|
||||
}
|
||||
}
|
||||
}
|
||||
65
Projects/UOContent/Mobiles/Monsters/Custom/SmolderingLion.cs
Normal file
65
Projects/UOContent/Mobiles/Monsters/Custom/SmolderingLion.cs
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
using System;
|
||||
using ModernUO.Serialization;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Mobiles
|
||||
{
|
||||
[SerializationGenerator(0, false)]
|
||||
public partial class SmolderingLion : BaseCreature
|
||||
{
|
||||
public override string DefaultName => "a smoldering lion";
|
||||
|
||||
[Constructible]
|
||||
public SmolderingLion() : base(AIType.AI_Melee, FightMode.Closest)
|
||||
{
|
||||
Body = 1128;
|
||||
BaseSoundID = 0x69;
|
||||
|
||||
SetStr(250, 300);
|
||||
SetDex(100, 150);
|
||||
SetInt(50, 100);
|
||||
|
||||
SetHits(150, 2000);
|
||||
SetDamage(8, 14);
|
||||
|
||||
SetDamageType(ResistanceType.Physical, 50);
|
||||
SetDamageType(ResistanceType.Fire, 50);
|
||||
|
||||
SetResistance(ResistanceType.Physical, 35, 45);
|
||||
SetResistance(ResistanceType.Fire, 60, 70);
|
||||
SetResistance(ResistanceType.Cold, 20, 30);
|
||||
SetResistance(ResistanceType.Poison, 10, 20);
|
||||
SetResistance(ResistanceType.Energy, 20, 30);
|
||||
|
||||
SetSkill(SkillName.MagicResist, 50.0, 70.0);
|
||||
SetSkill(SkillName.Tactics, 60.0, 80.0);
|
||||
SetSkill(SkillName.Wrestling, 60.0, 80.0);
|
||||
|
||||
Fame = 3500;
|
||||
Karma = -3500;
|
||||
|
||||
Tamable = true;
|
||||
ControlSlots = 2;
|
||||
MinTameSkill = 75.1;
|
||||
|
||||
PackItem(new SulfurousAsh(Utility.RandomMinMax(2, 4)));
|
||||
}
|
||||
|
||||
public override string CorpseName => "a smoldering lion 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 void GenerateLoot()
|
||||
{
|
||||
AddLoot(LootPack.Average);
|
||||
AddLoot(LootPack.Meager);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -9,8 +9,9 @@ namespace Server.Mobiles
|
|||
[Constructible]
|
||||
public AcidElemental() : base(AIType.AI_Mage)
|
||||
{
|
||||
Body = 0x9E;
|
||||
Body = 1105; //0x9E;
|
||||
BaseSoundID = 278;
|
||||
Hue = 58;
|
||||
|
||||
SetStr(326, 355);
|
||||
SetDex(66, 85);
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ namespace Server.Mobiles
|
|||
[Constructible]
|
||||
public AirElemental() : base(AIType.AI_Mage)
|
||||
{
|
||||
Body = 13;
|
||||
Body = 1106; //13;
|
||||
Hue = 0x4001;
|
||||
BaseSoundID = 655;
|
||||
|
||||
|
|
|
|||
|
|
@ -8,8 +8,9 @@ namespace Server.Mobiles
|
|||
[Constructible]
|
||||
public BloodElemental() : base(AIType.AI_Mage)
|
||||
{
|
||||
Body = 159;
|
||||
Body = 1105; //159;
|
||||
BaseSoundID = 278;
|
||||
Hue = 33;
|
||||
|
||||
SetStr(526, 615);
|
||||
SetDex(66, 85);
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ namespace Server.Mobiles
|
|||
[Constructible]
|
||||
public FireElemental() : base(AIType.AI_Mage)
|
||||
{
|
||||
Body = 15;
|
||||
Body = 1103; //15;
|
||||
BaseSoundID = 838;
|
||||
|
||||
SetStr(126, 155);
|
||||
|
|
@ -49,7 +49,7 @@ namespace Server.Mobiles
|
|||
public override string DefaultName => "a fire elemental";
|
||||
|
||||
public override bool BleedImmune => true;
|
||||
|
||||
|
||||
public override int TreasureMapLevel => 2;
|
||||
|
||||
public override void GenerateLoot()
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ namespace Server.Mobiles
|
|||
[Constructible]
|
||||
public IceElemental() : base(AIType.AI_Mage)
|
||||
{
|
||||
Body = 161;
|
||||
Body = 1104; //161;
|
||||
BaseSoundID = 268;
|
||||
|
||||
SetStr(156, 185);
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ namespace Server.Mobiles
|
|||
[Constructible]
|
||||
public PoisonElemental() : base(AIType.AI_Mage)
|
||||
{
|
||||
Body = 162;
|
||||
Body = 1105; //162;
|
||||
BaseSoundID = 263;
|
||||
|
||||
SetStr(426, 515);
|
||||
|
|
|
|||
|
|
@ -14,8 +14,9 @@ namespace Server.Mobiles
|
|||
public WaterElemental() : base(AIType.AI_Mage)
|
||||
{
|
||||
_hasDecanter = true;
|
||||
Body = 16;
|
||||
Body = 1105; //16;
|
||||
BaseSoundID = 278;
|
||||
Hue = 88;
|
||||
|
||||
SetStr(126, 155);
|
||||
SetDex(66, 85);
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ namespace Server.Mobiles
|
|||
[Constructible]
|
||||
public EarthElemental() : base(AIType.AI_Melee)
|
||||
{
|
||||
Body = 14;
|
||||
Body = 1102; //14;
|
||||
BaseSoundID = 268;
|
||||
|
||||
SetStr(126, 155);
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ namespace Server.Mobiles
|
|||
Add(new AnimalBuyInfo(1, "a pack horse", typeof(PackHorse), 631, 10, 291, 0));
|
||||
Add(new AnimalBuyInfo(1, "a pack llama", typeof(PackLlama), 565, 10, 292, 0));
|
||||
Add(new AnimalBuyInfo(1, "a rabbit", typeof(Rabbit), 106, 10, 205, 0));
|
||||
Add(new AnimalBuyInfo(1, "a clydesdale", typeof(ClydesdaleHorse), 1520, 10, 1140, 0));
|
||||
|
||||
if (!Core.AOS)
|
||||
{
|
||||
|
|
|
|||
2
Run.sh
2
Run.sh
|
|
@ -9,5 +9,5 @@ else
|
|||
echo "________________________________"
|
||||
echo "| Starting Server...."
|
||||
echo "--------------------------------"
|
||||
dotnet ./Distribution/ModernUO.dll
|
||||
dotnet publish Projects/Application/Application.csproj -c Release -r linux-x64 --self-contained=false && dotnet ./Distribution/ModernUO.dll
|
||||
fi
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue