public static bool InISpawn(Player plr, ref List <string> values) { int entry = GetInt(ref values); int bossid = GetInt(ref values); int spawngroup = GetInt(ref values); int realm = GetInt(ref values); plr.UpdateWorldPosition(); Instance_Spawn spawn = new Instance_Spawn(); // "Spawn a Instance NPC <object id> <bossid> <spawngroup> <realm>" spawn.Instance_spawns_ID = Guid.NewGuid().ToString(); spawn.Entry = (uint)entry; spawn.WorldO = (uint)plr._Value.WorldO; spawn.WorldY = plr._Value.WorldY; spawn.WorldZ = plr._Value.WorldZ; spawn.WorldX = plr._Value.WorldX; spawn.ZoneID = plr.Zone.ZoneId; spawn.SpawnGroupID = (uint)spawngroup; spawn.ConnectedBossID = (uint)bossid; spawn.Realm = (byte)realm; WorldMgr.Database.AddObject(spawn); return(true); }
/// <summary> /// Converts selected Object to a Instance spawn <objective id> /// </summary> /// <param name="plr">Player that initiated the command</param> /// <param name="values">List of command arguments (after command name)</param> /// <returns>True if command was correctly handled, false if operation was canceled</returns> public static bool InstanceConvert(Player plr, ref List <string> values) { //<bossid> <spawngroup> <realm> int bossid = GetInt(ref values); int spawngroup = GetInt(ref values); int realm = GetInt(ref values); //creatures only atm Object obj = GetObjectTarget(plr); if (!obj.IsCreature()) { return(false); } obj.Dispose(); Creature_spawn spawn = obj.GetCreature().Spawn; WorldMgr.Database.DeleteObject(spawn); Instance_Spawn newSpawn = new Instance_Spawn(); newSpawn.Instance_spawns_ID = Guid.NewGuid().ToString(); newSpawn.Entry = spawn.Entry; newSpawn.WorldO = (ushort)spawn.WorldO; newSpawn.WorldY = spawn.WorldY; newSpawn.WorldZ = spawn.WorldZ; newSpawn.WorldX = spawn.WorldX; newSpawn.ZoneID = (ushort)spawn.ZoneId; newSpawn.Emote = spawn.Emote; newSpawn.Level = spawn.Level; newSpawn.SpawnGroupID = (uint)spawngroup; newSpawn.ConnectedBossID = (uint)bossid; newSpawn.Realm = (byte)realm; WorldMgr.Database.AddObject(newSpawn); return(true); }