From ec8264feb0d496285b734ce03d568d51ee110e12 Mon Sep 17 00:00:00 2001 From: WarrentyExpired Date: Thu, 29 Oct 2026 17:07:09 -0400 Subject: [PATCH] #W# New: Added a bunch of monster animations. --- Info/NewMonsters.txt | 66 ++++++++++++++++--- .../Monsters/Humanoid/Magic/AncientLich.cs | 2 +- .../Monsters/Humanoid/Magic/ElderGazer.cs | 2 +- .../Monsters/Humanoid/Magic/EvilMage.cs | 8 +-- .../Monsters/Humanoid/Magic/EvilMageLord.cs | 8 +-- .../Monsters/Humanoid/Magic/OrcishMage.cs | 2 +- .../Monsters/Humanoid/Magic/RatmanMage.cs | 2 +- .../Monsters/Humanoid/Magic/SkeletalMage.cs | 2 +- .../Mobiles/Monsters/Humanoid/Melee/Ettin.cs | 2 +- .../Mobiles/Monsters/Humanoid/Melee/Ogre.cs | 2 +- .../Monsters/Humanoid/Melee/OgreLord.cs | 2 +- .../Mobiles/Monsters/Humanoid/Melee/Ratman.cs | 2 +- .../Monsters/Humanoid/Melee/RatmanArcher.cs | 2 +- .../Monsters/Humanoid/Melee/Skeleton.cs | 2 +- .../Monsters/Humanoid/Melee/SkeletonArcher.cs | 58 ++++++++++++++++ .../Mobiles/Monsters/Plant/Melee/Corpser.cs | 2 +- 16 files changed, 135 insertions(+), 29 deletions(-) create mode 100644 Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/SkeletonArcher.cs diff --git a/Info/NewMonsters.txt b/Info/NewMonsters.txt index a1572b25a..7a8b205d7 100644 --- a/Info/NewMonsters.txt +++ b/Info/NewMonsters.txt @@ -1,9 +1,57 @@ -1072 anim5.mul -1073 anim5.mul -1074 anim5.mul -1075 anim5.mul -1076 anim5.mul -1077 anim5.mul -1078 anim5.mul -1079 anim5.mul -1080 anim5.mul +anim2.mul + +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 diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/AncientLich.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/AncientLich.cs index 171817b02..00fa3e419 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/AncientLich.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/AncientLich.cs @@ -9,7 +9,7 @@ namespace Server.Mobiles public AncientLich() : base(AIType.AI_Mage) { Name = NameList.RandomName("ancient lich"); - Body = 78; + Body = 1089; BaseSoundID = 412; SetStr(216, 305); diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/ElderGazer.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/ElderGazer.cs index 1087aeaf2..311cc30e1 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/ElderGazer.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/ElderGazer.cs @@ -8,7 +8,7 @@ namespace Server.Mobiles [Constructible] public ElderGazer() : base(AIType.AI_Mage) { - Body = 22; + Body = 1086; BaseSoundID = 377; SetStr(296, 325); diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/EvilMage.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/EvilMage.cs index 1688a6571..3377f5ffc 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/EvilMage.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/EvilMage.cs @@ -17,10 +17,10 @@ namespace Server.Mobiles } else { - Body = 0x190; - Hue = Race.Human.RandomSkinHue(); - Utility.AssignRandomHair(this); - Utility.AssignRandomFacialHair(this, HairHue); + Body = 1087; + //Hue = Race.Human.RandomSkinHue(); + //Utility.AssignRandomHair(this); + //Utility.AssignRandomFacialHair(this, HairHue); } SetStr(81, 105); diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/EvilMageLord.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/EvilMageLord.cs index ec4c4f51a..921102442 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/EvilMageLord.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/EvilMageLord.cs @@ -16,10 +16,10 @@ namespace Server.Mobiles } else { - Body = 0x190; - Hue = Race.Human.RandomSkinHue(); - Utility.AssignRandomHair(this); - Utility.AssignRandomFacialHair(this, HairHue); + Body = 1088; + //Hue = Race.Human.RandomSkinHue(); + //Utility.AssignRandomHair(this); + //Utility.AssignRandomFacialHair(this, HairHue); } SetStr(81, 105); diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/OrcishMage.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/OrcishMage.cs index bf365db2d..e0a0a0073 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/OrcishMage.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/OrcishMage.cs @@ -10,7 +10,7 @@ namespace Server.Mobiles [Constructible] public OrcishMage() : base(AIType.AI_Mage) { - Body = 140; + Body = 1083; BaseSoundID = 0x45A; SetStr(116, 150); diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/RatmanMage.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/RatmanMage.cs index cd4cf1df7..9f70c6459 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/RatmanMage.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/RatmanMage.cs @@ -10,7 +10,7 @@ namespace Server.Mobiles public RatmanMage() : base(AIType.AI_Mage) { Name = NameList.RandomName("ratman"); - Body = 0x8F; + Body = 1079; BaseSoundID = 437; SetStr(146, 180); diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/SkeletalMage.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/SkeletalMage.cs index c5e8bfb9a..45f25cc62 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/SkeletalMage.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Magic/SkeletalMage.cs @@ -9,7 +9,7 @@ namespace Server.Mobiles [Constructible] public SkeletalMage() : base(AIType.AI_Mage) { - Body = 148; + Body = 1082; BaseSoundID = 451; SetStr(76, 100); diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/Ettin.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/Ettin.cs index 4847763c4..50e3eb6ff 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/Ettin.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/Ettin.cs @@ -8,7 +8,7 @@ namespace Server.Mobiles [Constructible] public Ettin() : base(AIType.AI_Melee) { - Body = 18; + Body = 1075; BaseSoundID = 367; SetStr(136, 165); diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/Ogre.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/Ogre.cs index 8a8cc3712..a2b2938b0 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/Ogre.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/Ogre.cs @@ -9,7 +9,7 @@ namespace Server.Mobiles [Constructible] public Ogre() : base(AIType.AI_Melee) { - Body = 1; + Body = 1072; BaseSoundID = 427; SetStr(166, 195); diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/OgreLord.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/OgreLord.cs index d42740cd5..f0c854516 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/OgreLord.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/OgreLord.cs @@ -11,7 +11,7 @@ namespace Server.Mobiles [Constructible] public OgreLord() : base(AIType.AI_Melee) { - Body = 83; + Body = 1073; BaseSoundID = 427; SetStr(767, 945); diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/Ratman.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/Ratman.cs index 07e08b761..467e58561 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/Ratman.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/Ratman.cs @@ -10,7 +10,7 @@ namespace Server.Mobiles public Ratman() : base(AIType.AI_Melee) { Name = NameList.RandomName("ratman"); - Body = 42; + Body = 1077; BaseSoundID = 437; SetStr(96, 120); diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/RatmanArcher.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/RatmanArcher.cs index 4de3c7ec0..33f76bfd3 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/RatmanArcher.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/RatmanArcher.cs @@ -11,7 +11,7 @@ namespace Server.Mobiles public RatmanArcher() : base(AIType.AI_Archer) { Name = NameList.RandomName("ratman"); - Body = 0x8E; + Body = 1078; BaseSoundID = 437; SetStr(146, 180); diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/Skeleton.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/Skeleton.cs index 896bf33c2..7c6595f38 100644 --- a/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/Skeleton.cs +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/Skeleton.cs @@ -9,7 +9,7 @@ namespace Server.Mobiles [Constructible] public Skeleton() : base(AIType.AI_Melee) { - Body = Utility.RandomList(50, 56); + Body = Utility.RandomList(50, 56, 1080, 1081); BaseSoundID = 0x48D; SetStr(56, 80); diff --git a/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/SkeletonArcher.cs b/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/SkeletonArcher.cs new file mode 100644 index 000000000..b20384e3f --- /dev/null +++ b/Projects/UOContent/Mobiles/Monsters/Humanoid/Melee/SkeletonArcher.cs @@ -0,0 +1,58 @@ +using ModernUO.Serialization; +using Server.Items; +using Server.Misc; + +namespace Server.Mobiles +{ + [SerializationGenerator(0, false)] + public partial class SkeletonArcher : BaseCreature + { + [Constructible] + public SkeletonArcher() : base(AIType.AI_Archer) + { + Body = 1139; + BaseSoundID = 0x48D; + + SetStr(106, 140); + SetDex(76, 101); + SetInt(80, 120); + + SetHits(108, 138); + + SetDamage(4, 10); + + SetDamageType(ResistanceType.Physical, 100); + + SetResistance(ResistanceType.Physical, 40, 55); + SetResistance(ResistanceType.Fire, 10, 20); + SetResistance(ResistanceType.Cold, 10, 20); + SetResistance(ResistanceType.Poison, 10, 20); + SetResistance(ResistanceType.Energy, 10, 20); + + SetSkill(SkillName.Anatomy, 40.2, 80.0); + SetSkill(SkillName.Archery, 50.1, 75.0); + SetSkill(SkillName.MagicResist, 35.1, 60.0); + SetSkill(SkillName.Tactics, 30.1, 55.0); + SetSkill(SkillName.Wrestling, 50.1, 75.0); + + Fame = 4500; + Karma = -4500; + + VirtualArmor = 56; + + AddItem(new Bow()); + PackItem(new Arrow(Utility.RandomMinMax(50, 70))); + } + + public override string CorpseName => "a skeleton archer corpse"; + public override string DefaultName => "a sketeton archer"; + public override bool BleedImmune => true; + public override Poison PoisonImmune => Poison.Lesser; + + public override OppositionGroup OppositionGroup => OppositionGroup.FeyAndUndead; + public override void GenerateLoot() + { + AddLoot(LootPack.Poor); + } + } +} diff --git a/Projects/UOContent/Mobiles/Monsters/Plant/Melee/Corpser.cs b/Projects/UOContent/Mobiles/Monsters/Plant/Melee/Corpser.cs index 39e542cea..e9c7e4601 100644 --- a/Projects/UOContent/Mobiles/Monsters/Plant/Melee/Corpser.cs +++ b/Projects/UOContent/Mobiles/Monsters/Plant/Melee/Corpser.cs @@ -9,7 +9,7 @@ namespace Server.Mobiles [Constructible] public Corpser() : base(AIType.AI_Melee) { - Body = 8; + Body = 1084; BaseSoundID = 684; SetStr(156, 180);