fix: Fixes ignoring mobs, champions, party crash, slayer rarity, boat speedhack, etc (#1222)

* Movie ignore mobiles to Mobile class
* Allow necromancer familiars to ignore mobiles
* ChampionSpawn should not quietly fail when creating new spawn
* Fix client party crash bug: 2 people partied, the leader logs out, other client is hung
* Fix spellbooks creating with magery/meditation only and creating magery multiple times
* Fix BaseRunicTool.GetRandomSlayer() creating more undead slayers than intended
* Do not allow players to dismount each other whilst mounted
* Fix AOS onwards damage increase tooltip and wrong formula in AOS
* Fix monsters killing other monster revenants + animate dead should not attack player pets + other animates
* Fix fire steed having loot pack added twice
* Fix oaks spawn not able to create Unicorns + Kirins via Activator.CreateInstace() due to constructor having name as parametr
* Fix ignoreMobiles flag not propagated to client for non-players.
* Fix harrower tents not leeching from players
* Fix boats speedhacking around the map
* Fix bless, agility etc. not renewing duration
* Fix reveal always worked
* Fix empty constructor for steeds so they don't throw now.
This commit is contained in:
mark1145 2022-10-31 22:16:50 -07:00 • committed by GitHub
parent 910e06767b
commit 053dbcbad0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
54 changed files with 871 additions and 454 deletions

View file

@ -329,6 +329,7 @@ public class Mobile : IHued, IComparable<Mobile>, ISpawnable, IObjectPropertyLis
private int m_WarmodeChanges;
private bool _warmodeSpamValue;
private IWeapon m_Weapon;
private bool _ignoreMobiles;
private bool m_YellowHealthbar;
private List<StatMod> _statMods;
@ -405,6 +406,20 @@ public class Mobile : IHued, IComparable<Mobile>, ISpawnable, IObjectPropertyLis
public virtual bool NewGuildDisplay => false;
[CommandProperty(AccessLevel.GameMaster)]
public virtual bool IgnoreMobiles
{
get => _ignoreMobiles;
set
{
if (_ignoreMobiles != value)
{
_ignoreMobiles = value;
Delta(MobileDelta.Flags);
}
}
}
public List<Mobile> Stabled { get; private set; }
[CommandProperty(AccessLevel.Counselor, AccessLevel.GameMaster)]
@ -6974,6 +6989,11 @@ public class Mobile : IHued, IComparable<Mobile>, ISpawnable, IObjectPropertyLis
flags |= 0x08;
}
if (IgnoreMobiles)
{
flags |= 0x10;
}
if (m_Warmode)
{
flags |= 0x40;