fix for major problem w/ilhenir slime. takes durability: 255/255 245/255 235/255 [...] 15/255 5/255 [...] 1/255 ... BREAK ... Without lowering max hitpoints, or the warning that comes along with it

This commit is contained in:
xavier 2011-08-22 01:13:25 +00:00
parent ec4f36d036
commit 800c63ec09
2 changed files with 40 additions and 10 deletions

View file

@ -18,8 +18,6 @@ namespace Server.Mobiles
{
double chance = Utility.RandomDouble() * 23301;
int[] list = new int[] { 0x97A, 0x978, 0x901, 0x8AC, 0x5A7, 0x527 };
if ( chance <= 1 )
Hue = 0x489;
else if ( chance < 50 )

View file

@ -410,23 +410,55 @@ namespace Server.Mobiles
if (!m.Alive)
StopTimer(m);
if (m_Corrosive)
if( m_Corrosive )
{
for (int i = 0; i < m.Items.Count; i++)
for( int i = 0; i < m.Items.Count; i++ )
{
IDurability item = m.Items[i] as IDurability;
IDurability item = m.Items[ i ] as IDurability;
if (item != null && Utility.RandomDouble() < 0.25)
if( item != null && Utility.RandomDouble() < 0.25 )
{
if (item.HitPoints > 10)
item.HitPoints -= 10;
if( item.HitPoints <= 10 )
{
if( item.HitPoints <= 0 )
{
if( item.MaxHitPoints <= 10 )
{
if( item.MaxHitPoints <= 0 )
{
( (Item)item ).Delete();
}
else
{
item.MaxHitPoints--;
}
}
else
{
item.MaxHitPoints -= 10;
}
if( Parent is Mobile )
{
( (Mobile)Parent ).LocalOverheadMessage( MessageType.Regular, 0x3B2, 1061121 ); // Your equipment is severely damaged.
}
}
else
{
item.HitPoints--;
}
}
else
item.HitPoints -= 1;
{
item.HitPoints -= 10;
}
}
}
}
else
AOS.Damage(m, 40, 0, 0, 0, 100, 0);
{
AOS.Damage( m, 40, 0, 0, 0, 100, 0 );
}
}
public virtual void Morph()