101 lines
No EOL
2.8 KiB
C#
101 lines
No EOL
2.8 KiB
C#
using System;
|
|
using Server;
|
|
using Server.Items;
|
|
using Server.Network;
|
|
|
|
namespace Server.Mobiles
|
|
{
|
|
public class SolenHelper
|
|
{
|
|
public static void PackPicnicBasket( BaseCreature solen )
|
|
{
|
|
if ( 1 > Utility.Random( 100 ) )
|
|
{
|
|
PicnicBasket basket = new PicnicBasket();
|
|
|
|
basket.DropItem( new BeverageBottle( BeverageType.Wine ) );
|
|
basket.DropItem( new CheeseWedge() );
|
|
|
|
solen.PackItem( basket );
|
|
}
|
|
}
|
|
|
|
public static bool CheckRedFriendship( Mobile m )
|
|
{
|
|
if ( m is BaseCreature )
|
|
{
|
|
BaseCreature bc = (BaseCreature)m;
|
|
|
|
if ( bc.Controlled && bc.ControlMaster is PlayerMobile )
|
|
return CheckRedFriendship( bc.ControlMaster );
|
|
else if ( bc.Summoned && bc.SummonMaster is PlayerMobile )
|
|
return CheckRedFriendship( bc.SummonMaster );
|
|
}
|
|
|
|
PlayerMobile player = m as PlayerMobile;
|
|
|
|
return player != null && player.SolenFriendship == SolenFriendship.Red;
|
|
}
|
|
|
|
public static bool CheckBlackFriendship( Mobile m )
|
|
{
|
|
if ( m is BaseCreature )
|
|
{
|
|
BaseCreature bc = (BaseCreature)m;
|
|
|
|
if ( bc.Controlled && bc.ControlMaster is PlayerMobile )
|
|
return CheckBlackFriendship( bc.ControlMaster );
|
|
else if ( bc.Summoned && bc.SummonMaster is PlayerMobile )
|
|
return CheckBlackFriendship( bc.SummonMaster );
|
|
}
|
|
|
|
PlayerMobile player = m as PlayerMobile;
|
|
|
|
return player != null && player.SolenFriendship == SolenFriendship.Black;
|
|
}
|
|
|
|
public static void OnRedDamage( Mobile from )
|
|
{
|
|
if ( from is BaseCreature )
|
|
{
|
|
BaseCreature bc = (BaseCreature)from;
|
|
|
|
if ( bc.Controlled && bc.ControlMaster is PlayerMobile )
|
|
OnRedDamage( bc.ControlMaster );
|
|
else if ( bc.Summoned && bc.SummonMaster is PlayerMobile )
|
|
OnRedDamage( bc.SummonMaster );
|
|
}
|
|
|
|
PlayerMobile player = from as PlayerMobile;
|
|
|
|
if ( player != null && player.SolenFriendship == SolenFriendship.Red )
|
|
{
|
|
player.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1054103 ); // The solen revoke their friendship. You will now be considered an intruder.
|
|
|
|
player.SolenFriendship = SolenFriendship.None;
|
|
}
|
|
}
|
|
|
|
public static void OnBlackDamage( Mobile from )
|
|
{
|
|
if ( from is BaseCreature )
|
|
{
|
|
BaseCreature bc = (BaseCreature)from;
|
|
|
|
if ( bc.Controlled && bc.ControlMaster is PlayerMobile )
|
|
OnBlackDamage( bc.ControlMaster );
|
|
else if ( bc.Summoned && bc.SummonMaster is PlayerMobile )
|
|
OnBlackDamage( bc.SummonMaster );
|
|
}
|
|
|
|
PlayerMobile player = from as PlayerMobile;
|
|
|
|
if ( player != null && player.SolenFriendship == SolenFriendship.Black )
|
|
{
|
|
player.LocalOverheadMessage( MessageType.Regular, 0x3B2, 1054103 ); // The solen revoke their friendship. You will now be considered an intruder.
|
|
|
|
player.SolenFriendship = SolenFriendship.None;
|
|
}
|
|
}
|
|
}
|
|
} |