diff --git a/Data/Config/Regions.xml b/Data/Config/Regions.xml
index 834e950..1291e91 100644
--- a/Data/Config/Regions.xml
+++ b/Data/Config/Regions.xml
@@ -195,14 +195,23 @@
+
+
+
+
+
+
- p
+
+
+
+
diff --git a/Data/Decoration/teleporters.cfg b/Data/Decoration/teleporters.cfg
index f80a10c..0e760f1 100644
--- a/Data/Decoration/teleporters.cfg
+++ b/Data/Decoration/teleporters.cfg
@@ -47,10 +47,9 @@ Vaelen 2394 84 -18 Vaelen 2583 298 17 true
Vaelen 2394 85 -18 Vaelen 2583 299 17 true
# Dune Oasis
# Entrance
-Vaelen 1177 760 25 Vaelen 3361 192 5 true
-Vaelen 1178 760 25 Vaelen 3362 192 5 true
-Vaelen 1177 759 25 Vaelen 3361 192 5 false
-Vaelen 1178 759 25 Vaelen 3362 192 5 false
+Vaelen 869 1726 -18 Vaelen 3361 192 5 true
+Vaelen 870 1726 -18 Vaelen 3362 192 5 true
+Vaelen 871 1726 -18 Vaelen 3361 192 5 false
# Level 2
Vaelen 3282 134 -18 Vaelen 3380 322 17 true
Vaelen 3282 135 -18 Vaelen 3380 323 17 true
@@ -145,7 +144,16 @@ Vaelen 5023 521 0 Vaelen 5154 377 0 true
Vaelen 5023 522 0 Vaelen 5154 378 0 true
# Bedroom Chamber
Vaelen 4956 367 -10 Vaelen 4929 417 0 true
-## Small Underground Keep
+## Dreadfall Keep Dungeon
+# Level 1
+Vaelen 1885 613 0 Vaelen 3916 504 22 true
+Vaelen 1886 613 0 Vaelen 3917 504 22 true
+Vaelen 3918 504 22 Vaelen 1886 613 0 false
+## Eclipse Sanctum
+# Level 1
+Vaelen 251 1754 -18 Vaelen 3756 583 37 true
+Vaelen 251 1755 -18 Vaelen 3756 584 37 true
+## Deepwatch Keep
# Level 1
Vaelen 1401 1319 4 Vaelen 5260 412 0 true
Vaelen 1401 1320 4 Vaelen 5260 413 0 true
@@ -155,3 +163,7 @@ Vaelen 5233 464 -18 Vaelen 5329 479 17 true
Vaelen 5234 464 -18 Vaelen 5330 479 17 true
Vaelen 5234 381 -18 Vaelen 5330 396 17 true
Vaelen 5235 381 -18 Vaelen 5331 396 17 true
+## Eclipse Sanctum
+# Level 1
+Vaelen 250 630 19 Vaelen 4659 445 12 true
+Vaelen 251 630 19 Vaelen 4660 445 12 true
diff --git a/Data/Spawns/chests.map b/Data/Spawns/chests.map
new file mode 100644
index 0000000..17981b4
--- /dev/null
+++ b/Data/Spawns/chests.map
@@ -0,0 +1,26 @@
+## Whispering Depths
+# Level 1
+*|treasurechestlevel1||||||2812|85|0|1|5|10|-1|1|1|1|0|0|0|0|0
+*|treasurechestlevel1:treasurechestlevel2||||||2738|195|2|1|5|10|-1|0|1|1|0|0|0|0|0
+*|treasurechestlevel1:treasurechestlevel2||||||2796|275|0|1|5|10|-1|1|1|1|0|0|0|0|0
+*|treasurechestlevel1||||||2761|156|0|1|5|10|-1|0|1|1|0|0|0|0|0
+*|treasurechestlevel1:treasurechestlevel2||||||2776|160|0|1|5|10|-1|0|1|1|0|0|0|0|0
+*|treasurechestlevel1:treasurechestlevel2||||||2793|237|0|1|5|10|-1|1|1|1|0|0|0|0|0
+*|treasurechestlevel1:treasurechestlevel2||||||2785|271|0|1|5|10|-1|2|1|2|0|0|0|0|0
+*|treasurechestlevel1||||||2737|207|0|1|5|10|-1|1|1|1|0|0|0|0|0
+*|treasurechestlevel1||||||2728|202|0|1|5|10|-1|3|1|1|0|0|0|0|0
+*|treasurechestlevel1:treasurechestlevel2||||||144|139|0|1|5|10|-1|1|1|1|0|0|0|0|0
+*|treasurechestlevel1:treasurechestlevel2||||||2702|129|3|1|5|10|-1|1|1|1|0|0|0|0|0
+*|treasurechestlevel1||||||2749|124|3|1|5|10|-1|1|1|1|0|0|0|0|0
+*|treasurechestlevel1||||||2730|134|1|1|5|10|-1|1|1|1|0|0|0|0|0
+*|treasurechestlevel1:treasurechestlevel2||||||2820|271|0|1|5|10|-1|1|1|1|0|0|0|0|0
+*|treasurechestlevel1||||||2763|103|2|1|5|10|-1|1|1|1|0|0|0|0|0
+*|treasurechestlevel1:treasurechestlevel2||||||2829|230|2|1|5|10|-1|1|1|1|0|0|0|0|0
+*|treasurechestlevel1||||||2785|89|6|1|5|10|-1|1|1|1|0|0|0|0|0
+*|treasurechestlevel1||||||2735|157|0|1|5|10|-1|1|1|1|0|0|0|0|0
+*|treasurechestlevel1||||||2760|174|0|1|5|10|-1|1|1|2|0|0|0|0|0
+*|treasurechestlevel1||||||2778|116|0|1|5|10|-1|10|1|2|0|0|0|0|0
+*|treasurechestlevel1||||||2746|199|0|1|5|10|-1|1|1|1|0|0|0|0|0
+*|treasurechestlevel1||||||2830|85|0|1|5|10|-1|1|1|1|0|0|0|0|0
+*|treasurechestlevel1||||||2805|118|1|1|5|10|-1|8|1|2|0|0|0|0|0
+# Level 2
diff --git a/Data/Spawns/dungeons.map b/Data/Spawns/dungeons.map
new file mode 100644
index 0000000..a12c716
--- /dev/null
+++ b/Data/Spawns/dungeons.map
@@ -0,0 +1,55 @@
+## Whispering Depths
+# Level 2
+*|ogre||||||2794|236|0|1|5|10|-1|4|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2800|144|1|1|5|10|-1|8|1|2|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||71|129|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2827|86|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2823|93|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2727|138|1|1|5|10|-1|8|1|2|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2814|86|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2782|105|0|1|5|10|-1|8|1|2|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2800|112|0|1|5|10|-1|8|1|2|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2712|129|1|1|5|10|-1|8|1|2|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2729|201|0|1|5|10|-1|2|1|2|0|0|0|0|0
+*|ettin||||||2828|227|0|1|5|10|-1|4|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2807|179|0|1|5|10|-1|8|1|2|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2743|124|1|1|5|10|-1|8|1|2|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2794|163|2|1|5|10|-1|8|1|2|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2749|201|0|1|5|10|-1|2|1|2|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2764|118|3|1|5|10|-1|8|1|2|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2740|214|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2819|125|0|1|5|10|-1|8|1|2|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2721|157|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2778|158|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2739|197|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2738|180|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2818|211|1|1|5|10|-1|8|1|2|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2807|246|2|1|5|10|-1|8|1|2|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2721|175|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2746|174|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|troll||||||2822|268|0|1|5|10|-1|4|1|1|0|0|0|0|0
+*|brigand||||||2793|277|0|1|5|10|-1|10|1|3|0|0|0|0|0
+*|giantblackwidow||||||2776|254|1|1|5|10|-1|4|1|1|0|0|0|0|0
+*|troll||||||2778|187|0|1|5|10|-1|4|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2757|187|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2746|164|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2757|173|0|1|5|10|-1|2|1|2|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2736|167|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2737|159|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|mongbat:slime:giantspider||||||2813|159|0|1|5|10|-1|4|1|1|0|0|0|0|0
+*|brigand||||||2768|215|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2763|158|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2768|187|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2828|144|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2768|195|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2769|204|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2778|200|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2836|158|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|giantspider||||||2828|145|0|1|5|10|-1|4|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2845|168|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|giantspider||||||2828|158|0|1|5|10|-1|4|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2812|158|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2836|168|0|1|5|10|-1|2|1|1|0|0|0|0|0
+*|ettin||||||2827|167|0|1|5|10|-1|4|1|1|0|0|0|0|0
+*|Lizardman:Ratmanmage:brigand:giantspider:orc:ratman:ratmanarcher:evilmage:giantserpent:slime||||||2833|180|0|1|5|10|-1|2|1|2|0|0|0|0|0
+# Level 2
diff --git a/Data/Spawns/npcs.map b/Data/Spawns/npcs.map
new file mode 100644
index 0000000..e69de29
diff --git a/Data/Spawns/townanimals.map b/Data/Spawns/townanimals.map
index 295cb69..e4b161f 100644
--- a/Data/Spawns/townanimals.map
+++ b/Data/Spawns/townanimals.map
@@ -15,7 +15,7 @@
*|bird|cat|dog|rat|||324|1332|0|1|5|10|-1|30|1|10|3|2|2|0|0
*|bird|cat|dog|rat|||352|1332|0|1|5|10|-1|30|1|10|3|2|2|0|0
*|bird|cat|dog|rat|||382|1332|0|1|5|10|-1|30|1|10|3|2|2|0|0
-*|cow|bull|horse|chicken|llama|sheep|363|1347|0|1|5|10|-1|5|1|1|1|1|3|1|0
+*|cow|bull|horse|chicken|llama|sheep|358|1342|0|1|5|10|-1|5|1|1|1|1|3|1|0
*|cow|bull|horse|chicken|llama|sheep|358|1354|0|1|5|10|-1|5|1|1|1|1|3|1|0
*|cow|bull|horse|chicken|llama|sheep|372|1344|0|1|5|10|-1|5|1|1|1|1|3|1|0
*|bird|cat|dog|rat|||393|936|0|1|5|10|-1|25|1|15|3|3|5|0|0
diff --git a/Data/Spawns/traps.map b/Data/Spawns/traps.map
new file mode 100644
index 0000000..2ceed58
--- /dev/null
+++ b/Data/Spawns/traps.map
@@ -0,0 +1 @@
+*|mushroomtrap||||||2793|263|1|1|5|10|-1|4|1|10|0|0|0|0|0
diff --git a/Scripts/Commands/BuildWorld.cs b/Scripts/Commands/BuildWorld.cs
index 4dc1c53..6501b4f 100644
--- a/Scripts/Commands/BuildWorld.cs
+++ b/Scripts/Commands/BuildWorld.cs
@@ -34,19 +34,16 @@ namespace Server.Scripts.Commands
m.SendGump(new BuildWorldGump());
}
- // ==============================================================================
- // --- MODULAR GENERATION METHODS ---
- // ==============================================================================
-
public static void DoWipe( Mobile m )
{
- m.SendMessage( 38, "Removing Premium Spawners and wild mobs... This may take a moment." );
+ m.SendMessage( 38, "Removing ALL Spawners and wild mobs... This may take a moment." );
Console.WriteLine( "Removing Spawners..." );
ArrayList targets = new ArrayList();
foreach ( Item item in World.Items.Values )
{
- if ( item is PremiumSpawner )
+ // Widened net: Catches Premium, Standard, and Proxy Base spawners
+ if ( item is PremiumSpawner || item is Spawner || item is BaseSpawner )
{
targets.Add( item );
}
@@ -77,7 +74,7 @@ namespace Server.Scripts.Commands
mob.Delete();
}
- m.SendMessage( 63, "Wipe Complete: Premium Spawners and wild mobs deleted!" );
+ m.SendMessage( 63, "Wipe Complete: All Spawners and wild mobs deleted!" );
}
public static void DoDecorate( Mobile m )
@@ -95,19 +92,28 @@ namespace Server.Scripts.Commands
public static void DoSpawns( Mobile m )
{
m.SendMessage( 38, "Parsing map files and generating spawners..." );
-
+
Console.WriteLine( "Spawning Overworld...");
Server.SpawnGenerator.Parse( m, "overworld.map" );
-
+
Console.WriteLine( "Spawning Town Animals...");
Server.SpawnGenerator.Parse( m, "townanimals.map" );
-
+
Console.WriteLine( "Spawning Camps..." );
Server.SpawnGenerator.Parse( m, "camps.map" );
-
+
Console.WriteLine( "Spawning NPC's..." );
+ Server.SpawnGenerator.Parse( m, "npcs.map" );
+
Console.WriteLine( "Spawning Dungeons..." );
+ Server.SpawnGenerator.Parse( m, "dungeons.map" );
+ Console.WriteLine( "Spawning Dungeon Chests..." );
+ Server.SpawnGenerator.Parse( m, "chests.map" );
+
+ Console.WriteLine( "Spawining Dungeon Floor Traps..." );
+ Server.SpawnGenerator.Parse( m, "traps.map" );
+
m.SendMessage( 63, "Map parsing complete and world populated!" );
}
}
@@ -189,6 +195,7 @@ namespace Server.Scripts.Commands
break;
case 4: // Spawns Only
+ BuildWorld.DoWipe( m );
BuildWorld.DoSpawns( m );
m.SendGump(new BuildWorldGump());
break;