412 lines
No EOL
16 KiB
C#
412 lines
No EOL
16 KiB
C#
// Engine r133
|
|
#define RunUo2_0
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using Server;
|
|
using Server.Gumps;
|
|
using Server.Network;
|
|
using Server.Commands;
|
|
|
|
namespace Server.Gumps
|
|
{
|
|
public class SpawnCurrentGump : Gump
|
|
{
|
|
Mobile caller;
|
|
|
|
public static void Initialize()
|
|
{
|
|
#if(RunUo2_0)
|
|
CommandSystem.Register("SpawnCurrent", AccessLevel.Administrator, new CommandEventHandler(SpawnCurrent_OnCommand));
|
|
#else
|
|
Register("SpawnCurrent", AccessLevel.Administrator, new CommandEventHandler(SpawnCurrent_OnCommand));
|
|
#endif
|
|
}
|
|
|
|
[Usage("SpawnCurrent")]
|
|
[Description("Generate PremiumSpawners around the world with a gump.")]
|
|
public static void SpawnCurrent_OnCommand(CommandEventArgs e)
|
|
{
|
|
Mobile from = e.Mobile;
|
|
|
|
if (from.HasGump(typeof(SpawnCurrentGump)))
|
|
from.CloseGump(typeof(SpawnCurrentGump));
|
|
from.SendGump(new SpawnCurrentGump(from));
|
|
}
|
|
|
|
public SpawnCurrentGump(Mobile from) : this()
|
|
{
|
|
caller = from;
|
|
}
|
|
|
|
public void AddBlackAlpha( int x, int y, int width, int height )
|
|
{
|
|
AddImageTiled( x, y, width, height, 2624 );
|
|
AddAlphaRegion( x, y, width, height );
|
|
}
|
|
|
|
public SpawnCurrentGump() : base( 30, 30 )
|
|
{
|
|
this.Closable=true;
|
|
this.Disposable=true;
|
|
this.Dragable=true;
|
|
AddPage(1);
|
|
AddBackground(58, 22, 474, 540, 9200);
|
|
AddImage(305, 306, 1418); // Castle
|
|
AddBlackAlpha(66, 30, 458, 33);
|
|
AddLabel(213, 37, 52, @"SELECT MAPS TO SPAWN");
|
|
AddBlackAlpha(66, 87, 239, 447);
|
|
AddLabel(69, 67, 200, @"DUNGEONS");
|
|
AddLabel(69, 90, 52, @"Blighted Grove");
|
|
AddLabel(69, 112, 52, @"Britain Sewer");
|
|
AddLabel(69, 133, 52, @"Covetous");
|
|
AddLabel(69, 154, 52, @"Deceit");
|
|
AddLabel(69, 174, 52, @"Despise");
|
|
AddLabel(69, 196, 52, @"Destard");
|
|
AddLabel(69, 217, 52, @"Fire");
|
|
AddLabel(69, 237, 52, @"Graveyards");
|
|
AddLabel(69, 258, 52, @"Hythloth");
|
|
AddLabel(69, 280, 52, @"Ice");
|
|
AddLabel(69, 301, 52, @"Khaldun");
|
|
AddLabel(69, 322, 52, @"Orc Caves");
|
|
AddLabel(69, 343, 52, @"Painted Caves");
|
|
AddLabel(69, 363, 52, @"Palace of Paroxysmus");
|
|
AddLabel(69, 384, 52, @"Prism of Light");
|
|
AddLabel(69, 405, 52, @"Sanctuary");
|
|
AddLabel(69, 427, 52, @"Shame");
|
|
AddLabel(69, 448, 52, @"Solen Hive");
|
|
AddLabel(69, 469, 52, @"Terathan Keep");
|
|
AddLabel(69, 489, 52, @"Trinsic Passage");
|
|
AddLabel(69, 510, 52, @"Wrong");
|
|
AddLabel(194, 66, 200, @"Felucca");
|
|
AddCheck(210, 91, 210, 211, true, 201);
|
|
AddCheck(210, 112, 210, 211, true, 202);
|
|
AddCheck(210, 133, 210, 211, true, 203);
|
|
AddCheck(210, 154, 210, 211, true, 204);
|
|
AddCheck(210, 175, 210, 211, true, 205);
|
|
AddCheck(210, 196, 210, 211, true, 206);
|
|
AddCheck(210, 217, 210, 211, true, 207);
|
|
AddCheck(210, 238, 210, 211, true, 208);
|
|
AddCheck(210, 259, 210, 211, true, 209);
|
|
AddCheck(210, 280, 210, 211, true, 210);
|
|
AddCheck(210, 301, 210, 211, true, 228);
|
|
AddCheck(210, 322, 210, 211, true, 212);
|
|
AddCheck(210, 343, 210, 211, true, 214);
|
|
AddCheck(210, 364, 210, 211, true, 215);
|
|
AddCheck(210, 385, 210, 211, true, 216);
|
|
AddCheck(210, 406, 210, 211, true, 217);
|
|
AddCheck(210, 427, 210, 211, true, 219);
|
|
AddCheck(210, 448, 210, 211, true, 220);
|
|
AddCheck(210, 469, 210, 211, true, 221);
|
|
AddCheck(210, 490, 210, 211, true, 224);
|
|
AddCheck(210, 511, 210, 211, true, 227);
|
|
AddLabel(250, 66, 200, @"Trammel");
|
|
AddCheck(268, 91, 210, 211, true, 101);
|
|
AddCheck(268, 112, 210, 211, true, 102);
|
|
AddCheck(268, 133, 210, 211, true, 103);
|
|
AddCheck(268, 154, 210, 211, true, 104);
|
|
AddCheck(268, 175, 210, 211, true, 105);
|
|
AddCheck(268, 196, 210, 211, true, 106);
|
|
AddCheck(268, 217, 210, 211, true, 107);
|
|
AddCheck(268, 238, 210, 211, true, 108);
|
|
AddCheck(268, 259, 210, 211, true, 109);
|
|
AddCheck(268, 280, 210, 211, true, 110);
|
|
//There is no Khaldun in Trammel (ID 128 reserved)
|
|
AddCheck(268, 322, 210, 211, true, 112);
|
|
AddCheck(268, 343, 210, 211, true, 114);
|
|
AddCheck(268, 364, 210, 211, true, 115);
|
|
AddCheck(268, 385, 210, 211, true, 116);
|
|
AddCheck(268, 406, 210, 211, true, 117);
|
|
AddCheck(268, 427, 210, 211, true, 119);
|
|
AddCheck(268, 448, 210, 211, true, 120);
|
|
AddCheck(268, 469, 210, 211, true, 121);
|
|
AddCheck(268, 490, 210, 211, true, 124);
|
|
AddCheck(268, 511, 210, 211, true, 127);
|
|
AddBlackAlpha(311, 87, 213, 70);
|
|
AddLabel(315, 67, 200, @"TOWNS");
|
|
AddLabel(315, 91, 52, @"Animals");
|
|
AddLabel(315, 112, 52, @"People (*)");
|
|
AddLabel(315, 133, 52, @"Vendors");
|
|
AddLabel(413, 66, 200, @"Felucca");
|
|
AddCheck(429, 91, 210, 211, true, 222);
|
|
AddCheck(429, 112, 210, 211, true, 223);
|
|
AddCheck(429, 133, 210, 211, true, 225);
|
|
AddLabel(469, 66, 200, @"Trammel");
|
|
AddCheck(487, 91, 210, 211, true, 122);
|
|
AddCheck(487, 112, 210, 211, true, 123);
|
|
AddCheck(487, 133, 210, 211, true, 125);
|
|
AddBlackAlpha(311, 183, 213, 114);
|
|
AddLabel(315, 162, 200, @"OUTDOORS");
|
|
AddLabel(316, 187, 52, @"Animals");
|
|
AddLabel(316, 207, 52, @"Lost Lands");
|
|
AddLabel(316, 229, 52, @"Spawns");
|
|
AddLabel(316, 249, 52, @"Reagents");
|
|
AddLabel(316, 270, 52, @"Sea Life");
|
|
AddLabel(413, 162, 200, @"Felucca");
|
|
AddCheck(429, 187, 210, 211, true, 226);
|
|
AddCheck(429, 208, 210, 211, true, 211);
|
|
AddCheck(429, 229, 210, 211, true, 213);
|
|
AddCheck(429, 250, 210, 211, true, 229);
|
|
AddCheck(429, 271, 210, 211, true, 218);
|
|
AddLabel(469, 162, 200, @"Trammel");
|
|
AddCheck(487, 187, 210, 211, true, 126);
|
|
AddCheck(487, 208, 210, 211, true, 111);
|
|
AddCheck(487, 229, 210, 211, true, 113);
|
|
AddCheck(487, 250, 210, 211, true, 129);
|
|
AddCheck(487, 271, 210, 211, true, 118);
|
|
AddLabel(316, 305, 200, @"(*) Escortables, Hireables,");
|
|
AddLabel(316, 324, 200, @"Town Criers, Order and Chaos");
|
|
AddLabel(316, 344, 200, @"guards etc.");
|
|
// END
|
|
AddLabel(361, 453, 52, @"Page: 1/2"); //Page
|
|
AddButton(423, 455, 5601, 5605, 0, GumpButtonType.Page, 2); // Change Page
|
|
|
|
//PAGE 2
|
|
AddPage(2);
|
|
AddBackground(58, 22, 474, 540, 9200);
|
|
AddImage(305, 306, 1418); // Castle
|
|
AddBlackAlpha(66, 30, 458, 33);
|
|
AddLabel(213, 37, 52, @"SELECT MAPS TO SPAWN");
|
|
AddBlackAlpha(66, 87, 174, 300);
|
|
AddLabel(74, 67, 200, @"ILSHENAR");
|
|
AddLabel(74, 90, 52, @"Ancient Lair");
|
|
AddLabel(74, 112, 52, @"Ankh");
|
|
AddLabel(74, 133, 52, @"Blood");
|
|
AddLabel(74, 154, 52, @"Exodus");
|
|
AddLabel(74, 174, 52, @"Mushroom");
|
|
AddLabel(74, 196, 52, @"Outdoors");
|
|
AddLabel(74, 217, 52, @"Ratman Cave");
|
|
AddLabel(74, 237, 52, @"Rock");
|
|
AddLabel(74, 258, 52, @"Sorcerers");
|
|
AddLabel(74, 280, 52, @"Spectre");
|
|
AddLabel(74, 301, 52, @"Towns");
|
|
AddLabel(74, 322, 52, @"Twisted Weald");
|
|
AddLabel(74, 343, 52, @"Vendors");
|
|
AddLabel(74, 363, 52, @"Wisp");
|
|
AddCheck(215, 91, 210, 211, true, 301);
|
|
AddCheck(215, 112, 210, 211, true, 302);
|
|
AddCheck(215, 133, 210, 211, true, 303);
|
|
AddCheck(215, 154, 210, 211, true, 304);
|
|
AddCheck(215, 175, 210, 211, true, 305);
|
|
AddCheck(215, 196, 210, 211, true, 306);
|
|
AddCheck(215, 217, 210, 211, true, 307);
|
|
AddCheck(215, 238, 210, 211, true, 308);
|
|
AddCheck(215, 259, 210, 211, true, 309);
|
|
AddCheck(215, 280, 210, 211, true, 310);
|
|
AddCheck(215, 301, 210, 211, true, 311);
|
|
AddCheck(215, 322, 210, 211, true, 314);
|
|
AddCheck(215, 343, 210, 211, true, 312);
|
|
AddCheck(215, 364, 210, 211, true, 313);
|
|
AddBlackAlpha(66, 414, 174, 133);
|
|
AddLabel(74, 393, 200, @"TOKUNO");
|
|
AddLabel(74, 416, 52, @"Fan Dancers Dojo");
|
|
AddLabel(74, 438, 52, @"Outdoors");
|
|
AddLabel(74, 459, 52, @"Towns Life");
|
|
AddLabel(74, 480, 52, @"Vendors");
|
|
AddLabel(74, 500, 52, @"Wild Life");
|
|
AddLabel(74, 522, 52, @"Yomutso Mines");
|
|
AddCheck(215, 417, 210, 211, true, 501);
|
|
AddCheck(215, 438, 210, 211, true, 502);
|
|
AddCheck(215, 459, 210, 211, true, 503);
|
|
AddCheck(215, 480, 210, 211, true, 504);
|
|
AddCheck(215, 501, 210, 211, true, 505);
|
|
AddCheck(215, 522, 210, 211, true, 506);
|
|
AddBlackAlpha(246, 87, 174, 178);
|
|
AddLabel(253, 67, 200, @"MALAS");
|
|
AddLabel(253, 90, 52, @"Bedlam");
|
|
AddLabel(253, 112, 52, @"Citadel");
|
|
AddLabel(253, 133, 52, @"Doom");
|
|
AddLabel(253, 154, 52, @"Labyrinth");
|
|
AddLabel(253, 174, 52, @"North (*)");
|
|
AddLabel(253, 196, 52, @"Orc Forts");
|
|
AddLabel(253, 217, 52, @"South (*)");
|
|
AddLabel(253, 238, 52, @"Vendors");
|
|
AddCheck(394, 91, 210, 211, true, 408);
|
|
AddCheck(394, 112, 210, 211, true, 406);
|
|
AddCheck(394, 133, 210, 211, true, 401);
|
|
AddCheck(394, 154, 210, 211, true, 407);
|
|
AddCheck(394, 175, 210, 211, true, 402);
|
|
AddCheck(394, 196, 210, 211, true, 403);
|
|
AddCheck(394, 217, 210, 211, true, 404);
|
|
AddCheck(394, 238, 210, 211, true, 405);
|
|
AddLabel(428, 91, 200, @"(*) Wild");
|
|
AddLabel(428, 109, 200, @"Animals and");
|
|
AddLabel(428, 129, 200, @"monsters.");
|
|
AddBlackAlpha(246, 292, 174, 117);
|
|
AddLabel(253, 272, 200, @"TER MUR");
|
|
AddLabel(253, 295, 52, @"Abyss");
|
|
AddLabel(253, 316, 52, @"TerMur");
|
|
AddLabel(253, 337, 52, @"Underworld");
|
|
AddLabel(253, 358, 52, @"Vendors");
|
|
AddCheck(394, 296, 210, 211, true, 601);
|
|
AddCheck(394, 317, 210, 211, true, 602);
|
|
AddCheck(394, 338, 210, 211, true, 603);
|
|
AddCheck(394, 359, 210, 211, true, 604);
|
|
//END
|
|
AddLabel(381, 453, 52, @"Page: 2/2"); //Page
|
|
AddButton(361, 455, 5603, 5607, 0, GumpButtonType.Page, 1); //Change Page
|
|
AddButton(282, 452, 240, 239, 1, GumpButtonType.Reply, 0); // Apply
|
|
}
|
|
|
|
public static void SpawnThis( Mobile from, List<int> ListSwitches, int switche, int map, string mapfile)
|
|
{
|
|
string folder = "";
|
|
|
|
if( map == 1 )
|
|
folder = "felucca";
|
|
else if( map == 2)
|
|
folder = "trammel";
|
|
else if( map == 3)
|
|
folder = "ilshenar";
|
|
else if( map == 4)
|
|
folder = "malas";
|
|
else if( map == 5)
|
|
folder = "tokuno";
|
|
else if( map == 6)
|
|
folder = "termur";
|
|
|
|
string prefix = Server.Commands.CommandSystem.Prefix;
|
|
|
|
if( ListSwitches.Contains( switche ) == true )
|
|
CommandSystem.Handle( from, String.Format( "{0}Spawngen {1}/{2}.map", prefix, folder, mapfile ) );
|
|
}
|
|
|
|
public override void OnResponse(NetState sender, RelayInfo info)
|
|
{
|
|
Mobile from = sender.Mobile;
|
|
|
|
switch(info.ButtonID)
|
|
{
|
|
case 0: //Closed or Cancel
|
|
{
|
|
break;
|
|
}
|
|
default:
|
|
{
|
|
// Make sure that the APPLY button was pressed
|
|
if( info.ButtonID == 1 )
|
|
{
|
|
// Get the array of switches selected
|
|
List<int> Selections = new List<int>( info.Switches );
|
|
|
|
//TRAMMEL
|
|
from.Say( "SPAWNING TRAMMEL..." );
|
|
// DUNGEONS
|
|
SpawnThis(from, Selections, 101, 2, "BlightedGrove");
|
|
SpawnThis(from, Selections, 102, 2, "BritainSewer");
|
|
SpawnThis(from, Selections, 103, 2, "Covetous");
|
|
SpawnThis(from, Selections, 104, 2, "Deceit");
|
|
SpawnThis(from, Selections, 105, 2, "Despise");
|
|
SpawnThis(from, Selections, 106, 2, "Destard");
|
|
SpawnThis(from, Selections, 107, 2, "Fire");
|
|
SpawnThis(from, Selections, 108, 2, "Graveyards");
|
|
SpawnThis(from, Selections, 109, 2, "Hythloth");
|
|
SpawnThis(from, Selections, 110, 2, "Ice");
|
|
//There is no Khaldun (118)
|
|
SpawnThis(from, Selections, 112, 2, "OrcCaves");
|
|
SpawnThis(from, Selections, 114, 2, "PaintedCaves");
|
|
SpawnThis(from, Selections, 115, 2, "PalaceOfParoxysmus");
|
|
SpawnThis(from, Selections, 116, 2, "PrismOfLight");
|
|
SpawnThis(from, Selections, 117, 2, "Sanctuary");
|
|
SpawnThis(from, Selections, 119, 2, "Shame");
|
|
SpawnThis(from, Selections, 120, 2, "SolenHive");
|
|
SpawnThis(from, Selections, 121, 2, "TerathanKeep");
|
|
SpawnThis(from, Selections, 124, 2, "TrinsicPassage");
|
|
SpawnThis(from, Selections, 127, 2, "Wrong");
|
|
//TOWNS
|
|
SpawnThis(from, Selections, 122, 2, "TownsLife");
|
|
SpawnThis(from, Selections, 123, 2, "TownsPeople");
|
|
SpawnThis(from, Selections, 125, 2, "Vendors");
|
|
//OUTDOORS
|
|
SpawnThis(from, Selections, 126, 2, "WildLife");
|
|
SpawnThis(from, Selections, 111, 2, "LostLands");
|
|
SpawnThis(from, Selections, 113, 2, "Outdoors");
|
|
SpawnThis(from, Selections, 129, 2, "Reagents");
|
|
SpawnThis(from, Selections, 118, 2, "SeaLife");
|
|
|
|
//FELUCCA
|
|
from.Say( "SPAWNING FELUCCA..." );
|
|
// DUNGEONS
|
|
SpawnThis(from, Selections, 201, 1, "BlightedGrove");
|
|
SpawnThis(from, Selections, 202, 1, "BritainSewer");
|
|
SpawnThis(from, Selections, 203, 1, "Covetous");
|
|
SpawnThis(from, Selections, 204, 1, "Deceit");
|
|
SpawnThis(from, Selections, 205, 1, "Despise");
|
|
SpawnThis(from, Selections, 206, 1, "Destard");
|
|
SpawnThis(from, Selections, 207, 1, "Fire");
|
|
SpawnThis(from, Selections, 208, 1, "Graveyards");
|
|
SpawnThis(from, Selections, 209, 1, "Hythloth");
|
|
SpawnThis(from, Selections, 210, 1, "Ice");
|
|
SpawnThis(from, Selections, 229, 1, "Khaldun");
|
|
SpawnThis(from, Selections, 212, 1, "OrcCaves");
|
|
SpawnThis(from, Selections, 214, 1, "PaintedCaves");
|
|
SpawnThis(from, Selections, 215, 1, "PalaceOfParoxysmus");
|
|
SpawnThis(from, Selections, 216, 1, "PrismOfLight");
|
|
SpawnThis(from, Selections, 217, 1, "Sanctuary");
|
|
SpawnThis(from, Selections, 219, 1, "Shame");
|
|
SpawnThis(from, Selections, 220, 1, "SolenHive");
|
|
SpawnThis(from, Selections, 221, 1, "TerathanKeep");
|
|
SpawnThis(from, Selections, 224, 1, "TrinsicPassage");
|
|
SpawnThis(from, Selections, 227, 1, "Wrong");
|
|
//TOWNS
|
|
SpawnThis(from, Selections, 222, 1, "TownsLife");
|
|
SpawnThis(from, Selections, 223, 1, "TownsPeople");
|
|
SpawnThis(from, Selections, 225, 1, "Vendors");
|
|
//OUTDOORS
|
|
SpawnThis(from, Selections, 226, 1, "WildLife");
|
|
SpawnThis(from, Selections, 211, 1, "LostLands");
|
|
SpawnThis(from, Selections, 213, 1, "Outdoors");
|
|
SpawnThis(from, Selections, 229, 1, "Reagents");
|
|
SpawnThis(from, Selections, 218, 1, "SeaLife");
|
|
|
|
//ILSHENAR
|
|
from.Say( "SPAWNING ILSHENAR..." );
|
|
SpawnThis(from, Selections, 301, 3, "Ancientlair");
|
|
SpawnThis(from, Selections, 302, 3, "Ankh");
|
|
SpawnThis(from, Selections, 303, 3, "Blood");
|
|
SpawnThis(from, Selections, 304, 3, "Exodus");
|
|
SpawnThis(from, Selections, 305, 3, "Mushroom");
|
|
SpawnThis(from, Selections, 306, 3, "Outdoors");
|
|
SpawnThis(from, Selections, 307, 3, "Ratmancave");
|
|
SpawnThis(from, Selections, 308, 3, "Rock");
|
|
SpawnThis(from, Selections, 309, 3, "Sorcerers");
|
|
SpawnThis(from, Selections, 310, 3, "Spectre");
|
|
SpawnThis(from, Selections, 311, 3, "Towns");
|
|
SpawnThis(from, Selections, 314, 3, "TwistedWeald");
|
|
SpawnThis(from, Selections, 312, 3, "Vendors");
|
|
SpawnThis(from, Selections, 313, 3, "Wisp");
|
|
|
|
//MALAS
|
|
from.Say( "SPAWNING MALAS..." );
|
|
SpawnThis(from, Selections, 408, 4, "Bedlam");
|
|
SpawnThis(from, Selections, 406, 4, "Citadel");
|
|
SpawnThis(from, Selections, 401, 4, "Doom");
|
|
SpawnThis(from, Selections, 407, 4, "Labyrinth");
|
|
SpawnThis(from, Selections, 402, 4, "North");
|
|
SpawnThis(from, Selections, 403, 4, "OrcForts");
|
|
SpawnThis(from, Selections, 404, 4, "South");
|
|
SpawnThis(from, Selections, 405, 4, "Vendors");
|
|
|
|
//TOKUNO
|
|
from.Say( "SPAWNING TOKUNO..." );
|
|
SpawnThis(from, Selections, 501, 5, "FanDancersDojo");
|
|
SpawnThis(from, Selections, 502, 5, "Outdoors");
|
|
SpawnThis(from, Selections, 503, 5, "TownsLife");
|
|
SpawnThis(from, Selections, 504, 5, "Vendors");
|
|
SpawnThis(from, Selections, 505, 5, "WildLife");
|
|
SpawnThis(from, Selections, 506, 5, "YomutsoMines");
|
|
|
|
//TER MUR
|
|
from.Say( "SPAWNING TER MUR..." );
|
|
SpawnThis(from, Selections, 601, 6, "Abyss");
|
|
SpawnThis(from, Selections, 602, 6, "TerMur");
|
|
SpawnThis(from, Selections, 603, 6, "Underworld");
|
|
SpawnThis(from, Selections, 604, 6, "Vendors");
|
|
|
|
from.Say( "SPAWN GENERATION COMPLETED" );
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |