- Spawners now show all (instead of only 2) spawned objects, grouped by type, sorted alphabetically in their mouseover menu. (Displayed amounts fixed too.)
- Talisman slayers fixed to account for inheritance. - Added repond slayer vulnerability to Troglodyte. - Added overload for AOS.Damage with chaos damage support. - Corrected order of ML artifact award messages. - MageAI corrected to not meditate when already meditating. - Changed MageAI necro/mage bias to something more sensible. - Changed speed of most named ML mobs. - Skeletal steeds are now bleed immune. - Damage cap of 200 (before resists) added to fire breath attacks. - Damaging aura effect added to BaseCreature. - Necromancy skill added to several undead mobs. - The succubus special drain effect message no longer shows. - Corrected Sir Patrick's drain effect to account for LOS. - Added healing skill to Troglodytes. - Added named ML mobs for the Labyrinth, Painted Caves, Palace of Paroxysmus, Sanctuary and Twisted Weald. - Added changelings. - Disabled auto unequiping of weapons when meditating for nonplayers. - Added cast animations for players in wraith form, lich form and horrific beast. - Fixed Holy Light to account for LOS. - Fixed Animate Dead to account for inheritance. - Fixed Wither friendly fire issue when cast by monsters.
This commit is contained in:
parent
a1b906f921
commit
287bacac0e
46 changed files with 2154 additions and 53 deletions
|
|
@ -68,7 +68,7 @@ namespace Server.Spells.Necromancy
|
|||
bool contains = ( types.Length == 0 );
|
||||
|
||||
for ( int j = 0; !contains && j < types.Length; ++j )
|
||||
contains = ( types[j] == type );
|
||||
contains = types[j].IsAssignableFrom( type );
|
||||
|
||||
if ( contains )
|
||||
return group;
|
||||
|
|
|
|||
|
|
@ -43,9 +43,31 @@ namespace Server.Spells.Necromancy
|
|||
{
|
||||
List<Mobile> targets = new List<Mobile>();
|
||||
|
||||
BaseCreature cbc = Caster as BaseCreature;
|
||||
bool isMonster = ( cbc != null && !cbc.Controlled && !cbc.Summoned );
|
||||
|
||||
foreach( Mobile m in Caster.GetMobilesInRange( Core.ML ? 4 : 5 ) )
|
||||
if( Caster != m && Caster.InLOS( m ) && SpellHelper.ValidIndirectTarget( Caster, m ) && Caster.CanBeHarmful( m, false ) )
|
||||
{
|
||||
if( Caster != m && Caster.InLOS( m ) && ( isMonster || SpellHelper.ValidIndirectTarget( Caster, m ) ) && Caster.CanBeHarmful( m, false ) )
|
||||
{
|
||||
if ( isMonster )
|
||||
{
|
||||
if ( m is BaseCreature )
|
||||
{
|
||||
BaseCreature bc = (BaseCreature)m;
|
||||
|
||||
if ( !bc.Controlled && !bc.Summoned && bc.Team == cbc.Team )
|
||||
continue;
|
||||
}
|
||||
else if ( !m.Player )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
targets.Add( m );
|
||||
}
|
||||
}
|
||||
|
||||
Effects.PlaySound( Caster.Location, map, 0x1FB );
|
||||
Effects.PlaySound( Caster.Location, map, 0x10B );
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue