- Added a new Assemblies.cfg file (Assemblies_4_0.cfg) specific for .NET 4.0, which includes System.Core.dll by default.
- Fixed cu sidhe and reptalon trade statuettes. - Made IAccount comparable, to be able to sort by account in-game. - Fixed item leak in ChampionSpawn and Harrower. - Added ChampionSpawn and Harrower leaked item types to Cleanup. - Added a helper for handling validation after deserialization, and converted classes using that technique to the new system. - Fixed bulletin board item leak, and the core bug that caused it. Leaked items will be cleaned up on server boot. - Fixed bulletin board message content packet to compensate for a client bug. - Monster AI is now deactivated on the internal map, like it is on inactive sectors. - Monster AI activity is now checked on map changes as well, not just location changes. - Corrected hiding requirement needed to train stealth from an NPC for Core.ML. - Fixed a SendLocalizedMessage overload calling itself.
This commit is contained in:
parent
65536e1667
commit
9f0a67e5d7
20 changed files with 191 additions and 101 deletions
|
|
@ -11,6 +11,7 @@ using Server.ContextMenus;
|
|||
using Server.Engines.Quests;
|
||||
using Server.Engines.PartySystem;
|
||||
using Server.Factions;
|
||||
using Server.SkillHandlers;
|
||||
using Server.Spells.Bushido;
|
||||
using Server.Spells.Spellweaving;
|
||||
using Server.Spells.Necromancy;
|
||||
|
|
@ -2948,7 +2949,7 @@ namespace Server.Mobiles
|
|||
if ( !CanTeach )
|
||||
return false;
|
||||
|
||||
if( skill == SkillName.Stealth && from.Skills[SkillName.Hiding].Base < ((Core.SE) ? 50.0 : 80.0) )
|
||||
if( skill == SkillName.Stealth && from.Skills[SkillName.Hiding].Base < Stealth.HidingRequirement )
|
||||
return false;
|
||||
|
||||
if ( skill == SkillName.RemoveTrap && (from.Skills[SkillName.Lockpicking].Base < 50.0 || from.Skills[SkillName.DetectHidden].Base < 50.0) )
|
||||
|
|
@ -3382,12 +3383,24 @@ namespace Server.Mobiles
|
|||
return true; // entered idle state
|
||||
}
|
||||
|
||||
private void CheckAIActive()
|
||||
{
|
||||
Map map = Map;
|
||||
|
||||
if ( PlayerRangeSensitive && m_AI != null && map != null && map.GetSector( Location ).Active )
|
||||
m_AI.Activate();
|
||||
}
|
||||
|
||||
protected override void OnMapChange( Map oldMap )
|
||||
{
|
||||
CheckAIActive();
|
||||
|
||||
base.OnMapChange( oldMap );
|
||||
}
|
||||
|
||||
protected override void OnLocationChange( Point3D oldLocation )
|
||||
{
|
||||
Map map = this.Map;
|
||||
|
||||
if ( PlayerRangeSensitive && m_AI != null && map != null && map.GetSector( this.Location ).Active )
|
||||
m_AI.Activate();
|
||||
CheckAIActive();
|
||||
|
||||
base.OnLocationChange( oldLocation );
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue