Refactor IDevourable to IDevourer, as the interface represents an entity that consumes corpses, and not the entity being consumed.
Refactor PlagueBeast to not require additional API by handling the devour goal increase in the property directly.
This commit is contained in:
parent
5d07b8f64a
commit
5624873cd7
4 changed files with 9 additions and 42 deletions
|
|
@ -955,22 +955,6 @@ namespace Server.Mobiles
|
|||
base.OnBeforeSpawn( location, m );
|
||||
}
|
||||
|
||||
public virtual void OnBeforeParagonConvert()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnAfterParagonConvert()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnBeforeParagonUnConvert()
|
||||
{
|
||||
}
|
||||
|
||||
public virtual void OnAfterParagonUnConvert()
|
||||
{
|
||||
}
|
||||
|
||||
public override ApplyPoisonResult ApplyPoison( Mobile from, Poison poison )
|
||||
{
|
||||
if ( !Alive || IsDeadPet )
|
||||
|
|
|
|||
|
|
@ -46,8 +46,6 @@ namespace Server.Mobiles
|
|||
if ( bc.IsParagon )
|
||||
return;
|
||||
|
||||
bc.OnBeforeParagonConvert();
|
||||
|
||||
bc.Hue = Hue;
|
||||
|
||||
if ( bc.HitsMaxSeed >= 0 )
|
||||
|
|
@ -90,8 +88,6 @@ namespace Server.Mobiles
|
|||
if( Math.Abs( bc.Karma ) > 32000 )
|
||||
bc.Karma = 32000 * Math.Sign( bc.Karma );
|
||||
}
|
||||
|
||||
bc.OnAfterParagonConvert();
|
||||
}
|
||||
|
||||
public static void UnConvert( BaseCreature bc )
|
||||
|
|
@ -99,7 +95,6 @@ namespace Server.Mobiles
|
|||
if ( !bc.IsParagon )
|
||||
return;
|
||||
|
||||
bc.OnBeforeParagonUnConvert();
|
||||
bc.Hue = 0;
|
||||
|
||||
if ( bc.HitsMaxSeed >= 0 )
|
||||
|
|
@ -131,8 +126,6 @@ namespace Server.Mobiles
|
|||
bc.Fame = (int)( bc.Fame / FameBuff );
|
||||
if ( bc.Karma != 0 )
|
||||
bc.Karma = (int)( bc.Karma / KarmaBuff );
|
||||
|
||||
bc.OnAfterParagonUnConvert();
|
||||
}
|
||||
|
||||
public static bool CheckConvert( BaseCreature bc )
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ using Server.Network;
|
|||
namespace Server.Mobiles
|
||||
{
|
||||
[CorpseName( "a plague beast corpse" )]
|
||||
public class PlagueBeast : BaseCreature, IDevourable
|
||||
public class PlagueBeast : BaseCreature, IDevourer
|
||||
{
|
||||
private int m_DevourTotal;
|
||||
private int m_DevourGoal;
|
||||
|
|
@ -23,7 +23,7 @@ namespace Server.Mobiles
|
|||
[CommandProperty( AccessLevel.GameMaster )]
|
||||
public int DevourGoal
|
||||
{
|
||||
get { return m_DevourGoal; }
|
||||
get { return ( this.Paragon ? m_DevourGoal + 25 : m_DevourGoal ); }
|
||||
set { m_DevourGoal = value; }
|
||||
}
|
||||
|
||||
|
|
@ -72,7 +72,7 @@ namespace Server.Mobiles
|
|||
PackItem( Engines.Plants.Seed.RandomPeculiarSeed(4) );
|
||||
|
||||
m_DevourTotal = 0;
|
||||
m_DevourGoal = Utility.RandomMinMax( 15, 25 ); // The goal amount of how many corpses must devour before metal chest is rewarded
|
||||
m_DevourGoal = Utility.RandomMinMax( 15, 25 ); // How many corpses must be devoured before a metal chest is awarded
|
||||
}
|
||||
|
||||
public override void GenerateLoot()
|
||||
|
|
@ -82,16 +82,6 @@ namespace Server.Mobiles
|
|||
// TODO: dungeon chest, healthy gland
|
||||
}
|
||||
|
||||
public override void OnAfterParagonConvert()
|
||||
{
|
||||
m_DevourGoal += 25;
|
||||
}
|
||||
|
||||
public override void OnAfterParagonUnConvert()
|
||||
{
|
||||
m_DevourGoal -= 25;
|
||||
}
|
||||
|
||||
public override void OnGaveMeleeAttack( Mobile defender )
|
||||
{
|
||||
base.OnGaveMeleeAttack( defender );
|
||||
|
|
@ -211,7 +201,7 @@ namespace Server.Mobiles
|
|||
eable.Free();
|
||||
}
|
||||
|
||||
#region IDevourable Members
|
||||
#region IDevourer Members
|
||||
|
||||
public bool Devour( Corpse corpse )
|
||||
{
|
||||
|
|
@ -226,7 +216,7 @@ namespace Server.Mobiles
|
|||
|
||||
PublicOverheadMessage( MessageType.Emote, 0x3B2, 1053033 ); // * The plague beast absorbs the fleshy remains of the corpse *
|
||||
|
||||
if( !m_HasMetalChest && m_DevourTotal >= m_DevourGoal )
|
||||
if( !m_HasMetalChest && m_DevourTotal >= DevourGoal )
|
||||
{
|
||||
PackItem( new MetalChest() );
|
||||
m_HasMetalChest = true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue