UOGamers Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

  • To obtain new Razor updates, please reinstall Razor from our new website.

[COMPLETE] Can't provoke monsters onto Bone Daemon

Status
Not open for further replies.

Gisela

Bug Hunter
Re: Can't provoke monsters onto Bone Daemon

This fixes some barding bugs for gauntlet mobs.

1) Make them immune ONLY to area peace. Single target peace should be allowed, according to stratics
2) Make bard immunity dependent on Core.SE across the board (it was absolute in a few places). This means that Shadow Knights can be discorded (YAY YAY YAY)

Code:
Index: Scripts/Skills/Peacemaking.cs
===================================================================
--- Scripts/Skills/Peacemaking.cs    (revision 315)
+++ Scripts/Skills/Peacemaking.cs    (working copy)
@@ -95,7 +95,7 @@
 
                                 foreach ( Mobile m in from.GetMobilesInRange( range ) )
                                 {
-                                    if ( (m is BaseCreature && ((BaseCreature)m).Uncalmable) || m == from || !from.CanBeHarmful( m, false ) )
+                                    if ( (m is BaseCreature && ((BaseCreature)m).Uncalmable) || (m is BaseCreature && ((BaseCreature)m).AreaPeaceImmune) || m == from || !from.CanBeHarmful( m, false ) )
                                         continue;
 
                                     calmed = true;
Index: Scripts/Engines/AI/Creature/BaseCreature.cs
===================================================================
--- Scripts/Engines/AI/Creature/BaseCreature.cs    (revision 315)
+++ Scripts/Engines/AI/Creature/BaseCreature.cs    (working copy)
@@ -402,6 +402,7 @@
         public virtual bool BardImmune{ get{ return false; } }
         public virtual bool Unprovokable{ get{ return BardImmune || m_IsDeadPet; } }
         public virtual bool Uncalmable{ get{ return BardImmune || m_IsDeadPet; } }
+        public virtual bool AreaPeaceImmune{ get{ return BardImmune || m_IsDeadPet; } }
 
         public virtual bool BleedImmune{ get{ return false; } }
         public virtual double BonusPetDamageScalar{ get{ return 1.0; } }
Index: Scripts/Mobiles/Monsters/AOS/DarknightCreeper.cs
===================================================================
--- Scripts/Mobiles/Monsters/AOS/DarknightCreeper.cs    (revision 315)
+++ Scripts/Mobiles/Monsters/AOS/DarknightCreeper.cs    (working copy)
@@ -63,7 +63,7 @@
 
         public override bool BardImmune{ get{ return !Core.SE; } }
         public override bool Unprovokable{ get{ return Core.SE; } }
-        public override bool Uncalmable{ get{ return Core.SE; } }
+        public override bool AreaPeaceImmune{ get{ return Core.SE; } }
         public override bool BleedImmune{ get{ return true; } }
         public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
         public override Poison HitPoison{ get{ return Poison.Lethal; } }
Index: Scripts/Mobiles/Monsters/AOS/AbysmalHorror.cs
===================================================================
--- Scripts/Mobiles/Monsters/AOS/AbysmalHorror.cs    (revision 315)
+++ Scripts/Mobiles/Monsters/AOS/AbysmalHorror.cs    (working copy)
@@ -66,7 +66,7 @@
 
         public override bool BardImmune{ get{ return !Core.SE; } }
         public override bool Unprovokable{ get{ return Core.SE; } }
-        public override bool Uncalmable{ get{ return Core.SE; } }
+        public override bool AreaPeaceImmune{ get{ return Core.SE; } }
         public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
         public override int TreasureMapLevel{ get{ return 1; } }
 
Index: Scripts/Mobiles/Monsters/AOS/FleshRenderer.cs
===================================================================
--- Scripts/Mobiles/Monsters/AOS/FleshRenderer.cs    (revision 315)
+++ Scripts/Mobiles/Monsters/AOS/FleshRenderer.cs    (working copy)
@@ -63,8 +63,9 @@
         }
 
         public override bool AutoDispel{ get{ return true; } }
-        public override bool Unprovokable{ get{ return true; } }
-        public override bool Uncalmable{ get{ return true; } }
+        public override bool BardImmune{ get{ return !Core.SE; } }
+        public override bool Unprovokable{ get{ return Core.SE; } }
+        public override bool AreaPeaceImmune{ get{ return Core.SE; } }
         public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
 
         public override int TreasureMapLevel{ get{ return 1; } }
Index: Scripts/Mobiles/Monsters/AOS/Impaler.cs
===================================================================
--- Scripts/Mobiles/Monsters/AOS/Impaler.cs    (revision 315)
+++ Scripts/Mobiles/Monsters/AOS/Impaler.cs    (working copy)
@@ -66,7 +66,7 @@
         public override bool AutoDispel{ get{ return true; } }
         public override bool BardImmune{ get{ return !Core.SE; } }
         public override bool Unprovokable{ get{ return Core.SE; } }
-        public override bool Uncalmable{ get{ return Core.SE; } }
+        public override bool AreaPeaceImmune{ get{ return Core.SE; } }
         public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
         public override Poison HitPoison{ get{ return (0.8 >= Utility.RandomDouble() ? Poison.Greater : Poison.Deadly); } }
 
Index: Scripts/Mobiles/Monsters/AOS/ShadowKnight.cs
===================================================================
--- Scripts/Mobiles/Monsters/AOS/ShadowKnight.cs    (revision 315)
+++ Scripts/Mobiles/Monsters/AOS/ShadowKnight.cs    (working copy)
@@ -167,7 +167,9 @@
             base.OnThink();
         }
 
-        public override bool BardImmune{ get{ return true; } }
+        public override bool BardImmune{ get{ return !Core.SE; } }
+        public override bool Unprovokable{ get{ return Core.SE; } }
+        public override bool AreaPeaceImmune{ get{ return Core.SE; } }
         public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
 
         public override int TreasureMapLevel{ get{ return 1; } }
Index: Scripts/Mobiles/Monsters/AOS/BoneDemon.cs
===================================================================
--- Scripts/Mobiles/Monsters/AOS/BoneDemon.cs    (revision 315)
+++ Scripts/Mobiles/Monsters/AOS/BoneDemon.cs    (working copy)
@@ -50,8 +50,9 @@
             AddLoot( LootPack.FilthyRich, 8 );
         }
 
-        public override bool Unprovokable{ get{ return true; } }
-        public override bool Uncalmable{ get{ return true; } }
+        public override bool BardImmune{ get{ return !Core.SE; } }
+        public override bool Unprovokable{ get{ return Core.SE; } }
+        public override bool AreaPeaceImmune{ get{ return Core.SE; } }
         public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
         public override int TreasureMapLevel{ get{ return 1; } }
 
Index: Scripts/Mobiles/Monsters/AOS/DemonKnight.cs
===================================================================
--- Scripts/Mobiles/Monsters/AOS/DemonKnight.cs    (revision 315)
+++ Scripts/Mobiles/Monsters/AOS/DemonKnight.cs    (working copy)
@@ -213,7 +213,7 @@
 
         public override bool BardImmune{ get{ return !Core.SE; } }
         public override bool Unprovokable{ get{ return Core.SE; } }
-        public override bool Uncalmable{ get{ return Core.SE; } }
+        public override bool AreaPeaceImmune{ get{ return Core.SE; } }
         public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
 
         public override int TreasureMapLevel{ get{ return 1; } }
 

uome

Bug Hunter
Re: [TESTING] Can't provoke monsters onto Bone Daemon

I was just about to test this but it looks like it is allready in runuo, no idea what publish it was.
 

Xavier

Account Terminated
Re: [TESTING] Can't provoke monsters onto Bone Daemon

Yeah. It looks like its already in
 
Status
Not open for further replies.
Top