diff --git a/Data/Spawns/towns.map b/Data/Spawns/towns.map index 862a0e1..6257763 100644 --- a/Data/Spawns/towns.map +++ b/Data/Spawns/towns.map @@ -82,37 +82,37 @@ *|cow||||||1907|1628|10|1|30|45|4|4|1|1|0|0|0|0|0 *|cow||||||1902|1640|10|1|30|45|4|4|1|1|0|0|0|0|0 *|cow||||||1907|1632|10|1|30|45|4|4|1|1|0|0|0|0|0 -*|bull:pig:horse:llama:sheep:chicken||||||2160|1636|0|1|5|10|10|4|1|4|0|0|0|0|0 -*|scribe||||||2095|1576|5|1|5|10|4|4|1|1|0|0|0|0|0 -*|cow:bull:pig:horse:llama:sheep:chicken||||||2165|1643|2|1|5|10|15|2|1|4|0|0|0|0|0 -*|cow:horse:llama:bull:pig:chicken||||||2160|1625|1|1|5|10|20|2|1|3|0|0|0|0|0 -*|stablemaster||||||2169|1632|5|1|5|10|4|4|1|1|0|0|0|0|0 -*|carpenter||||||2152|1539|5|1|5|10|3|3|1|1|0|0|0|0|0 -*|innkeeper||||||2108|1545|25|1|5|10|0|0|1|1|0|0|0|0|0 -*|tavernkeeper||||||2108|1538|5|1|5|10|0|0|1|1|0|0|0|0|0 -*|scribe||||||2093|1569|5|1|5|10|4|4|1|1|0|0|0|0|0 -*|waiter||||||2127|1572|5|1|5|10|4|4|1|1|0|0|0|0|0 -*|cook||||||2137|1572|5|1|5|10|3|1|1|1|0|0|0|0|0 -*|alchemist||||||2129|1590|5|1|5|10|4|4|1|1|0|0|0|0|0 -*|bowyer||||||2143|1589|5|1|5|10|3|3|1|1|0|0|0|0|0 -*|blacksmith||||||2192|1553|5|1|5|10|4|4|1|1|0|0|0|0|0 -*|tinker||||||2189|1615|5|1|5|10|3|2|1|1|0|0|0|0|0 -*|jeweler||||||2188|1606|5|1|5|10|4|4|1|1|0|0|0|0|0 -*|provisioner||||||2187|1591|6|1|5|10|4|4|1|1|0|0|0|0|0 -*|herbalist||||||2189|1571|5|1|5|10|4|4|1|1|0|0|0|0|0 -*|mage||||||2212|1564|5|1|5|10|4|4|1|1|0|0|0|0|0 -*|weaver||||||2212|1592|6|1|5|10|5|2|1|1|0|0|0|0|0 -*|tailor||||||2211|1592|6|1|5|10|5|3|1|1|0|0|0|0|0 -*|bard||||||2211|1610|5|1|5|10|5|2|1|1|0|0|0|0|0 -*|shipwright||||||2195|1632|5|1|5|10|4|4|1|1|0|0|0|0|0 -*|mapmaker||||||2195|1633|5|1|5|10|4|4|1|1|0|0|0|0|0 -*|healer||||||2125|1611|5|1|5|10|4|4|1|2|0|0|0|0|0 -*|Architect||||||2005|1529|0|1|5|10|8|2|1|1|0|0|0|0|0 +*|bull:pig:horse:llama:sheep:chicken||||||2160|1636|0|1|0|0|10|4|1|4|0|0|0|0|0 +*|scribe||||||2095|1576|5|1|0|0|4|4|1|1|0|0|0|0|0 +*|cow:bull:pig:horse:llama:sheep:chicken||||||2165|1643|2|1|0|0|15|2|1|4|0|0|0|0|0 +*|cow:horse:llama:bull:pig:chicken||||||2160|1625|1|1|0|0|20|2|1|3|0|0|0|0|0 +*|stablemaster||||||2169|1632|5|1|0|0|4|4|1|1|0|0|0|0|0 +*|carpenter||||||2152|1539|5|1|0|0|3|3|1|1|0|0|0|0|0 +*|innkeeper||||||2108|1545|25|1|0|0|0|0|1|1|0|0|0|0|0 +*|tavernkeeper||||||2108|1538|5|1|0|0|0|0|1|1|0|0|0|0|0 +*|scribe||||||2093|1569|5|1|0|0|4|4|1|1|0|0|0|0|0 +*|waiter||||||2127|1572|5|1|0|0|4|4|1|1|0|0|0|0|0 +*|cook||||||2137|1572|5|1|0|0|3|1|1|1|0|0|0|0|0 +*|alchemist||||||2129|1590|5|1|0|0|4|4|1|1|0|0|0|0|0 +*|bowyer||||||2143|1589|5|1|0|0|3|3|1|1|0|0|0|0|0 +*|blacksmith||||||2192|1553|5|1|0|0|4|4|1|1|0|0|0|0|0 +*|tinker||||||2189|1615|5|1|0|0|3|2|1|1|0|0|0|0|0 +*|jeweler||||||2188|1606|5|1|0|0|4|4|1|1|0|0|0|0|0 +*|provisioner||||||2187|1591|6|1|0|0|4|4|1|1|0|0|0|0|0 +*|herbalist||||||2189|1571|5|1|0|0|4|4|1|1|0|0|0|0|0 +*|mage||||||2212|1564|5|1|0|0|4|4|1|1|0|0|0|0|0 +*|weaver||||||2212|1592|6|1|0|0|5|2|1|1|0|0|0|0|0 +*|tailor||||||2211|1592|6|1|0|0|5|3|1|1|0|0|0|0|0 +*|bard||||||2211|1610|5|1|0|0|5|2|1|1|0|0|0|0|0 +*|shipwright||||||2195|1632|5|1|0|0|4|4|1|1|0|0|0|0|0 +*|mapmaker||||||2195|1633|5|1|0|0|4|4|1|1|0|0|0|0|0 +*|healer||||||2125|1611|5|1|0|0|4|4|1|2|0|0|0|0|0 +*|Architect||||||2005|1529|0|1|0|0|8|2|1|1|0|0|0|0|0 ## BUCS DEN *|weaver||||||2637|2256|10|1|0|0|2|2|1|1|0|0|0|0|0 *|weaponsmith||||||2687|2241|0|1|0|0|0|0|1|1|0|0|0|0|0 -*|shipwright||||||2684|2199|0|1|5|10|0|0|1|1|0|0|0|0|0 +*|shipwright||||||2684|2199|0|1|0|0|0|0|1|1|0|0|0|0|0 *|mapmaker||||||2675|2202|0|1|0|0|2|2|1|1|0|0|0|0|0 *|fisherman||||||2735|2222|1|1|0|0|0|0|1|1|0|0|0|0|0 *|marinerguildmaster||||||2667|2203|0|1|0|0|2|2|1|1|0|0|0|0|0 @@ -137,7 +137,7 @@ *|minstrel||||||2619|2200|20|1|0|0|0|0|1|1|0|0|0|0|0 *|jester||||||2608|2207|20|1|0|0|1|1|1|1|0|0|0|0|0 *|bowyer||||||2625|2177|0|1|0|0|0|0|1|1|0|0|0|0|0 -*|blacksmith||||||2069|1513|0|1|5|10|4|4|1|1|0|0|0|0|0 +*|blacksmith||||||2069|1513|0|1|0|0|4|4|1|1|0|0|0|0|0 ## COVE *|guard||||||2718|1454|0|1|0|0|4|4|1|1|0|0|0|0|0 @@ -190,10 +190,10 @@ *|leatherworker||||||1048|3172|15|1|0|0|0|0|1|1|0|0|0|0|0 *|stablemaster||||||1064|3202|0|1|0|0|2|2|1|1|0|0|0|0|0 *|tinker||||||1051|3238|0|1|0|0|0|0|1|1|0|0|0|0|0 -*|innkeeper||||||1050|3131|15|1|5|10|2|2|1|1|0|0|0|0|0 +*|innkeeper||||||1050|3131|15|1|0|0|2|2|1|1|0|0|0|0|0 *|baker||||||1050|3114|15|1|0|0|0|0|1|1|0|0|0|0|0 *|cook||||||1053|3118|15|1|0|0|0|0|1|1|0|0|0|0|0 -*|waiter||||||1063|3140|15|1|5|10|2|2|1|1|0|0|0|0|0 +*|waiter||||||1063|3140|15|1|0|0|2|2|1|1|0|0|0|0|0 *|barkeeper||||||1049|3137|15|1|0|0|2|2|1|1|0|0|0|0|0 *|tinkerguildmaster||||||1040|3242|0|1|0|0|2|2|1|1|0|0|0|0|0 *|tanner||||||1045|3163|15|1|0|0|0|0|1|1|0|0|0|0|0 @@ -492,7 +492,7 @@ *|blacksmith||||||1953|2550|0|1|0|0|0|0|1|1|0|0|0|0|0 *|warriorguildmaster||||||1960|2559|20|1|0|0|2|2|1|1|0|0|0|0|0 *|jeweler||||||1969|2617|5|1|0|0|2|2|1|1|0|0|0|0|0 -*|bull||||||1966|2639|5|1|5|10|1|1|1|1|0|0|0|0|0 +*|bull||||||1966|2639|5|1|0|0|1|1|1|1|0|0|0|0|0 *|butcher||||||1972|2635|5|1|0|0|0|0|1|1|0|0|0|0|0 *|cobbler||||||1999|2634|5|1|0|0|2|2|1|1|0|0|0|0|0 *|carpenter||||||1995|2648|5|1|0|0|0|0|1|1|0|0|0|0|0 @@ -529,7 +529,7 @@ *|healer||||||1581|846|0|1|0|0|2|2|1|1|0|0|0|0|0 *|lumberjack||||||1511|887|0|1|0|0|0|0|1|1|0|0|0|0|0 *|tailor||||||1389|965|0|1|0|0|0|0|1|1|0|0|0|0|0 -*|sheep||||||1393|947|0|1|5|10|10|4|1|10|0|0|0|0|0 +*|sheep||||||1393|947|0|1|0|0|10|4|1|10|0|0|0|0|0 *|weaver||||||1386|961|0|1|0|0|0|0|1|1|0|0|0|0|0 *|lumberjack||||||1499|900|0|1|0|0|0|0|1|1|0|0|0|0|0 *|alchemist||||||1546|895|0|1|0|0|0|0|1|1|0|0|0|0|0 diff --git a/Scripts/Commands/Handlers.cs b/Scripts/Commands/Handlers.cs index 9a15e0f..2c136fd 100644 --- a/Scripts/Commands/Handlers.cs +++ b/Scripts/Commands/Handlers.cs @@ -216,7 +216,7 @@ namespace Server.Commands } } - [Usage( "ClearFacet" )] + /*[Usage( "ClearFacet" )] [Description( "Deletes all items and mobiles in your facet. Players and their inventory will not be deleted." )] public static void ClearFacet_OnCommand( CommandEventArgs e ) { @@ -252,6 +252,64 @@ namespace Server.Commands { e.Mobile.SendMessage( "There were no objects found to delete." ); } + }*/ + + [Usage( "ClearFacet [mapID]" )] + [Description( "Deletes all items and mobiles in your facet, or a specific facet if an ID is provided. Players and their inventory will not be deleted." )] + public static void ClearFacet_OnCommand( CommandEventArgs e ) + { + Map map = e.Mobile.Map; + + if ( e.Length > 0 ) + { + if ( int.TryParse( e.Arguments[0], out int mapIndex ) ) + { + if ( mapIndex >= 0 && mapIndex < Map.Maps.Length && Map.Maps[mapIndex] != null && Map.Maps[mapIndex] != Map.Internal ) + { + map = Map.Maps[mapIndex]; + } + else + { + e.Mobile.SendMessage( "Invalid map ID. Please choose a valid active map (usually 0-4)." ); + return; + } + } + else + { + e.Mobile.SendMessage( "Invalid format. You must specify a map number. Example: [ClearFacet 2" ); + return; + } + } + if ( map == null || map == Map.Internal ) + { + e.Mobile.SendMessage( "You may not run that command here." ); + return; + } + + List list = new List(); + + foreach ( Item item in World.Items.Values ) + if ( item.Map == map && item.Parent == null ) + list.Add( item ); + + foreach ( Mobile m in World.Mobiles.Values ) + if ( m.Map == map && !m.Player ) + list.Add( m ); + + if ( list.Count > 0 ) + { + CommandLogging.WriteLine( e.Mobile, "{0} {1} starting facet clear of {2} ({3} object{4})", e.Mobile.AccessLevel, CommandLogging.Format( e.Mobile ), map, list.Count, list.Count == 1 ? "" : "s" ); + + e.Mobile.SendGump( + new WarningGump( 1060635, 30720, + String.Format( "You are about to delete {0} object{1} from {2}. Do you really wish to continue?", + list.Count, list.Count == 1 ? "" : "s", map.Name ), + 0xFFC000, 360, 260, new WarningGumpCallback( DeleteList_Callback ), list ) ); + } + else + { + e.Mobile.SendMessage( "There were no objects found to delete on {0}.", map.Name ); + } } [Usage( "GetFollowers" )] @@ -1015,4 +1073,4 @@ namespace Server.Commands e.Mobile.SendMessage( "Items: {0}", World.Items.Count ); } } -} \ No newline at end of file +} diff --git a/SpawnerReadme.txt b/SpawnerReadme.txt new file mode 100644 index 0000000..4c52823 --- /dev/null +++ b/SpawnerReadme.txt @@ -0,0 +1,18 @@ +{0}||||||{1}|{2}|{3}|{4}|{5}|{6}|{7}|{8}|1|{9}|0|0|0|0|0 +*|miner||||||4431|374|0|2|0|0|0|0|1|1|0|0|0|0|0 + +0 - Name +1 - x coordinate +2 - y coordinate +3 - z coordinate +4 - MapID +5 - Min Spawn Delay +6 - Max Spawn Delay +7 - Walk range +8 - Home range +9 - Max Count + +If a spawner is empty or inactive, the exporter will append a status note to the very beginning of the line: +## Void: *|... - The spawner has no creatures assigned to it. +## Inactive: *|... - The spawner has creatures assigned but is currently turned off +(Running = false).