public override void OnResponse(NetState state, RelayInfo info) { if (m_Spawner.Deleted || state.Mobile.AccessLevel < AccessLevel.GameMaster) { return; } switch (info.ButtonID) { case 0: // Closed { return; } case 1: // Apply { m_Spawner.SpawnNames = CreateArray(info, state.Mobile); break; } case 2: // Bring to Home { m_Spawner.BringToHome(); break; } case 3: // Total Respawn { m_Spawner.Respawn(); break; } default: { int buttonID = info.ButtonID - 4; int index = buttonID / 2; int type = buttonID % 2; TextRelay entry = info.GetTextEntry(index); if (entry != null && entry.Text.Length > 0) { if (type == 0) // Spawn creature { m_Spawner.Spawn(entry.Text); } else // Remove creatures { m_Spawner.RemoveSpawned(entry.Text); } m_Spawner.SpawnNames = CreateArray(info, state.Mobile); } break; } } state.Mobile.SendGump(new SpawnerGump(m_Spawner)); }
public override void OnResponse(NetState state, RelayInfo info) { if (m_Spawner.Deleted) { return; } Mobile from = state.Mobile; int val = info.ButtonID - 1; if (val < 0) { return; } int type = val % 10; int index = val / 10; switch (type) { case 0: //Cancel return; case 1: { switch (index) { case 0: { if (m_Spawner.Entries != null && m_Page > 0) { m_Page--; m_Entry = null; } break; } case 1: { if (m_Spawner.Entries != null && (m_Page + 1) * 13 <= m_Spawner.Entries.Count) { m_Page++; m_Entry = null; } break; } case 2: //Okay { CreateArray(info, state.Mobile, m_Spawner); return; } case 3: { m_Spawner.BringToHome(); break; } case 4: // Complete respawn { m_Spawner.Respawn(); break; } case 5: { CreateArray(info, state.Mobile, m_Spawner); break; } } break; } case 2: { int entryindex = (index / 2) + (m_Page * 13); int buttontype = index % 2; if (entryindex >= 0 && entryindex < m_Spawner.Entries.Count) { SpawnerEntry entry = m_Spawner.Entries[entryindex]; if (buttontype == 0) // Spawn creature { if (m_Entry != null && m_Entry == entry) { m_Entry = null; } else { m_Entry = entry; } } else // Remove creatures { m_Spawner.RemoveSpawn(entryindex); } } CreateArray(info, state.Mobile, m_Spawner); break; } } if (m_Entry != null && m_Spawner.Entries.Contains(m_Entry)) { state.Mobile.SendGump(new SpawnerGump(m_Spawner, m_Entry, m_Page)); } else { state.Mobile.SendGump(new SpawnerGump(m_Spawner, null, m_Page)); } }
public override void OnResponse(NetState state, RelayInfo info) { if (m_Spawner.Deleted) { return; } switch (info.ButtonID) { case 0: // Closed { break; } case 1: // Okay { m_Spawner.CreaturesName = CreateArray(info, state.Mobile); break; } case 2: // Bring everything home { m_Spawner.BringToHome(); break; } case 3: // Complete respawn { m_Spawner.Respawn(); break; } default: { int buttonID = info.ButtonID - 4; int index = buttonID / 2; int type = buttonID % 2; TextRelay entry = info.GetTextEntry(index); if (entry != null && entry.Text.Length > 0) { if (type == 0) // Spawn creature { m_Spawner.Spawn(entry.Text); } else // Remove creatures { m_Spawner.RemoveCreatures(entry.Text); } m_Spawner.CreaturesName = CreateArray(info, state.Mobile); } break; } } }
private static void MakeSpawner( string[] types, int x, int y, Map map ) { if ( types.Length == 0 ) return; int z = GetSpawnerZ( x, y, map ); ClearSpawners( x, y, z, map ); for ( int i = 0; i < types.Length; ++i ) { bool isGuildmaster = ( types[i].EndsWith( "Guildmaster" ) ); Spawner sp = new Spawner( types[i] ); if ( isGuildmaster ) sp.Count = 1; else sp.Count = NPCCount; sp.MinDelay = MinTime; sp.MaxDelay = MaxTime; sp.Team = Team; sp.HomeRange = HomeRange; sp.MoveToWorld( new Point3D( x, y, z ), map ); if ( TotalRespawn ) { sp.Respawn(); sp.BringToHome(); } ++m_Count; } }
public override void OnResponse(NetState state, RelayInfo info) { if (m_Spawner.Deleted || state.Mobile.AccessLevel < AccessLevel.GameMaster) { return; } switch (info.ButtonID) { case 0: // Closed { return; } case 1: // Apply { UpdateSpawnObjects(info, state.Mobile); break; } case 2: // Bring to Home { m_Spawner.BringToHome(); break; } case 3: // Total Respawn { m_Spawner.Respawn(); break; } case 1000: { if (m_Spawner.Group) { m_Spawner.Group = false; } else { m_Spawner.Group = true; } break; } case 1025: { state.Mobile.SendGump(new PropertiesGump(state.Mobile, m_Spawner)); break; } case 1500: { if (m_Spawner.Running) { m_Spawner.Running = false; } else { m_Spawner.Running = true; } break; } case 1750: { m_Spawner.RemoveSpawned(); break; } default: { int buttonID = info.ButtonID - 4; int index = buttonID / 2; int type = buttonID % 2; TextRelay entry = info.GetTextEntry(index); if (entry != null && entry.Text.Length > 0) { UpdateSpawnObjects(info, state.Mobile); if (type == 0) // Spawn creature { m_Spawner.Spawn(index); } else // Remove creatures { m_Spawner.RemoveSpawned(index); } } break; } } state.Mobile.SendGump(new SpawnerGump(m_Spawner)); }