- 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
|
|
@ -654,6 +654,9 @@ namespace Server.Mobiles
|
|||
if ( IsParagon )
|
||||
damage = (int)(damage / Paragon.HitsBuff);
|
||||
|
||||
if ( damage > 200 )
|
||||
damage = 200;
|
||||
|
||||
return damage;
|
||||
}
|
||||
|
||||
|
|
@ -5007,7 +5010,58 @@ namespace Server.Mobiles
|
|||
{
|
||||
patient.PlaySound( HealSound );
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Damaging Aura
|
||||
private DateTime m_NextAura;
|
||||
|
||||
public virtual bool HasAura { get { return false; } }
|
||||
public virtual TimeSpan AuraInterval { get { return TimeSpan.FromSeconds( 5 ); } }
|
||||
public virtual int AuraRange { get { return 4; } }
|
||||
|
||||
public virtual int AuraBaseDamage { get { return 5; } }
|
||||
public virtual int AuraPhysicalDamage { get{ return 0; } }
|
||||
public virtual int AuraFireDamage { get{ return 100; } }
|
||||
public virtual int AuraColdDamage { get{ return 0; } }
|
||||
public virtual int AuraPoisonDamage { get{ return 0; } }
|
||||
public virtual int AuraEnergyDamage { get{ return 0; } }
|
||||
public virtual int AuraChaosDamage { get { return 0; } }
|
||||
|
||||
public virtual void AuraDamage()
|
||||
{
|
||||
if ( !Alive || IsDeadBondedPet )
|
||||
return;
|
||||
|
||||
List<Mobile> list = new List<Mobile>();
|
||||
|
||||
foreach ( Mobile m in GetMobilesInRange( AuraRange ) )
|
||||
{
|
||||
if ( m == this || !CanBeHarmful( m, false ) || ( Core.AOS && !InLOS( m ) ) )
|
||||
continue;
|
||||
|
||||
if ( m is BaseCreature )
|
||||
{
|
||||
BaseCreature bc = (BaseCreature)m;
|
||||
|
||||
if ( bc.Controlled || bc.Summoned || bc.Team != Team )
|
||||
list.Add( m );
|
||||
}
|
||||
else if ( m.Player )
|
||||
{
|
||||
list.Add( m );
|
||||
}
|
||||
}
|
||||
|
||||
foreach ( Mobile m in list )
|
||||
{
|
||||
AOS.Damage( m, this, AuraBaseDamage, AuraPhysicalDamage, AuraFireDamage, AuraColdDamage, AuraPoisonDamage, AuraEnergyDamage, AuraChaosDamage );
|
||||
AuraEffect( m );
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void AuraEffect( Mobile m )
|
||||
{
|
||||
}
|
||||
#endregion
|
||||
|
||||
public virtual void OnThink()
|
||||
|
|
@ -5063,6 +5117,12 @@ namespace Server.Mobiles
|
|||
m_NextHealTime = DateTime.Now + TimeSpan.FromSeconds( HealInterval );
|
||||
}
|
||||
}
|
||||
|
||||
if ( HasAura && DateTime.Now >= m_NextAura )
|
||||
{
|
||||
AuraDamage();
|
||||
m_NextAura = DateTime.Now + AuraInterval;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool Rummage()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue