- Added Scrolls of Transcendence and Scrolls of Alacrity. Scrolls of Transcendence, togheter with 105 Powerscrolls, will spawn while doing champion spawns.

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

- Rune Beetle Armor Corruption now works properly
(http://www.uodemise.com/discussion/showthread.php?t=123086)

- the Animal Trainer now will say only "Your pet has been stabled" when you stable a pet (won't affect Pre-AoS)
(http://www.uodemise.com/discussion/showthread.php?t=123113)

- Acid elementals now use the proper poison level, and are vulnerable to elemental slayers. When animated, they turn in wraith or banshee
(http://www.uodemise.com/discussion/showthread.php?t=125749)

- You can't drop items on the same tile a mobile (PC or NPC) is
(http://www.uodemise.com/discussion/showthread.php?t=116540)

- the Embrace Honor virtue ability now works as per OSI
(http://www.uodemise.com/discussion/showthread.php?t=125722)

- Woodland Belts now are dyable
(http://www.uodemise.com/discussion/showthread.php?t=128444)

- You can combine folded cloth and bottle of liquor to make firebombs
(http://www.uodemise.com/discussion/showthread.php?t=125257)

- SoS now are not anymore facet specific, as per OSI
(http://www.uodemise.com/discussion/showthread.php?t=115477)
This commit is contained in:
daedalus 2009-12-06 21:30:25 +00:00
parent e519ff2497
commit 37043076e0
19 changed files with 1236 additions and 17 deletions

View file

@ -2494,6 +2494,10 @@ namespace Server.Mobiles
if( TransformationSpellHelper.UnderTransformation( m, typeof( EtherealVoyageSpell ) ) )
continue;
// Ignore players with activated honor
if ( m is PlayerMobile && ( (PlayerMobile)m ).HonorActive )
continue;
if( acqType == FightMode.Aggressor || acqType == FightMode.Evil )
{
// Only acquire this mobile if it attacked us, or if it's evil.

View file

@ -769,6 +769,9 @@ namespace Server.Mobiles
if( TransformationSpellHelper.UnderTransformation( m, typeof( EtherealVoyageSpell ) ) )
return false;
if ( m is PlayerMobile && ( (PlayerMobile)m ).HonorActive )
return false;
BaseCreature c = (BaseCreature)m;
return ( m_iTeam != c.m_iTeam || ( (m_bSummoned || m_bControlled) != (c.m_bSummoned || c.m_bControlled) )/* || c.Combatant == this*/ );

View file

@ -134,19 +134,19 @@ namespace Server.Mobiles
if ( Core.ML )
{
if ( defender.PhysicalResistance > 0 )
mods.Add( new ResistanceMod( ResistanceType.Physical, defender.PhysicalResistance / 2 ) );
mods.Add( new ResistanceMod( ResistanceType.Physical, -(defender.PhysicalResistance / 2) ) );
if ( defender.FireResistance > 0 )
mods.Add( new ResistanceMod( ResistanceType.Fire, defender.FireResistance / 2 ) );
mods.Add( new ResistanceMod( ResistanceType.Fire, -(defender.FireResistance / 2) ) );
if ( defender.ColdResistance > 0 )
mods.Add( new ResistanceMod( ResistanceType.Cold, defender.ColdResistance / 2 ) );
mods.Add( new ResistanceMod( ResistanceType.Cold, -(defender.ColdResistance / 2) ) );
if ( defender.PoisonResistance > 0 )
mods.Add( new ResistanceMod( ResistanceType.Poison, defender.PoisonResistance / 2 ) );
mods.Add( new ResistanceMod( ResistanceType.Poison, -(defender.PoisonResistance / 2) ) );
if ( defender.EnergyResistance > 0 )
mods.Add( new ResistanceMod( ResistanceType.Energy, defender.EnergyResistance / 2 ) );
mods.Add( new ResistanceMod( ResistanceType.Energy, -(defender.EnergyResistance / 2) ) );
}
else
{

View file

@ -45,7 +45,11 @@ namespace Server.Mobiles
Young = 0x00000400,
AcceptGuildInvites = 0x00000800,
DisplayChampionTitle = 0x00001000,
HasStatReward = 0x00002000
HasStatReward = 0x00002000,
#region Scroll of Alacrity
AcceleratedSkill = 0x00080000,
#endregion
}
public enum NpcGuild
@ -318,6 +322,27 @@ namespace Server.Mobiles
set{ m_AnkhNextUse = value; }
}
#region Scroll of Alacrity
private DateTime m_AcceleratedStart;
[CommandProperty(AccessLevel.GameMaster)]
public DateTime AcceleratedStart
{
get { return m_AcceleratedStart; }
set { m_AcceleratedStart = value; }
}
private SkillName m_AcceleratedSkill;
[CommandProperty(AccessLevel.GameMaster)]
public SkillName AcceleratedSkill
{
get { return m_AcceleratedSkill; }
set { m_AcceleratedSkill = value; }
}
#endregion
public static Direction GetDirection4( Point3D from, Point3D to )
{
int dx = from.X - to.X;
@ -345,6 +370,16 @@ namespace Server.Mobiles
if ( !base.OnDroppedItemToWorld( item, location ) )
return false;
IPooledEnumerable mobiles = Map.GetMobilesInRange( location, 0 );
if ( mobiles.GetEnumerator().MoveNext() )
{
mobiles.Free();
return false;
}
else
mobiles.Free();
BounceInfo bi = item.GetBounce();
if ( bi != null )

View file

@ -251,7 +251,7 @@ namespace Server.Mobiles
}
else
{
SayTo( from, 1042558 ); /* I charge 30 gold per pet for a real week's stable time.
from.SendLocalizedMessage( 1042558 ); /* I charge 30 gold per pet for a real week's stable time.
* I will withdraw it from thy bank account.
* Which animal wouldst thou like to stable here?
*/
@ -313,7 +313,7 @@ namespace Server.Mobiles
from.Stabled.Add( pet );
SayTo( from, 502679 ); // Very well, thy pet is stabled. Thou mayst recover it by saying 'claim' to me. In one real world week, I shall sell it off if it is not claimed!
SayTo( from, Core.AOS ? 1049677 : 502679 ); // [AOS: Your pet has been stabled.] Very well, thy pet is stabled. Thou mayst recover it by saying 'claim' to me. In one real world week, I shall sell it off if it is not claimed!
}
else
{