diff --git a/Data/Decoration/Britannia/destard.cfg b/Data/Decoration/Britannia/destard.cfg index 46926bebf..2237472e1 100644 --- a/Data/Decoration/Britannia/destard.cfg +++ b/Data/Decoration/Britannia/destard.cfg @@ -1,3 +1,3 @@ # ankh -AnkhEast 0x0004 +AnkhNorth 0x0004 5204 774 0 \ No newline at end of file diff --git a/Data/Decoration/Britannia/shrines.cfg b/Data/Decoration/Britannia/shrines.cfg index 82ca0f1c1..9958f6b0a 100644 --- a/Data/Decoration/Britannia/shrines.cfg +++ b/Data/Decoration/Britannia/shrines.cfg @@ -47,7 +47,7 @@ Static 0x14E6 1458 843 5 # Compassion -AnkhEast 0x0004 +AnkhNorth 0x0004 1857 877 -1 # Honesty (locations unconfirmed) @@ -64,7 +64,7 @@ AnkhWest 0x0003 1723 3527 8 # Justice -AnkhEast 0x0004 +AnkhNorth 0x0004 1300 629 21 # Valor (location unconfirmed) @@ -72,7 +72,7 @@ AnkhWest 0x0003 2489 3930 2 # Sacrifice -AnkhEast 0x1E5D (Bloodied) +AnkhNorth 0x1E5D (Bloodied) 3354 287 4 # Spirituality diff --git a/Data/Decoration/Britannia/yew.cfg b/Data/Decoration/Britannia/yew.cfg index 6c1397c66..73d3e13e9 100644 --- a/Data/Decoration/Britannia/yew.cfg +++ b/Data/Decoration/Britannia/yew.cfg @@ -1,5 +1,5 @@ # ankh -AnkhEast 0x0004 +AnkhNorth 0x0004 634 816 0 # book diff --git a/Data/Decoration/Ilshenar/shrines.cfg b/Data/Decoration/Ilshenar/shrines.cfg index 315269dcb..6936552b8 100644 --- a/Data/Decoration/Ilshenar/shrines.cfg +++ b/Data/Decoration/Ilshenar/shrines.cfg @@ -3,7 +3,7 @@ AnkhWest 0x0003 1209 476 -14 # Honesty -AnkhEast 0x0004 +AnkhNorth 0x0004 718 1350 -55 # Humility @@ -11,7 +11,7 @@ AnkhWest 0x0003 286 1013 5 # Justice -AnkhEast 0x0004 +AnkhNorth 0x0004 986 996 -22 # Sacrifice @@ -23,6 +23,6 @@ AnkhWest 0x0003 1525 1340 4 # Valor -AnkhEast 0x0004 +AnkhNorth 0x0004 524 211 -49 532 211 -44 \ No newline at end of file diff --git a/Data/Decoration/Malas/emino's undertaking quest.cfg b/Data/Decoration/Malas/emino's undertaking quest.cfg index 895389e5a..efbb1bfbd 100644 --- a/Data/Decoration/Malas/emino's undertaking quest.cfg +++ b/Data/Decoration/Malas/emino's undertaking quest.cfg @@ -6,7 +6,7 @@ Teleporter 0x1BC3 (PointDest=(770, 1209, 25); MapDest=Tokuno) 375 802 1 # ankh -AnkhEast 0x0004 (Hue=0xFA) +AnkhNorth 0x0004 (Hue=0xFA) 397 801 4 #Emino diff --git a/Data/Decoration/Malas/haochi's trials quest.cfg b/Data/Decoration/Malas/haochi's trials quest.cfg index e087c0375..1790c3947 100644 --- a/Data/Decoration/Malas/haochi's trials quest.cfg +++ b/Data/Decoration/Malas/haochi's trials quest.cfg @@ -28,7 +28,7 @@ Teleporter 0x1BC3 (PointDest=(770, 1209, 25); MapDest=Tokuno) 391 777 -1 # ankh -AnkhEast 0x0004 (Hue=0xFA) +AnkhNorth 0x0004 (Hue=0xFA) 351 733 18 388 724 13 diff --git a/Data/Decoration/Malas/luna.cfg b/Data/Decoration/Malas/luna.cfg index 75b5af043..bea1c96ac 100644 --- a/Data/Decoration/Malas/luna.cfg +++ b/Data/Decoration/Malas/luna.cfg @@ -1,5 +1,5 @@ # Shrine of Wisdom -AnkhEast 0x0004 (Hue=0x47E) +AnkhNorth 0x0004 (Hue=0x47E) 975 508 -30 ShrineOfWisdomAddon 0x14C3 diff --git a/Data/Decoration/Trammel/haven.cfg b/Data/Decoration/Trammel/haven.cfg index a7186906b..830155011 100644 --- a/Data/Decoration/Trammel/haven.cfg +++ b/Data/Decoration/Trammel/haven.cfg @@ -1,5 +1,5 @@ # ankh -AnkhEast 0x0004 +AnkhNorth 0x0004 3606 2582 10 # stone wall diff --git a/Scripts/Engines/AI/AI/BaseAI.cs b/Scripts/Engines/AI/AI/BaseAI.cs index fa15a25c4..f0a42b1a5 100644 --- a/Scripts/Engines/AI/AI/BaseAI.cs +++ b/Scripts/Engines/AI/AI/BaseAI.cs @@ -932,7 +932,7 @@ namespace Server.Mobiles } else { - m_Mobile.DebugSay( "I stop being on guard" ); + m_Mobile.DebugSay( "I stopped being on guard" ); Action = ActionType.Wander; } @@ -1439,7 +1439,7 @@ namespace Server.Mobiles } if( combatant != null ) - m_Mobile.DebugSay( "Crap, my master has been attacked! I will atack one of those bastards!" ); + m_Mobile.DebugSay( "Crap, my master has been attacked! I will attack one of those bastards!" ); } if( combatant != null && combatant != m_Mobile && combatant != m_Mobile.ControlMaster && !combatant.Deleted && combatant.Alive && !combatant.IsDeadBondedPet && m_Mobile.CanSee( combatant ) && m_Mobile.CanBeHarmful( combatant, false ) && combatant.Map == m_Mobile.Map ) diff --git a/Scripts/Engines/AI/Creature/BaseCreature.cs b/Scripts/Engines/AI/Creature/BaseCreature.cs index ea7f6b6ab..945d3dafb 100644 --- a/Scripts/Engines/AI/Creature/BaseCreature.cs +++ b/Scripts/Engines/AI/Creature/BaseCreature.cs @@ -4767,7 +4767,7 @@ namespace Server.Mobiles } // added lines to check if a wild creature in a house region has to be removed or not - if ( !c.Controlled && ( c.Region.IsPartOf( typeof( HouseRegion ) ) && c.CanBeDamaged() || hasHourElapsed && c.RemoveIfUntamed && c.Spawner == null ) ) + if ( (!c.Controlled && ( c.Region.IsPartOf( typeof( HouseRegion ) ) && c.CanBeDamaged()) || (hasHourElapsed && c.RemoveIfUntamed && c.Spawner == null )) ) { c.RemoveStep++; diff --git a/Scripts/Gumps/AdminGump.cs b/Scripts/Gumps/AdminGump.cs index 6f101f0e0..4b87c201e 100644 --- a/Scripts/Gumps/AdminGump.cs +++ b/Scripts/Gumps/AdminGump.cs @@ -1119,7 +1119,7 @@ namespace Server.Gumps AccountComment c = a.Comments[i]; - sb.AppendFormat( "[{0}]
{1}", c.AddedBy, c.Content ); + sb.AppendFormat( "[{0} on {1}]
{2}", c.AddedBy, c.LastModified,c.Content ); } AddHtml( 20, 180, 380, 190, sb.ToString(), true, true ); @@ -2793,7 +2793,7 @@ namespace Server.Gumps { if ( m_Account != null ) { - m_Account.Comments.Add( new AccountComment( from.Name, text ) ); + m_Account.Comments.Add( new AccountComment( from.RawName, text ) ); from.SendGump( new AdminGump( from, AdminGumpPage.AccountDetails_Comments, 0, null, "Comment added.", m_Account ) ); } } diff --git a/Scripts/Misc/Guild.cs b/Scripts/Misc/Guild.cs index 4fcf47e5a..241518a25 100644 --- a/Scripts/Misc/Guild.cs +++ b/Scripts/Misc/Guild.cs @@ -99,6 +99,8 @@ namespace Server.Guilds public void CalculateAllianceLeader() { m_Leader = ((m_Members.Count >= 2) ? m_Members[Utility.Random( m_Members.Count )] : null); + + } public void CheckLeader() @@ -591,7 +593,36 @@ namespace Server.Guilds [Description( "Opens a menu where you can view and edit guild properties of a targeted player or guild stone. If the new Guild system is active, also brings up the guild gump." )] private static void GuildProps_OnCommand( CommandEventArgs e ) { - e.Mobile.Target = new GuildPropsTarget(); + string arg = e.ArgString.Trim(); + Mobile from = e.Mobile; + + if( arg.Length == 0 ) + { + e.Mobile.Target = new GuildPropsTarget(); + } + else + { + Guild g = null; + + int id = Utility.GetInt32( arg, -1 ); + if( id != -1 ) + g = Guild.Find( id ) as Guild; + + if( g == null ) + { + g = Guild.FindByAbbrev( arg ) as Guild; + + if( g == null ) + g = Guild.FindByName( arg ) as Guild; + } + + if( g != null ) + from.SendGump( new PropertiesGump( from, g ) ); + + if( NewGuildSystem && from.AccessLevel >= AccessLevel.GameMaster && from is PlayerMobile ) + from.SendGump( new GuildInfoGump( (PlayerMobile)from, g ) ); + } + } private class GuildPropsTarget : Target @@ -711,6 +742,61 @@ namespace Server.Guilds } } + [CommandProperty( AccessLevel.Counselor )] + public string AllianceName + { + get + { + AllianceInfo al = this.Alliance; + if( al != null ) + return al.Name; + + return null; + } + } + + [CommandProperty( AccessLevel.Counselor )] + public Guild AllianceLeader + { + get + { + AllianceInfo al = this.Alliance; + + if( al != null ) + return al.Leader; + + return null; + } + } + + [CommandProperty( AccessLevel.Counselor )] + public bool IsAllianceMember + { + get + { + AllianceInfo al = this.Alliance; + + if( al != null ) + return al.IsMember( this ); + + return false; + } + } + + [CommandProperty( AccessLevel.Counselor )] + public bool IsAlliancePendingMember + { + get + { + AllianceInfo al = this.Alliance; + + if( al != null ) + return al.IsPendingMember( this ); + + return false; + } + } + #endregion #region New Wars diff --git a/Scripts/Spells/Second/Protection.cs b/Scripts/Spells/Second/Protection.cs index e28c6d8bf..67407a4fa 100644 --- a/Scripts/Spells/Second/Protection.cs +++ b/Scripts/Spells/Second/Protection.cs @@ -65,8 +65,8 @@ namespace Server.Spells.Second mods = new object[2] { - new ResistanceMod( ResistanceType.Physical, -15 + (int)(caster.Skills[SkillName.Inscribe].Value / 20) ), - new DefaultSkillMod( SkillName.MagicResist, true, -35 + (int)(caster.Skills[SkillName.Inscribe].Value / 20) ) + new ResistanceMod( ResistanceType.Physical, -15 + Math.Min( (int)(caster.Skills[SkillName.Inscribe].Value / 20), 15 ) ), + new DefaultSkillMod( SkillName.MagicResist, true, -35 + Math.Min( (int)(caster.Skills[SkillName.Inscribe].Value / 20), 35 ) ) }; m_Table[target] = mods; diff --git a/Server/Guild.cs b/Server/Guild.cs index 1e3e6b0cc..0b0d7f977 100644 --- a/Server/Guild.cs +++ b/Server/Guild.cs @@ -50,6 +50,7 @@ namespace Server.Guilds m_GuildList.Add( m_Id, this ); } + [CommandProperty( AccessLevel.Counselor )] public int Id { get { return m_Id; } } int ISerializable.TypeReference { @@ -135,5 +136,10 @@ namespace Server.Guilds return results; } + + public override string ToString() + { + return String.Format( "0x{0:X} \"{1} [{2}]\"", m_Id, Name, Abbreviation ); + } } }