コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
        }