#W# Shame is done.

This commit is contained in:
WarrentyExpired 2026-08-03 11:30:46 -04:00
parent 078e598713
commit ca2e339bf3
4 changed files with 555 additions and 46 deletions

View file

@ -1279,3 +1279,333 @@ lootbox3 3650 (Hue=0; Name=wooden chest)
lootcrate3 1605 (Hue=0; Name=crate)
288 1124 22
lootcrate3 1605 (Hue=0; Name=crate)
916 71 10
lootbox2 1517 (Hue=2413; Name=wooden chest)
808 67 0
lootcrate1 3645 (Hue=0; Name=crate)
601 116 -10
lootchest1 3708 (Hue=0; Name=metal chest)
560 134 10
lootbox1 1325 (Hue=2413; Name=wooden chest)
544 138 20
lootbox1 1325 (Hue=2413; Name=wooden chest)
544 109 20
lootcrate1 3647 (Hue=0; Name=crate)
566 90 30
lootcrate2 3644 (Hue=0; Name=crate)
870 64 0
lootchest1 2475 (Hue=0; Name=metal chest)
651 96 20
lootchest2 3669 (Hue=0; Name=metal chest)
627 144 34
lootcrate1 3646 (Hue=0; Name=crate)
578 154 0
lootcrate1 3647 (Hue=0; Name=crate)
577 155 0
lootcrate1 3646 (Hue=0; Name=crate)
594 148 20
lootcrate1 3645 (Hue=0; Name=crate)
560 106 -21
lootcrate1 3646 (Hue=0; Name=crate)
580 89 10
lootcrate1 3645 (Hue=0; Name=crate)
578 92 10
lootcrate1 3646 (Hue=0; Name=crate)
602 117 -10
lootbox4 1153 (Hue=0; Name=wooden chest)
600 83 -11
lootcrate1 3646 (Hue=0; Name=crate)
544 61 30
lootchest1 3708 (Hue=0; Name=metal chest)
544 60 30
lootbox1 1325 (Hue=2413; Name=wooden chest)
568 69 20
lootcrate1 3645 (Hue=0; Name=crate)
566 89 30
lootcrate2 3644 (Hue=0; Name=crate)
904 56 9
lootcrate1 3646 (Hue=0; Name=crate)
906 73 10
lootchest2 3669 (Hue=0; Name=metal chest)
906 77 10
lootchest2 3669 (Hue=0; Name=metal chest)
869 80 0
lootcrate2 3644 (Hue=0; Name=crate)
816 110 1
lootchest4 3666 (Hue=0; Name=metal chest)
822 93 0
lootcrate1 3646 (Hue=0; Name=crate)
816 109 1
lootchest2 3668 (Hue=0; Name=metal chest)
825 122 0
lootchest2 3668 (Hue=0; Name=metal chest)
871 114 0
lootbox2 1517 (Hue=2413; Name=wooden chest)
917 88 5
lootcrate4 3737 (Hue=0; Name=crate)
867 164 3
lootchest3 3648 (Hue=0; Name=metal chest)
846 162 3
lootchest4 3666 (Hue=0; Name=metal chest)
820 157 0
lootcrate4 3737 (Hue=0; Name=crate)
818 138 0
lootbox3 3651 (Hue=0; Name=wooden chest)
857 130 0
lootbox3 3651 (Hue=0; Name=wooden chest)
842 140 3
lootcrate3 1605 (Hue=0; Name=crate)
635 300 20
lootchest3 3649 (Hue=0; Name=metal chest)
671 288 10
lootbox3 3650 (Hue=0; Name=wooden chest)
681 308 10
lootbox3 3651 (Hue=0; Name=wooden chest)
704 296 -5
lootcrate3 1605 (Hue=0; Name=crate)
688 340 0
lootcrate2 3644 (Hue=0; Name=crate)
688 339 0
lootchest3 3648 (Hue=0; Name=metal chest)
681 384 0
lootbox4 1153 (Hue=0; Name=wooden chest)
708 374 0
lootcrate4 3737 (Hue=0; Name=crate)
646 392 0
lootcrate3 1605 (Hue=0; Name=crate)
648 381 0
lootcrate2 3644 (Hue=0; Name=crate)
647 382 0
lootcrate3 1605 (Hue=0; Name=crate)
646 382 0
lootchest3 3648 (Hue=0; Name=metal chest)
659 355 0
lootcrate3 3647 (Hue=0; Name=crate)
670 353 6
lootcrate3 3647 (Hue=0; Name=crate)
672 355 22
lootcrate3 3647 (Hue=0; Name=crate)
661 351 22
lootchest3 3648 (Hue=0; Name=metal chest)
664 349 22
lootbox4 1160 (Hue=0; Name=wooden chest)
671 337 0
lootchest4 3667 (Hue=0; Name=metal chest)
674 337 0
lootchest3 3648 (Hue=0; Name=metal chest)
575 397 0
lootbox3 3651 (Hue=0; Name=wooden chest)
578 393 0
lootbox4 1153 (Hue=0; Name=wooden chest)
531 385 10
lootcrate3 1605 (Hue=0; Name=crate)
510 394 10
lootbox3 3650 (Hue=0; Name=wooden chest)
489 388 10
lootcrate3 1605 (Hue=0; Name=crate)
473 392 10
lootchest4 3666 (Hue=0; Name=metal chest)
472 299 19
lootchest4 3666 (Hue=0; Name=metal chest)
491 347 -1
lootcrate3 1605 (Hue=0; Name=crate)
489 342 0
lootcrate2 3644 (Hue=0; Name=crate)
489 343 0
lootcrate2 3644 (Hue=0; Name=crate)
490 344 0
lootcrate3 1605 (Hue=0; Name=crate)
1067 338 0
lootcrate3 1605 (Hue=0; Name=crate)
1061 372 0
lootchest4 3666 (Hue=0; Name=metal chest)
1074 387 10
lootbox3 3650 (Hue=0; Name=wooden chest)
1067 393 10
lootbox3 3651 (Hue=0; Name=wooden chest)
1031 385 10
lootbox3 3650 (Hue=0; Name=wooden chest)
1017 358 0
lootcrate3 1605 (Hue=0; Name=crate)
1014 359 0
lootbox2 1517 (Hue=2413; Name=wooden chest)
1022 363 0
lootcrate4 3737 (Hue=0; Name=crate)
984 389 0
lootcrate3 1605 (Hue=0; Name=crate)
968 387 0
lootchest3 3648 (Hue=0; Name=metal chest)
948 370 0
lootchest3 3648 (Hue=0; Name=metal chest)
947 378 0
lootchest3 3649 (Hue=0; Name=metal chest)
959 313 0
lootcrate3 1605 (Hue=0; Name=crate)
994 314 0
lootcrate2 3644 (Hue=0; Name=crate)
994 315 0
lootcrate3 1605 (Hue=0; Name=crate)
984 326 0
lootcrate3 1605 (Hue=0; Name=crate)
1006 288 1
lootbox2 1517 (Hue=2413; Name=wooden chest)
1010 288 0
lootbox4 1153 (Hue=0; Name=wooden chest)
902 289 10
lootcrate4 3737 (Hue=0; Name=crate)
899 301 10
lootchest4 3666 (Hue=0; Name=metal chest)
898 294 10
lootbox3 3650 (Hue=0; Name=wooden chest)
857 311 0
lootchest3 3648 (Hue=0; Name=metal chest)
860 289 -10
lootcrate3 1605 (Hue=0; Name=crate)
873 294 -10
lootchest3 3649 (Hue=0; Name=metal chest)
933 368 0
lootbox2 1517 (Hue=2413; Name=wooden chest)
932 368 0
lootchest4 3666 (Hue=0; Name=metal chest)
923 355 0
lootbox3 3650 (Hue=0; Name=wooden chest)
897 365 0
lootcrate3 1605 (Hue=0; Name=crate)
897 362 0
lootcrate3 1605 (Hue=0; Name=crate)
896 341 0
lootcrate3 1605 (Hue=0; Name=crate)
913 336 0
lootcrate2 3644 (Hue=0; Name=crate)
918 342 0
lootcrate2 3644 (Hue=0; Name=crate)
900 336 0
lootcrate4 3737 (Hue=0; Name=crate)
940 332 0
lootcrate3 1605 (Hue=0; Name=crate)
866 359 0
lootcrate2 3644 (Hue=0; Name=crate)
867 359 0
lootchest3 3648 (Hue=0; Name=metal chest)
841 380 10
lootchest4 3666 (Hue=0; Name=metal chest)
862 395 10
lootcrate3 1605 (Hue=0; Name=crate)
862 397 10
lootcrate3 1605 (Hue=0; Name=crate)
872 391 1
lootbox2 1517 (Hue=2413; Name=wooden chest)
879 398 0
lootbox2 1517 (Hue=2413; Name=wooden chest)
880 398 0

View file

@ -1,5 +1,80 @@
BookOfLore 3735
867 372 5
ChestOfSecrets 2129
ChestOfSecrets 2192
937 328 5
MetalDoor 1653 (Facing=WestCW)
628 335 0
MetalDoor 1655 (Facing=EastCCW)
605 330 0
MetalDoor 1653 (Facing=WestCW)
595 334 0
MetalDoor 1655 (Facing=EastCCW)
596 334 0
MetalDoor 1661 (Facing=SouthCW)
592 331 0
MetalDoor 1663 (Facing=NorthCCW)
592 330 0
MetalDoor 1653 (Facing=WestCCW)
594 319 0
MetalDoor 1653 (Facing=WestCW)
523 342 0
MetalDoor 1661 (Facing=SouthCW)
529 346 0
MetalDoor 1663 (Facing=NorthCW)
529 345 22
MetalDoor 1653 (Facing=WestCCW)
522 342 22
MetalDoor 1663 (Facing=NorthCW)
528 339 22
MetalDoor 1653 (Facing=WestCCW)
533 335 22
MetalDoor 1661 (Facing=SouthCW)
531 332 0
MetalDoor 1663 (Facing=NorthCCW)
530 331 22
MetalDoor 1653 (Facing=WestCW)
658 350 0
MetalDoor 1661 (Facing=SouthCW)
666 354 0
MetalDoor 1661 (Facing=SouthCCW)
667 354 22
MetalDoor 1653 (Facing=WestCCW)
659 350 22
MetalDoor 1663 (Facing=NorthCCW)
663 347 22
MetalDoor 1653 (Facing=WestCCW)
669 343 22
MetalDoor 1663 (Facing=NorthCW)
665 340 22
MetalDoor 1663 (Facing=NorthCCW)
667 339 0
MetalDoor 1661 (Facing=SouthCCW)
1023 331 0
MetalDoor 1663 (Facing=NorthCW)
1023 330 0

View file

@ -207,6 +207,7 @@
*|waterelemental||||||830|137|0|2|5|10|-1|4|1|1|0|0|0|0|0
*|seaserpent||||||813|127|-5|2|5|10|-1|8|1|1|0|0|0|0|0
*|waterelemental||||||853|133|0|2|5|10|-1|4|1|1|0|0|0|0|0
*|mudelemental||||||904|66|10|2|5|10|4|4|1|1|0|0|0|0|0
## SHAME LEVEL 3
*|fireelemental||||||613|292|20|2|5|10|-1|4|1|1|0|0|0|0|0
*|airelemental||||||619|307|20|2|5|10|-1|4|1|1|0|0|0|0|0
@ -265,6 +266,43 @@
*|airelemental||||||554|290|20|2|5|10|-1|4|1|1|0|0|0|0|0
*|earthelemental||||||568|291|20|2|5|10|-1|4|1|1|0|0|0|0|0
## SHAME LEVEL 4
*|fireelemental:airelemental:waterelemental||||||1075|316|-10|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:waterelemental:airelemental||||||1068|339|0|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:waterelemental:airelemental||||||1064|372|0|2|5|10|4|4|1|1|0|0|0|0|0
*|acidelemental:poisonelemental:fireelemental||||||1066|390|10|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:waterelemental:airelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||1047|388|10|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:waterelemental:airelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||1018|394|10|2|5|10|4|4|1|1|0|0|0|0|0
*|eldergazer||||||1017|361|0|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:waterelemental:airelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||991|395|0|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:waterelemental:airelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||971|386|0|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:waterelemental:airelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||953|374|0|2|5|10|4|4|1|1|0|0|0|0|0
*|bloodelementalelder||||||959|338|0|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:waterelemental:airelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||971|318|0|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:waterelemental:airelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||984|303|0|2|5|10|4|4|1|1|0|0|0|0|0
*|waterelemental||||||1002|316|0|2|5|10|6|6|1|2|0|0|0|0|0
*|fireelemental||||||1009|291|0|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:waterelemental:airelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||1027|307|0|2|5|10|4|4|1|1|0|0|0|0|0
*|evilmage||||||1037|330|0|2|5|10|7|7|1|2|0|0|0|0|0
*|evilmagelord||||||1020|331|22|2|5|10|0|0|1|1|0|0|0|0|0
*|earthelemental:mudelemental||||||1058|319|0|2|5|10|6|6|1|2|0|0|0|0|0
*|fireelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||928|292|0|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||902|293|10|2|5|10|7|7|1|2|0|0|0|0|0
*|waterelementalelder||||||912|316|0|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||891|314|0|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||875|310|0|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||863|292|-10|2|5|10|8|8|1|2|0|0|0|0|0
*|poisonelemental||||||859|332|0|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||852|362|0|2|5|10|4|4|1|1|0|0|0|0|0
*|waterelementalelder||||||872|372|0|2|5|10|4|4|1|2|0|0|0|0|0
*|poisonelementalelder||||||858|395|10|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||883|393|0|2|5|10|8|8|1|2|0|0|0|0|0
*|fireelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||907|388|0|2|5|10|4|4|1|1|0|0|0|0|0
*|fireelemental:bloodelemental:lightningelemental:magmaelemental:meteorelemental||||||931|393|0|2|5|10|4|4|1|1|0|0|0|0|0
*|deepseaserpent||||||928|343|-5|2|5|10|3|3|1|1|0|0|0|0|0
*|deepseaserpent||||||899|351|-5|2|5|10|4|4|1|1|0|0|0|0|0
*|kraken||||||911|351|-5|2|5|10|4|4|1|1|0|0|0|0|0
*|deepseaserpent||||||999|363|-5|2|5|10|4|4|1|1|0|0|0|0|0
*|kraken||||||1008|336|-5|2|5|10|4|4|1|1|0|0|0|0|0
## Despise Level 1
*|lizardman||||||585|1107|61|2|5|10|-1|10|1|2|0|0|0|0|0
*|lizardman||||||500|1112|62|2|5|10|-1|10|1|2|0|0|0|0|0

View file

@ -11,6 +11,7 @@ using System.Collections.Generic;
using System.Collections;
using System.IO;
using System;
using System.Reflection; // Added to access private variables inside BaseSpawner
namespace Server.Scripts.Commands
{
@ -25,6 +26,67 @@ namespace Server.Scripts.Commands
[Description("This cleans up the world and rebuilds it, leaving players intact.")]
public static void BuildWorlds( CommandEventArgs e )
{
// ------- SURGICAL SPAWN SWEEP START -------
e.Mobile.SendMessage( 38, "Sweeping the world for old spawners and orphaned tracking mobs... This may take a moment." );
int spawnerCount = 0;
int mobCount = 0;
List<Item> spawnersToDelete = new List<Item>();
List<Mobile> mobsToDelete = new List<Mobile>();
foreach ( Item item in World.Items.Values )
{
// 1. Catch standard spawners
if ( item is Spawner )
{
spawnersToDelete.Add( item );
}
// 2. Catch custom BaseSpawners (SpawnAnimals, SpawnBirds, Spawn_A, etc.)
else if ( item is BaseSpawner )
{
spawnersToDelete.Add( item );
// Use Reflection to grab the private "m_TrackedMobile" field
FieldInfo field = typeof(BaseSpawner).GetField( "m_TrackedMobile", BindingFlags.NonPublic | BindingFlags.Instance );
if ( field != null )
{
Mobile trackedMob = field.GetValue( item ) as Mobile;
// If the spawner is tracking a living mob, mark it for deletion
if ( trackedMob != null && !trackedMob.Deleted )
{
mobsToDelete.Add( trackedMob );
}
}
}
}
// Delete the thousands of orphaned animals/mobs first
foreach ( Mobile m in mobsToDelete )
{
if ( !m.Deleted )
{
m.Delete();
mobCount++;
}
}
// Delete the hidden proxy spawners second
foreach ( Item item in spawnersToDelete )
{
if ( !item.Deleted )
{
item.Delete();
spawnerCount++;
}
}
e.Mobile.SendMessage( 63, "Wipe Complete: {0} spawners and {1} tracked mobs deleted! Rebuilding...", spawnerCount, mobCount );
// ------- SURGICAL SPAWN SWEEP END -------
// Original Generation Commands
Server.Commands.Decorate.Decorate_OnCommand( e );
Server.Misc.GenTeleporters.GenTeleporters_OnCommand( e );
Server.SpawnGenerator.Parse( e.Mobile, "towns.map" );
@ -35,11 +97,15 @@ namespace Server.Scripts.Commands
Server.SpawnGenerator.Parse( e.Mobile, "mazes.map" );
Server.SpawnGenerator.Parse( e.Mobile, "danger.map" );
Server.SpawnGenerator.Parse( e.Mobile, "forts.map" );
if ( Server.Misc.Settings.PopulateTowns() ){ Server.SpawnGenerator.Parse( e.Mobile, "citizens.map" ); }
if ( Server.Misc.Settings.PopulateTowns() )
{
Server.SpawnGenerator.Parse( e.Mobile, "citizens.map" );
}
Server.Regions.SpawnEntry.RespawnAllRegions_OnCommand( e );
e.Mobile.SendMessage( "The world has been rebuilt." );
e.Mobile.SendMessage( 63, "The world has been rebuilt." );
}
}
}