- Shadow Iron Elementals now are immune to every damage that comes from pets
(http://www.uodemise.com/discussion/showthread.php?t=128063) - Barkeep/Vendors now recognize Z axis (http://www.uodemise.com/discussion/showthread.php?t=136970)
This commit is contained in:
parent
42e4e9987d
commit
ba8f9ebf40
3 changed files with 21 additions and 5 deletions
|
|
@ -464,6 +464,9 @@ namespace Server.Mobiles
|
|||
public virtual int BreathColdDamage{ get{ return 0; } }
|
||||
public virtual int BreathPoisonDamage{ get{ return 0; } }
|
||||
public virtual int BreathEnergyDamage{ get{ return 0; } }
|
||||
|
||||
// Is immune to breath damages
|
||||
public virtual bool BreathImmune{ get{ return false; } }
|
||||
|
||||
// Effect details and sound
|
||||
public virtual int BreathEffectItemID{ get{ return 0x36D4; } }
|
||||
|
|
@ -535,6 +538,9 @@ namespace Server.Mobiles
|
|||
public virtual void BreathDamage_Callback( object state )
|
||||
{
|
||||
Mobile target = (Mobile)state;
|
||||
|
||||
if ( target is BaseCreature && ((BaseCreature)target).BreathImmune )
|
||||
return;
|
||||
|
||||
if ( CanBeHarmful( target ) )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -56,6 +56,8 @@ namespace Server.Mobiles
|
|||
public override bool AutoDispel{ get{ return true; } }
|
||||
public override bool BleedImmune{ get{ return true; } }
|
||||
public override int TreasureMapLevel{ get{ return 1; } }
|
||||
public override Poison PoisonImmune{ get{ return Poison.Deadly; } }
|
||||
public override bool BreathImmune{ get{ return true; } }
|
||||
|
||||
public override void AlterMeleeDamageFrom( Mobile from, ref int damage )
|
||||
{
|
||||
|
|
@ -72,6 +74,11 @@ namespace Server.Mobiles
|
|||
{
|
||||
scalar = 0.0; // Immune to magic
|
||||
}
|
||||
|
||||
public override void AlterSpellDamageFrom( Mobile from, ref int damage )
|
||||
{
|
||||
damage = 0;
|
||||
}
|
||||
|
||||
public ShadowIronElemental( Serial serial ) : base( serial )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -442,13 +442,16 @@ namespace Server.Mobiles
|
|||
|
||||
IPooledEnumerable mobiles = Map.GetMobilesInRange( location, 0 );
|
||||
|
||||
if ( mobiles.GetEnumerator().MoveNext() )
|
||||
foreach ( Mobile m in mobiles )
|
||||
{
|
||||
mobiles.Free();
|
||||
return false;
|
||||
if ( m.Z >= location.Z && m.Z < location.Z + 16 )
|
||||
{
|
||||
mobiles.Free();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
mobiles.Free();
|
||||
|
||||
mobiles.Free();
|
||||
|
||||
BounceInfo bi = item.GetBounce();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue