slight refactor of visible damage
This commit is contained in:
parent
6571b05f33
commit
18bc7b84d9
1 changed files with 59 additions and 55 deletions
114
Server/Mobile.cs
114
Server/Mobile.cs
|
|
@ -5189,64 +5189,12 @@ namespace Server
|
|||
{
|
||||
case VisibleDamageType.Related:
|
||||
{
|
||||
NetState ourState = m_NetState, theirState = (from == null ? null : from.m_NetState);
|
||||
|
||||
if( ourState == null )
|
||||
{
|
||||
Mobile master = GetDamageMaster( from );
|
||||
|
||||
if( master != null )
|
||||
ourState = master.m_NetState;
|
||||
}
|
||||
|
||||
if( theirState == null && from != null )
|
||||
{
|
||||
Mobile master = from.GetDamageMaster( this );
|
||||
|
||||
if( master != null )
|
||||
theirState = master.m_NetState;
|
||||
}
|
||||
|
||||
if( amount > 0 && (ourState != null || theirState != null) )
|
||||
{
|
||||
Packet p = null;// = new DamagePacket( this, amount );
|
||||
|
||||
if( ourState != null )
|
||||
{
|
||||
if( ourState.DamagePacket )
|
||||
p = Packet.Acquire( new DamagePacket( this, amount ) );
|
||||
else
|
||||
p = Packet.Acquire( new DamagePacketOld( this, amount ) );
|
||||
|
||||
ourState.Send( p );
|
||||
}
|
||||
|
||||
if( theirState != null && theirState != ourState )
|
||||
{
|
||||
bool newPacket = theirState.DamagePacket;
|
||||
|
||||
if( newPacket && (p == null || !(p is DamagePacket)) )
|
||||
{
|
||||
Packet.Release( p );
|
||||
p = Packet.Acquire( new DamagePacket( this, amount ) );
|
||||
}
|
||||
else if( !newPacket && (p == null || !(p is DamagePacketOld)) )
|
||||
{
|
||||
Packet.Release( p );
|
||||
p = Packet.Acquire( new DamagePacketOld( this, amount ) );
|
||||
}
|
||||
|
||||
theirState.Send( p );
|
||||
}
|
||||
|
||||
Packet.Release( p );
|
||||
}
|
||||
|
||||
SendVisibleDamageRelated(from, amount);
|
||||
break;
|
||||
}
|
||||
case VisibleDamageType.Everyone:
|
||||
{
|
||||
SendDamageToAll( amount );
|
||||
SendVisibleDamageEveryone(amount);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -5273,7 +5221,63 @@ namespace Server
|
|||
}
|
||||
}
|
||||
|
||||
public virtual void SendDamageToAll( int amount )
|
||||
public void SendVisibleDamageRelated(Mobile from, int amount)
|
||||
{
|
||||
NetState ourState = m_NetState, theirState = (from == null ? null : from.m_NetState);
|
||||
|
||||
if (ourState == null)
|
||||
{
|
||||
Mobile master = GetDamageMaster(from);
|
||||
|
||||
if (master != null)
|
||||
ourState = master.m_NetState;
|
||||
}
|
||||
|
||||
if (theirState == null && from != null)
|
||||
{
|
||||
Mobile master = from.GetDamageMaster(this);
|
||||
|
||||
if (master != null)
|
||||
theirState = master.m_NetState;
|
||||
}
|
||||
|
||||
if (amount > 0 && (ourState != null || theirState != null))
|
||||
{
|
||||
Packet p = null;// = new DamagePacket( this, amount );
|
||||
|
||||
if (ourState != null)
|
||||
{
|
||||
if (ourState.DamagePacket)
|
||||
p = Packet.Acquire(new DamagePacket(this, amount));
|
||||
else
|
||||
p = Packet.Acquire(new DamagePacketOld(this, amount));
|
||||
|
||||
ourState.Send(p);
|
||||
}
|
||||
|
||||
if (theirState != null && theirState != ourState)
|
||||
{
|
||||
bool newPacket = theirState.DamagePacket;
|
||||
|
||||
if (newPacket && (p == null || !(p is DamagePacket)))
|
||||
{
|
||||
Packet.Release(p);
|
||||
p = Packet.Acquire(new DamagePacket(this, amount));
|
||||
}
|
||||
else if (!newPacket && (p == null || !(p is DamagePacketOld)))
|
||||
{
|
||||
Packet.Release(p);
|
||||
p = Packet.Acquire(new DamagePacketOld(this, amount));
|
||||
}
|
||||
|
||||
theirState.Send(p);
|
||||
}
|
||||
|
||||
Packet.Release(p);
|
||||
}
|
||||
}
|
||||
|
||||
public void SendVisibleDamageEveryone(int amount)
|
||||
{
|
||||
if( amount < 0 )
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue