141 lines
No EOL
4.2 KiB
C#
141 lines
No EOL
4.2 KiB
C#
using System;
|
|
using Server;
|
|
using Server.Mobiles;
|
|
using Server.Network;
|
|
using Server.Regions;
|
|
using Server.Items;
|
|
|
|
namespace Server.Misc
|
|
{
|
|
class RegionMusic
|
|
{
|
|
public static bool isLand( Region region )
|
|
{
|
|
if ( ( region.IsDefault || region.Name == null || region.Name == "" ) )
|
|
return true;
|
|
|
|
return false;
|
|
}
|
|
|
|
public static void MusicRegion( Mobile from, Map map, Point3D loc, Point3D old )
|
|
{
|
|
Region regOld = Region.Find( old, map );
|
|
Region regNew = Region.Find( loc, map );
|
|
bool changeMusic = true;
|
|
|
|
if ( regOld != regNew )
|
|
{
|
|
if ( ( regNew is BuildingRegion && regOld is InnRegion ) ||
|
|
( regNew is InnRegion && regOld is BuildingRegion ) )
|
|
{ changeMusic = true; }
|
|
else if (
|
|
regNew is TreasureRegion || regOld is TreasureRegion ||
|
|
regNew is UnderworldEntrance || regOld is UnderworldEntrance ||
|
|
regNew is GardenRegion || regOld is GardenRegion ||
|
|
regNew is BuildingRegion || regOld is BuildingRegion ||
|
|
regNew is GateRegion || regOld is GateRegion ||
|
|
regNew is ShrineRegion || regOld is ShrineRegion ||
|
|
regNew is HouseRegion || regOld is HouseRegion )
|
|
{ changeMusic = false; }
|
|
else if (
|
|
( regNew is OutskirtRegion && regOld is TownRegion ) ||
|
|
( regNew is TownRegion && regOld is OutskirtRegion )
|
|
)
|
|
{ changeMusic = false; }
|
|
|
|
if ( changeMusic )
|
|
{
|
|
MusicName toPlay = LandMusic[Utility.Random(LandMusic.Length)];
|
|
|
|
if ( regNew is CaveRegion )
|
|
toPlay = CaveMusic[Utility.Random(CaveMusic.Length)];
|
|
else if ( regNew is DungeonRegion )
|
|
toPlay = DungeonMusic[Utility.Random(DungeonMusic.Length)];
|
|
else if ( regNew is GraveRegion )
|
|
toPlay = DungeonMusic[Utility.Random(DungeonMusic.Length)];
|
|
else if ( regNew is DangerRegion )
|
|
toPlay = DungeonMusic[Utility.Random(DungeonMusic.Length)];
|
|
else if ( regNew is PirateRegion )
|
|
toPlay = CaveMusic[Utility.Random(CaveMusic.Length)];
|
|
else if ( regNew is InnRegion )
|
|
toPlay = TavernMusic[Utility.Random(TavernMusic.Length)];
|
|
else if ( regNew is BuildingRegion )
|
|
toPlay = VillageMusic[Utility.Random(VillageMusic.Length)];
|
|
else if ( regNew is TownRegion )
|
|
toPlay = VillageMusic[Utility.Random(VillageMusic.Length)];
|
|
else if ( regNew is OutskirtRegion )
|
|
toPlay = VillageMusic[Utility.Random(VillageMusic.Length)];
|
|
|
|
from.Send(PlayMusic.GetInstance(toPlay));
|
|
}
|
|
}
|
|
}
|
|
|
|
public static MusicName[] TavernMusic = new MusicName[]
|
|
{
|
|
MusicName.Tavern01,
|
|
MusicName.Tavern02,
|
|
MusicName.Tavern03,
|
|
MusicName.Tavern04,
|
|
MusicName.Tavern05
|
|
};
|
|
|
|
public static MusicName[] VillageMusic = new MusicName[]
|
|
{
|
|
MusicName.Britain1,
|
|
MusicName.Bucsden,
|
|
MusicName.Jhelom,
|
|
MusicName.Magincia,
|
|
MusicName.Minoc,
|
|
MusicName.Ocllo,
|
|
MusicName.Serpents,
|
|
MusicName.Skarabra,
|
|
MusicName.Trinsic,
|
|
MusicName.Vesper,
|
|
MusicName.Wind,
|
|
MusicName.Yew,
|
|
MusicName.InTown01,
|
|
MusicName.Nujelm,
|
|
MusicName.Cove,
|
|
MusicName.Moonglow
|
|
};
|
|
|
|
public static MusicName[] CaveMusic = new MusicName[]
|
|
{
|
|
MusicName.Create1,
|
|
MusicName.OldUlt02,
|
|
MusicName.OldUlt03,
|
|
MusicName.OldUlt05,
|
|
MusicName.OldUlt06,
|
|
MusicName.Samlethe,
|
|
MusicName.Cave01,
|
|
MusicName.Jungle_a,
|
|
MusicName.Swamp_a,
|
|
MusicName.Jungle_a
|
|
};
|
|
|
|
public static MusicName[] DungeonMusic = new MusicName[]
|
|
{
|
|
MusicName.OldUlt03,
|
|
MusicName.OldUlt05,
|
|
MusicName.Samlethe,
|
|
MusicName.Dungeon9,
|
|
MusicName.Dungeon2,
|
|
MusicName.Dungeon3,
|
|
MusicName.Approach
|
|
};
|
|
|
|
public static MusicName[] LandMusic = new MusicName[]
|
|
{
|
|
MusicName.Create1,
|
|
MusicName.OldUlt02,
|
|
MusicName.OldUlt03,
|
|
MusicName.Linelle,
|
|
MusicName.Forest_a,
|
|
MusicName.Mountn_a,
|
|
MusicName.Plains_a,
|
|
MusicName.Victory,
|
|
MusicName.Travel
|
|
};
|
|
}
|
|
} |