- Kasa of the Raj-in is now blessable with a Clothing Bless Deed

(http://www.uodemise.com/discussion/showthread.php?t=134491)

- People who use Hiding skill will be put in peace mode
(http://www.uodemise.com/discussion/showthread.php?t=133532)

- Various fixes about plantgrowing:
--> Seeds no longer have range or LOS checks.
--> When clicking on the water button on the plant gump it attempts to find water in your backpack first and if it doesn't it will give you a target instead.
--> Changed some old SVN messages that were using strings to use cliloc data instead.
(http://www.uodemise.com/discussion/showthread.php?t=119004)

- Player vendors will say the name of the buyer
(http://www.uodemise.com/discussion/showthread.php?t=118363)

- Books in bookshelves are now accessible to be read. They can't be taken away unless by using Stealing Skill
(http://www.uodemise.com/discussion/showthread.php?t=120213)

- Paragon metal chests now are turnable by using the Interior Decorator
(http://www.uodemise.com/discussion/showthread.php?t=133863)

- Runebooks can't be picked up if opened
(http://www.uodemise.com/discussion/showthread.php?t=133723)

- Runebook default location now is displayed as a red dot
(http://www.uodemise.com/discussion/showthread.php?t=133914)
This commit is contained in:
daedalus 2009-12-24 12:10:50 +00:00
parent 5cf819b644
commit c98aa748b6
16 changed files with 168 additions and 24 deletions

View file

@ -52,8 +52,14 @@ namespace Server.Engines.Plants
{
Mobile from = sender.Mobile;
if ( info.ButtonID == 0 || m_Plant.Deleted || m_Plant.PlantStatus >= PlantStatus.DecorativePlant || !from.InRange( m_Plant.GetWorldLocation(), 3 ) )
if ( info.ButtonID == 0 || m_Plant.Deleted || m_Plant.PlantStatus >= PlantStatus.DecorativePlant )
return;
if ( info.ButtonID == 3 && !from.InRange( m_Plant.GetWorldLocation(), 3 ) )
{
from.LocalOverheadMessage( MessageType.Regular, 0x3E9, 500446 ); // That is too far away.
return;
}
if ( !m_Plant.IsUsableBy( from ) )
{

View file

@ -226,8 +226,14 @@ namespace Server.Engines.Plants
{
Mobile from = sender.Mobile;
if ( info.ButtonID == 0 || m_Plant.Deleted || m_Plant.PlantStatus >= PlantStatus.DecorativePlant || !from.InRange( m_Plant.GetWorldLocation(), 3 ) )
if ( info.ButtonID == 0 || m_Plant.Deleted || m_Plant.PlantStatus >= PlantStatus.DecorativePlant )
return;
if ( ( ( info.ButtonID >= 6 && info.ButtonID <= 10 ) || info.ButtonID == 12 ) && !from.InRange( m_Plant.GetWorldLocation(), 3 ) )
{
from.LocalOverheadMessage( MessageType.Regular, 0x3E9, 500446 ); // That is too far away.
return;
}
if ( !m_Plant.IsUsableBy( from ) )
{
@ -286,8 +292,30 @@ namespace Server.Engines.Plants
}
case 6: // Water
{
from.Target = new PlantPourTarget( m_Plant );
from.SendLocalizedMessage( 1060808, "#" + m_Plant.GetLocalizedPlantStatus().ToString() ); // Target the container you wish to use to water the ~1_val~.
Item[] item = from.Backpack.FindItemsByType( typeof( BaseBeverage ) );
bool foundUsableWater = false;
if ( item != null && item.Length > 0 )
{
for ( int i = 0; i < item.Length; ++i )
{
BaseBeverage beverage = (BaseBeverage)item[i];
if ( !beverage.IsEmpty && beverage.Pourable && beverage.Content == BeverageType.Water )
{
foundUsableWater = true;
m_Plant.Pour( from, beverage );
break;
}
}
}
if ( !foundUsableWater )
{
from.Target = new PlantPourTarget( m_Plant );
from.SendLocalizedMessage( 1060808, "#" + m_Plant.GetLocalizedPlantStatus().ToString() ); // Target the container you wish to use to water the ~1_val~.
}
break;
}

View file

@ -6,6 +6,7 @@ using Server.Gumps;
using Server.Items;
using Server.Multis;
using Server.ContextMenus;
using Server.Network;
namespace Server.Engines.Plants
{
@ -212,8 +213,10 @@ namespace Server.Engines.Plants
return 1060812; // plant
else if ( m_PlantStatus >= PlantStatus.Sapling )
return 1023305; // sapling
else
else if ( m_PlantStatus >= PlantStatus.Seed )
return 1060810; // seed
else
return 1026951; // dirt
}
private void Update()
@ -341,6 +344,14 @@ namespace Server.Engines.Plants
{
if ( m_PlantStatus >= PlantStatus.DecorativePlant )
return;
Point3D loc = this.GetWorldLocation();
if ( !from.InLOS( loc ) || !from.InRange( loc, 2 ) )
{
from.LocalOverheadMessage( MessageType.Regular, 0x3E9, 1019045 ); // I can't reach that.
return;
}
if ( !IsUsableBy( from ) )
{
@ -363,12 +374,7 @@ namespace Server.Engines.Plants
}
else if ( m_PlantStatus != PlantStatus.BowlOfDirt )
{
if ( m_PlantStatus >= PlantStatus.Plant )
LabelTo( from, "This bowl of dirt already has a plant in it!" );
else if ( m_PlantStatus >= PlantStatus.Sapling )
LabelTo( from, "This bowl of dirt already has a sapling in it!" );
else
LabelTo( from, "This bowl of dirt already has a seed in it!" );
from.SendLocalizedMessage( 1080389, "#" + GetLocalizedPlantStatus().ToString() ); // This bowl of dirt already has a ~1_val~ in it!
}
else if ( m_PlantSystem.Water < 2 )
{

View file

@ -116,9 +116,15 @@ namespace Server.Engines.Plants
{
Mobile from = sender.Mobile;
if ( info.ButtonID == 0 || m_Plant.Deleted || m_Plant.PlantStatus >= PlantStatus.DecorativePlant || m_Plant.PlantStatus == PlantStatus.BowlOfDirt || !from.InRange( m_Plant.GetWorldLocation(), 3 ) )
if ( info.ButtonID == 0 || m_Plant.Deleted || m_Plant.PlantStatus >= PlantStatus.DecorativePlant || m_Plant.PlantStatus == PlantStatus.BowlOfDirt )
return;
if ( ( info.ButtonID >= 6 && info.ButtonID <= 8 ) && !from.InRange( m_Plant.GetWorldLocation(), 3 ) )
{
from.LocalOverheadMessage( MessageType.Regular, 0x3E9, 500446 ); // That is too far away.
return;
}
if ( !m_Plant.IsUsableBy( from ) )
{
m_Plant.LabelTo( from, 1061856 ); // You must have the item in your backpack or locked down in order to use it.

View file

@ -140,9 +140,10 @@ namespace Server.Engines.Plants
{
private Seed m_Seed;
public InternalTarget( Seed seed ) : base( 3, false, TargetFlags.None )
public InternalTarget( Seed seed ) : base( -1, false, TargetFlags.None )
{
m_Seed = seed;
CheckLOS = false;
}
protected override void OnTarget( Mobile from, object targeted )

View file

@ -41,8 +41,14 @@ namespace Server.Engines.Plants
{
Mobile from = sender.Mobile;
if ( info.ButtonID == 0 || m_Plant.Deleted || m_Plant.PlantStatus != PlantStatus.Stage9 || !from.InRange( m_Plant.GetWorldLocation(), 3 ) )
if ( info.ButtonID == 0 || m_Plant.Deleted || m_Plant.PlantStatus != PlantStatus.Stage9 )
return;
if ( info.ButtonID == 3 && !from.InRange( m_Plant.GetWorldLocation(), 3 ) )
{
from.LocalOverheadMessage( MessageType.Regular, 0x3E9, 500446 ); // That is too far away.
return;
}
if ( !m_Plant.IsUsableBy( from ) )
{

View file

@ -56,8 +56,6 @@ namespace Server.Items
public override int BasePoisonResistance { get { return 17; } }
public override int BaseEnergyResistance { get { return 17; } }
public override bool CanBeBlessed { get { return false; } }
public override int InitMinHits { get { return 255; } }
public override int InitMaxHits { get { return 255; } }