branch sync #2

This commit is contained in:
mark 2009-01-31 00:02:21 +00:00
parent 96a37544fd
commit 4e6256b8cd
39 changed files with 415 additions and 137 deletions

View file

@ -97,6 +97,18 @@ namespace Server.Items
public virtual int OldDexReq{ get{ return 0; } }
public virtual int OldIntReq{ get{ return 0; } }
public override void OnAfterDuped( Item newItem )
{
BaseArmor armor = newItem as BaseArmor;
if ( armor == null )
return;
armor.m_AosAttributes = new AosAttributes( newItem, m_AosAttributes );
armor.m_AosArmorAttributes = new AosArmorAttributes( newItem, m_AosArmorAttributes );
armor.m_AosSkillBonuses = new AosSkillBonuses( newItem, m_AosSkillBonuses );
}
[CommandProperty( AccessLevel.GameMaster )]
public AMA MeditationAllowance
{

View file

@ -5,8 +5,9 @@ namespace Server.Items
{
public class BlueBook : BaseBook
{
[Constructable]
public BlueBook() : base( 0xFF2 )
public BlueBook() : base( 0xFF2, 40, true )
{
}
@ -43,4 +44,4 @@ namespace Server.Items
writer.Write( (int)0 ); // version
}
}
}
}

View file

@ -449,6 +449,19 @@ namespace Server.Items
m_AosResistances = new AosElementAttributes( this );
}
public override void OnAfterDuped( Item newItem )
{
BaseClothing clothing = newItem as BaseClothing;
if ( clothing == null )
return;
clothing.m_AosAttributes = new AosAttributes( newItem, m_AosAttributes );
clothing.m_AosResistances = new AosElementAttributes( newItem, m_AosResistances );
clothing.m_AosSkillBonuses = new AosSkillBonuses( newItem, m_AosSkillBonuses );
clothing.m_AosClothingAttributes = new AosArmorAttributes( newItem, m_AosClothingAttributes );
}
public BaseClothing( Serial serial ) : base( serial )
{
}

View file

@ -78,6 +78,18 @@ namespace Server.Items
}
}
public override void OnAfterDuped( Item newItem )
{
BaseJewel jewel = newItem as BaseJewel;
if ( jewel == null )
return;
jewel.m_AosAttributes = new AosAttributes( newItem, m_AosAttributes );
jewel.m_AosResistances = new AosElementAttributes( newItem, m_AosResistances );
jewel.m_AosSkillBonuses = new AosSkillBonuses( newItem, m_AosSkillBonuses );
}
public virtual int ArtifactRarity{ get{ return 0; } }
public BaseJewel( int itemID, Layer layer ) : base( itemID )

View file

@ -43,11 +43,27 @@ namespace Server.Items
public static readonly TimeSpan MonsterLootRightSacrifice = TimeSpan.FromMinutes( 2.0 );
public static readonly TimeSpan InstancedCorpseTime = TimeSpan.FromMinutes( 3.0 );
[CommandProperty( AccessLevel.GameMaster )]
public virtual bool InstancedCorpse
{
get
{
if ( !Core.SE )
return false;
return ( DateTime.Now > m_TimeOfDeath + InstancedCorpseTime );
}
}
public override bool IsDecoContainer
{
get{ return false; }
}
private Dictionary<Mobile, List<Item>> m_InstancedItems;
[CommandProperty( AccessLevel.GameMaster )]
public DateTime TimeOfDeath
{
@ -268,6 +284,7 @@ namespace Server.Items
public Corpse( Mobile owner, List<Item> equipItems ) : this( owner, null, null, equipItems )
{
}
public Corpse( Mobile owner, HairInfo hair, FacialHairInfo facialhair, List<Item> equipItems )
: base( 0x2006 )
{
@ -356,6 +373,12 @@ namespace Server.Items
BeginDecay( m_DefaultDecayTime );
}
private void AssignInstancedLoot()
{
if ( m_InstancedItems == null )
m_InstancedItems = new Dictionary<Mobile, List<Item>>();
}
public Corpse( Serial serial ) : base( serial )
{
}

View file

@ -238,7 +238,7 @@ namespace Server.Items
new PMEntry( new Point3D( 1828, 2948,-20), 1012008 ), // Trinsic
new PMEntry( new Point3D( 643, 2067, 5 ), 1012009 ), // Skara Brae
new PMEntry( new Point3D( 3563, 2139, 34), 1012010 ), // Magincia
new PMEntry( new Point3D( 3763, 2771, 50), 1078098 ) // New Haven
new PMEntry( new Point3D( 3450, 2677, 25), 1078098 ) // New Haven
} );
public static readonly PMList Felucca =

View file

@ -6,6 +6,7 @@ using Server.Gumps;
namespace Server.Items
{
[FlipableAttribute( 0xA57, 0xA58, 0xA59 )]
public class Bedroll : Item
{
[Constructable]

View file

@ -412,6 +412,17 @@ namespace Server.Items
Content = content;
}
public override void OnAfterDuped( Item newItem )
{
Spellbook book = newItem as Spellbook;
if ( book == null )
return;
book.m_AosAttributes = new AosAttributes( newItem, m_AosAttributes );
book.m_AosSkillBonuses = new AosSkillBonuses( newItem, m_AosSkillBonuses );
}
public override void OnAdded( object parent )
{
if ( Core.AOS && parent is Mobile )

View file

@ -59,7 +59,7 @@ namespace Server.Items
AOS.Damage( defender, attacker, (int)(15.0 * (attacker.Skills[SkillName.Bushido].Value - 50.0) / 70.0 + 10), 100, 0, 0, 0, 0 ); //10-25
defender.Paralyze( TimeSpan.FromSeconds( 3.0 ) );
defender.Freeze( TimeSpan.FromSeconds( 2.0 ) );
Server.Items.ParalyzingBlow.BeginImmunity( defender, Server.Items.ParalyzingBlow.FreezeDelayDuration );
}
}

View file

@ -413,6 +413,19 @@ namespace Server.Items
#endregion
public override void OnAfterDuped( Item newItem )
{
BaseWeapon weap = newItem as BaseWeapon;
if ( weap == null )
return;
weap.m_AosAttributes = new AosAttributes( newItem, m_AosAttributes );
weap.m_AosElementDamages = new AosElementAttributes( newItem, m_AosElementDamages );
weap.m_AosSkillBonuses = new AosSkillBonuses( newItem, m_AosSkillBonuses );
weap.m_AosWeaponAttributes = new AosWeaponAttributes( newItem, m_AosWeaponAttributes );
}
public virtual void UnscaleDurability()
{
int scale = 100 + GetDurabilityBonus();