#W# Lots of region work. Also got the [map command to populate on discovery.

This commit is contained in:
WarrentyExpired 2026-07-07 20:10:47 -04:00
parent 5e66f00c8c
commit 926cc4e0f3
3 changed files with 192 additions and 124 deletions

View file

@ -29,7 +29,7 @@ namespace Server.Regions
private string m_RuneName;
private bool m_NoLogoutDelay;
private int m_MapID;
private SpawnEntry[] m_Spawns;
private SpawnZLevel m_SpawnZLevel;
private bool m_ExcludeFromParentSpawns;
@ -135,6 +135,11 @@ namespace Server.Regions
Effects.SendLocationEffect( m.Location, m.Map, 0x35B2, 16 );
m.Delete();
}
if ( m is PlayerMobile && m_MapID > 0 )
{
Server.Misc.MapFunctions.AddLocations( m, m_MapID );
m.SendMessage( "You have discovered a new location!" );
}
}
public override void OnExit( Mobile m )
@ -516,7 +521,14 @@ namespace Server.Regions
{
ReadString( xml["rune"], "name", ref m_RuneName, false );
bool logoutDelayActive = true;
string mapIdString = xml.GetAttribute( "mapId" );
if ( !String.IsNullOrEmpty( mapIdString ) )
{
try { m_MapID = XmlConvert.ToInt32( mapIdString ); }
catch {}
}
bool logoutDelayActive = true;
ReadBoolean( xml["logoutDelay"], "active", ref logoutDelayActive, false );
m_NoLogoutDelay = !logoutDelayActive;

View file

@ -114,104 +114,104 @@ namespace Server.Misc
int hue = 0;
int s = 0;
if ( loc == nxt ){ name = "Britain"; x=2169; y=1579; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Yew"; x=1534; y=863; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Prison"; x=1003; y=969; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Minoc"; x=2879; y=486; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Skara Brae"; d = 2; x=738; y=1871; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Jhelom"; x=1065; y=3157; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Trinsic"; x=2029; y=2630; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Paws"; x=1983; y=2163; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Buccaneer's Den"; x=2644; y=2213; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Magincia"; x=3429; y=2427; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Moonglow"; x=4153; y=1982; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Lyceum"; d = 1; x=3865; y=1627; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Zoo"; x=4048; y=1681; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Britain"; x=2169; y=1579; } nxt = Pin( x, nxt ); //1
if ( loc == nxt ){ name = "Yew"; x=1534; y=863; } nxt = Pin( x, nxt ); //2
if ( loc == nxt ){ name = "Prison"; x=1003; y=969; } nxt = Pin( x, nxt ); //3
if ( loc == nxt ){ name = "Minoc"; x=2879; y=486; } nxt = Pin( x, nxt ); //4
if ( loc == nxt ){ name = "Skara Brae"; d = 2; x=738; y=1871; } nxt = Pin( x, nxt ); //5
if ( loc == nxt ){ name = "Jhelom"; x=1065; y=3157; } nxt = Pin( x, nxt ); //6
if ( loc == nxt ){ name = "Trinsic"; x=2029; y=2630; } nxt = Pin( x, nxt ); //7
if ( loc == nxt ){ name = "Paws"; x=1983; y=2163; } nxt = Pin( x, nxt ); //8
if ( loc == nxt ){ name = "Buccaneer's Den"; x=2644; y=2213; } nxt = Pin( x, nxt ); //9
if ( loc == nxt ){ name = "Magincia"; x=3429; y=2427; } nxt = Pin( x, nxt ); //10
if ( loc == nxt ){ name = "Moonglow"; x=4153; y=1982; } nxt = Pin( x, nxt ); //11
if ( loc == nxt ){ name = "Lyceum"; d = 1; x=3865; y=1627; } nxt = Pin( x, nxt ); //12
if ( loc == nxt ){ name = "Zoo"; x=4048; y=1681; } nxt = Pin( x, nxt ); //13
if ( x < 1 ){ hue++; }
if ( loc == nxt ){ name = "Deceit"; d = 2; x=4194; y=1308; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Despise"; x=1649; y=1223; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Destard"; x=1536; y=2636; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Wrong"; x=2403; y=625; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Covetous"; x=2888; y=658; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Shame"; x=1383; y=1741; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Hythloth"; x=4240; y=3397; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Stygian Abyss"; d = 1; x=4209; y=2962; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Terathan Keep"; x=5298; y=1132; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Ancient Pyramid"; x=5494; y=678; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Wailing Halls"; x=1548; y=1081; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Exodus Ruins"; x=669; y=3480; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Silent Tomb"; d = 1; x=2048; y=1935; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Deceit"; d = 2; x=4194; y=1308; } nxt = Pin( x, nxt ); //14
if ( loc == nxt ){ name = "Despise"; x=1649; y=1223; } nxt = Pin( x, nxt ); //15
if ( loc == nxt ){ name = "Destard"; x=1536; y=2636; } nxt = Pin( x, nxt ); //16
if ( loc == nxt ){ name = "Wrong"; x=2403; y=625; } nxt = Pin( x, nxt ); //17
if ( loc == nxt ){ name = "Covetous"; x=2888; y=658; } nxt = Pin( x, nxt ); //18
if ( loc == nxt ){ name = "Shame"; x=1383; y=1741; } nxt = Pin( x, nxt ); //19
if ( loc == nxt ){ name = "Hythloth"; x=4240; y=3397; } nxt = Pin( x, nxt ); //20
if ( loc == nxt ){ name = "Stygian Abyss"; d = 1; x=4209; y=2962; } nxt = Pin( x, nxt ); //21
if ( loc == nxt ){ name = "Terathan Keep"; x=5298; y=1132; } nxt = Pin( x, nxt ); //22
if ( loc == nxt ){ name = "Ancient Pyramid"; x=5494; y=678; } nxt = Pin( x, nxt ); //23
if ( loc == nxt ){ name = "Wailing Halls"; x=1548; y=1081; } nxt = Pin( x, nxt ); //24
if ( loc == nxt ){ name = "Exodus Ruins"; x=669; y=3480; } nxt = Pin( x, nxt ); //25
if ( loc == nxt ){ name = "Silent Tomb"; d = 1; x=2048; y=1935; } nxt = Pin( x, nxt ); //26
if ( x < 1 ){ hue++; s=0; }
if ( loc == nxt ){ name = "Deep Forest"; x=1081; y=1110; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Lock Lake"; x=2453; y=1301; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Lost Hope Bay"; x=2569; y=720; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "High Steppes"; x=2297; y=885; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Bog of Desolation"; x=1925; y=2381; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Brittany Bay"; x=2017; y=1721; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Drylands"; x=3685; y=1017; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Bloody Plains"; x=3033; y=825; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Isle of the Avatar"; x=3951; y=3545; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Terfin"; x=3419; y=3189; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Abandoned Isles"; x=1325; y=3440; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Deadman Isles"; x=2437; y=3273; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Valorian Isles"; x=997; y=2641; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Spiritwood"; x=1061; y=2001; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Isle of Fire"; x=537; y=3273; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Verity Isle"; x=4053; y=1801; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Dagger Isle"; x=4141; y=960; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Janus Isle"; x=4268; y=1245; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Spektran"; x=3193; y=3001; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Cape of Heroes"; x=1770; y=3161; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Serpent Isle"; x=5277; y=858; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Restful Dunes"; x=6084; y=2237; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Daemon Islands"; x=4888; y=2105; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Isles of the Dead"; x=2185; y=1928; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Deep Forest"; x=1081; y=1110; } nxt = Pin( x, nxt ); //27
if ( loc == nxt ){ name = "Lock Lake"; x=2453; y=1301; } nxt = Pin( x, nxt ); //28
if ( loc == nxt ){ name = "Lost Hope Bay"; x=2569; y=720; } nxt = Pin( x, nxt ); //29
if ( loc == nxt ){ name = "High Steppes"; x=2297; y=885; } nxt = Pin( x, nxt ); //30
if ( loc == nxt ){ name = "Bog of Desolation"; x=1925; y=2381; } nxt = Pin( x, nxt ); //31
if ( loc == nxt ){ name = "Brittany Bay"; x=2017; y=1721; } nxt = Pin( x, nxt ); //32
if ( loc == nxt ){ name = "Drylands"; x=3685; y=1017; } nxt = Pin( x, nxt ); //33
if ( loc == nxt ){ name = "Bloody Plains"; x=3033; y=825; } nxt = Pin( x, nxt ); //34
if ( loc == nxt ){ name = "Isle of the Avatar"; x=3951; y=3545; } nxt = Pin( x, nxt ); //35
if ( loc == nxt ){ name = "Terfin"; x=3419; y=3189; } nxt = Pin( x, nxt ); //36
if ( loc == nxt ){ name = "Abandoned Isles"; x=1325; y=3440; } nxt = Pin( x, nxt ); //37
if ( loc == nxt ){ name = "Deadman Isles"; x=2437; y=3273; } nxt = Pin( x, nxt ); //38
if ( loc == nxt ){ name = "Valorian Isles"; x=997; y=2641; } nxt = Pin( x, nxt ); //39
if ( loc == nxt ){ name = "Spiritwood"; x=1061; y=2001; } nxt = Pin( x, nxt ); //40
if ( loc == nxt ){ name = "Isle of Fire"; x=537; y=3273; } nxt = Pin( x, nxt ); //41
if ( loc == nxt ){ name = "Verity Isle"; x=4053; y=1801; } nxt = Pin( x, nxt ); //42
if ( loc == nxt ){ name = "Dagger Isle"; x=4141; y=960; } nxt = Pin( x, nxt ); //43
if ( loc == nxt ){ name = "Janus Isle"; x=4268; y=1245; } nxt = Pin( x, nxt ); //44
if ( loc == nxt ){ name = "Spektran"; x=3193; y=3001; } nxt = Pin( x, nxt ); //45
if ( loc == nxt ){ name = "Cape of Heroes"; x=1770; y=3161; } nxt = Pin( x, nxt ); //46
if ( loc == nxt ){ name = "Serpent Isle"; x=5277; y=858; } nxt = Pin( x, nxt ); //47
if ( loc == nxt ){ name = "Restful Dunes"; x=6084; y=2237; } nxt = Pin( x, nxt ); //48
if ( loc == nxt ){ name = "Daemon Islands"; x=4888; y=2105; } nxt = Pin( x, nxt ); //49
if ( loc == nxt ){ name = "Isles of the Dead"; x=2185; y=1928; } nxt = Pin( x, nxt ); //50
if ( x < 1 ){ hue++; s=0; }
if ( loc == nxt ){ name = "Humility"; d = 2; x=4127; y=3000; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Honesty"; x=4137; y=1091; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Sacrifice"; x=3743; y=927; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Justice"; d = 1; x=1653; y=548; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Compassion"; x=2488; y=1482; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Spirituality"; d = 1; x=1003; y=1852; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Valor"; d = 1; x=1244; y=3411; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Honor"; x=1876; y=2824; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Humility"; d = 2; x=4127; y=3000; } nxt = Pin( x, nxt ); //51
if ( loc == nxt ){ name = "Honesty"; x=4137; y=1091; } nxt = Pin( x, nxt ); //52
if ( loc == nxt ){ name = "Sacrifice"; x=3743; y=927; } nxt = Pin( x, nxt ); //53
if ( loc == nxt ){ name = "Justice"; d = 1; x=1653; y=548; } nxt = Pin( x, nxt ); //54
if ( loc == nxt ){ name = "Compassion"; x=2488; y=1482; } nxt = Pin( x, nxt ); //55
if ( loc == nxt ){ name = "Spirituality"; d = 1; x=1003; y=1852; } nxt = Pin( x, nxt ); //56
if ( loc == nxt ){ name = "Valor"; d = 1; x=1244; y=3411; } nxt = Pin( x, nxt ); //57
if ( loc == nxt ){ name = "Honor"; x=1876; y=2824; } nxt = Pin( x, nxt ); //58
if ( x < 1 ){ hue++; s=1; }
if ( loc == nxt ){ name = "Brigands"; x=1165; y=1177; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Hobgoblins"; x=1231; y=1059; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Graveyard"; x=1548; y=1016; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Graveyard"; x=2655; y=524; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Savages"; d = 1; x=5648; y=626; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Savages"; x=5774; y=1301; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Cemetery"; x=3432; y=1041; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Brigands"; x=3074; y=1120; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Orcs"; x=2209; y=819; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Graveyard"; x=547; y=1758; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Ratmen"; x=1291; y=2253; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Brigands"; x=4245; y=1721; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Cemetery"; x=4012; y=1879; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Hobgoblins"; x=5747; y=1869; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Savages"; x=6386; y=1744; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Graveyard"; d = 1; x=3517; y=2363; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Brigands"; x=2078; y=2904; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Cemetery"; d = 2; x=1888; y=2658; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Ratmen"; x=1602; y=2790; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Graveyard"; x=989; y=3025; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Orcs"; x=2349; y=3425; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Cemetery"; x=2203; y=2104; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Spider Cave"; x=739; y=1206; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Brigands"; x=1165; y=1177; } nxt = Pin( x, nxt ); //59
if ( loc == nxt ){ name = "Hobgoblins"; x=1231; y=1059; } nxt = Pin( x, nxt ); //60
if ( loc == nxt ){ name = "Cemetery"; x=1548; y=1016; } nxt = Pin( x, nxt ); //61
if ( loc == nxt ){ name = "Cemetery"; x=2655; y=524; } nxt = Pin( x, nxt ); //62
if ( loc == nxt ){ name = "Savages"; d = 1; x=5648; y=626; } nxt = Pin( x, nxt ); //63
if ( loc == nxt ){ name = "Savages"; x=5774; y=1301; } nxt = Pin( x, nxt ); //64
if ( loc == nxt ){ name = "Graveyard"; x=3432; y=1041; } nxt = Pin( x, nxt ); //65
if ( loc == nxt ){ name = "Brigands"; x=3074; y=1120; } nxt = Pin( x, nxt ); //66
if ( loc == nxt ){ name = "Orcs"; x=2209; y=819; } nxt = Pin( x, nxt ); //67
if ( loc == nxt ){ name = "Cemetery"; x=547; y=1758; } nxt = Pin( x, nxt ); //68
if ( loc == nxt ){ name = "Ratmen"; x=1291; y=2253; } nxt = Pin( x, nxt ); //69
if ( loc == nxt ){ name = "Brigands"; x=4245; y=1721; } nxt = Pin( x, nxt ); //70
if ( loc == nxt ){ name = "Cemetery"; x=4012; y=1879; } nxt = Pin( x, nxt ); //71
if ( loc == nxt ){ name = "Hobgoblins"; x=5747; y=1869; } nxt = Pin( x, nxt ); //72
if ( loc == nxt ){ name = "Savages"; x=6386; y=1744; } nxt = Pin( x, nxt ); //73
if ( loc == nxt ){ name = "Cemetery"; d = 1; x=3517; y=2363; } nxt = Pin( x, nxt ); //74
if ( loc == nxt ){ name = "Brigands"; x=2078; y=2904; } nxt = Pin( x, nxt ); //75
if ( loc == nxt ){ name = "Cemetery"; d = 2; x=1888; y=2658; } nxt = Pin( x, nxt ); //76
if ( loc == nxt ){ name = "Ratmen"; x=1602; y=2790; } nxt = Pin( x, nxt ); //77
if ( loc == nxt ){ name = "Cemetery"; x=989; y=3025; } nxt = Pin( x, nxt ); //78
if ( loc == nxt ){ name = "Orcs"; x=2349; y=3425; } nxt = Pin( x, nxt ); //79
if ( loc == nxt ){ name = "Cemetery"; x=2203; y=2104; } nxt = Pin( x, nxt ); //80
if ( loc == nxt ){ name = "Spider Cave"; x=739; y=1206; } nxt = Pin( x, nxt ); //81
if ( x < 1 ){ hue++; s=0; }
if ( loc == nxt ){ name = "Goblin Keep"; x=1951; y=1274; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Plunderer's Port"; x=6589; y=2370; } nxt = Pin( x, nxt );
if ( loc == nxt ){ name = "Goblin Keep"; x=1951; y=1274; } nxt = Pin( x, nxt ); //82
if ( loc == nxt ){ name = "Plunderer's Port"; x=6589; y=2370; } nxt = Pin( x, nxt ); //83
if ( hue == 0 ){ c = "#FCFF00"; } // YELLOW Towns
else if ( hue == 1 ){ c = "#FF0000"; } // RED Dungeons