- 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:
daedalus 2010-01-30 11:26:30 +00:00
parent 42e4e9987d
commit ba8f9ebf40
3 changed files with 21 additions and 5 deletions

View file

@ -465,6 +465,9 @@ namespace Server.Mobiles
public virtual int BreathPoisonDamage{ get{ return 0; } } public virtual int BreathPoisonDamage{ get{ return 0; } }
public virtual int BreathEnergyDamage{ 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 // Effect details and sound
public virtual int BreathEffectItemID{ get{ return 0x36D4; } } public virtual int BreathEffectItemID{ get{ return 0x36D4; } }
public virtual int BreathEffectSpeed{ get{ return 5; } } public virtual int BreathEffectSpeed{ get{ return 5; } }
@ -536,6 +539,9 @@ namespace Server.Mobiles
{ {
Mobile target = (Mobile)state; Mobile target = (Mobile)state;
if ( target is BaseCreature && ((BaseCreature)target).BreathImmune )
return;
if ( CanBeHarmful( target ) ) if ( CanBeHarmful( target ) )
{ {
DoHarmful( target ); DoHarmful( target );

View file

@ -56,6 +56,8 @@ namespace Server.Mobiles
public override bool AutoDispel{ get{ return true; } } public override bool AutoDispel{ get{ return true; } }
public override bool BleedImmune{ get{ return true; } } public override bool BleedImmune{ get{ return true; } }
public override int TreasureMapLevel{ get{ return 1; } } 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 ) public override void AlterMeleeDamageFrom( Mobile from, ref int damage )
{ {
@ -73,6 +75,11 @@ namespace Server.Mobiles
scalar = 0.0; // Immune to magic scalar = 0.0; // Immune to magic
} }
public override void AlterSpellDamageFrom( Mobile from, ref int damage )
{
damage = 0;
}
public ShadowIronElemental( Serial serial ) : base( serial ) public ShadowIronElemental( Serial serial ) : base( serial )
{ {
} }

View file

@ -442,13 +442,16 @@ namespace Server.Mobiles
IPooledEnumerable mobiles = Map.GetMobilesInRange( location, 0 ); IPooledEnumerable mobiles = Map.GetMobilesInRange( location, 0 );
if ( mobiles.GetEnumerator().MoveNext() ) foreach ( Mobile m in mobiles )
{ {
mobiles.Free(); if ( m.Z >= location.Z && m.Z < location.Z + 16 )
return false; {
mobiles.Free();
return false;
}
} }
else
mobiles.Free(); mobiles.Free();
BounceInfo bi = item.GetBounce(); BounceInfo bi = item.GetBounce();